BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс Современная архитектура хранилища данных » Эффективное управление журналами Kubernetes с помощью Fluentd и Elasticsearch

Эффективное управление журналами Kubernetes с помощью Fluentd и Elasticsearch

Эффективное управление журналами в Kubernetes может значительно повысить наблюдаемость и оперативную аналитику приложений. Fluentd, сборщик данных с открытым исходным кодом, в сочетании с Elasticsearch, мощным поисковым и аналитическим движком, предлагает превосходное решение по агрегации и анализу журналов из всего кластера Kubernetes. Данная статья посвящена тонкостям настройки стека Fluentd и Elasticsearch, позволяющим обеспечить эффективное управлене журналами.

 

Почему именно Fluentd и Elasticsearch?

Сочетание Fluentd и Elasticsearch в контексте управления логами Kubernetes выгодно выделяется своей бесшовной интеграцией, масштабируемостью и глубиной анализа (по сравнению с другими альтернативными решениями, такими как Logstash, Graylog или Splunk).

Преимущества Fluentd: Fluentd разработан для простоты и эффективностиработы с данными. Он легче Logstash, что значительно  упрощает его развертывание и требует меньших затрат. Его подключаемая архитектура поддерживает сотни входов и выходов, обеспечивая непревзойденную гибкость.

Сильные стороны Elasticsearch: Хотя другие решения, такие как Graylog и Splunk, также предлагают мощные возможности анализа данных, скорость и масштабируемость Elasticsearch, особенно при работе с большими объемами журнальных данных, заметно выделяют его на фоне других. Аналитика в режиме реального времени и широкие возможности полнотекстового поиска позволяют быстрее устранять неполадки и проводить глубокий анализ данных журналов. Кроме того, активное сообщество и экосистема Elasticsearch предлагают множество плагинов, интеграций и ресурсов, которые расширяют его и без того  серьезную функциональность.

По сравнению с Splunk, который может быть дорогостоящим при масштабировании, или Graylog, который предлагает более ограниченный набор интеграций, природа Fluentd и Elasticsearch с открытым исходным кодом гарантирует, что Вы сможете масштабировать свою инфраструктуру по мере необходимости без чрезмерных затрат.

 

В каких случаях целесообразно использовать Fluentd и Elasticsearch?

  • Для централизованного ведения журналов: Если Вам нужно получить единое место для журналов нескольких приложений и сервисов, работающих на нескольких узлах Kubernetes, обратите внимание на Fluentd и Elasticsearch, которые и обеспечат Вам централизованное решение. Эта пара идеально подходит для сред, где понимание взаимодействий и зависимостей между сервисами имеет решающее значение для устранения неполадок и оптимизации работы в целом.
  • В средах с большим объемом логов: Если Ваши приложения генерируют журналы в большом объеме и с высокой скоростью, Вам точно нужны Fluentd, отвечающий за сбор и предварительную обработку журналов, и  высокомасштабируемый Elasticsearch. Он гарантирует, что Ваша система протоколирования справится с наплывом данных без существенных задержек в обработке и анализе журналов.
  • Для анализа журналов в режиме реального времени: Когда требуется понимание производительности приложения и поведения пользователей в реальном времени, аналитические возможности Elasticsearch просто незаменимы. В таких случаях, как мониторинг пользовательских транзакций на платформах электронной коммерции, отслеживание использования API в SaaS-приложениях или оповещение в реальном времени на основе аномалий в журналах, Fluentd и Elasticsearch работают на высшем уровне.
  • Проекты, чувствительные к затратам: Для проектов, где контроль затрат является приоритетом, этот стек с открытым исходным кодом предлагает финансово выгодную альтернативу коммерческим решениям по управлению журналами. Он обеспечивает гибкость, позволяющую оптимизировать развертывание с учетом стоимости без ущерба масштабируемости.

 

 

Учебное пособие: Оптимизация управления журналами в платформе электронной коммерции с помощью Fluentd и Elasticsearch

В этом сценарии описывается то, как платформа электронной коммерции, работающая на Kubernetes, может использовать Fluentd и Elasticsearch для агрегации, анализа и визуализации логов различных сервисов и подсистем для повышения наблюдаемости данных и эффективности принимаемых решений.

Наша платформа электронной коммерции состоит из нескольких микросервисов, включая аутентификацию пользователей, каталог товаров, обработку заказов и интеграцию платежных шлюзов, каждый из которых работает в отдельных подсистемах в кластере Kubernetes. Управление журналами из этих разрозненных источников представляет собой сложную задачу, особенно при диагностике проблем или понимании взаимодействия пользователей между сервисами.

 

Развертывание Elasticsearch для хранения журналов

1. Развертывание Elasticsearch:

Для хранения и анализа логов мы начинаем с настройки кластера Elasticsearch в пространстве имен Kubernetes. Для простоты мы выбрали одноузловую конфигурацию с возможностью масштабирования (по мере необходимости).

Сохраните в файле elasticsearch-deployment.yaml следующие данные:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: elasticsearch
  namespace: logging
spec:
  replicas: 1
  selector:
    matchLabels:
      app: elasticsearch
  template:
    metadata:
      labels:
        app: elasticsearch
    spec:
      containers:
      - name: elasticsearch
        image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3
        ports:
        - containerPort: 9200
          name: es-http
        env:
        - name: discovery.type
          value: single-node

 

Разверните все это совместно с:

kubectl apply -f elasticsearch-deployment.yaml

 

2. Сервис Elasticsearch:

Для того, чтобы Fluentd мог отправлять журналы, представьте Elasticsearch в качестве сервиса:

apiVersion: v1
kind: Service
metadata:
  name: elasticsearch
  namespace: logging
spec:
  selector:
    app: elasticsearch
  ports:
  - port: 9200
    targetPort: es-http

 

Примените совместно с:

kubectl apply -f elasticsearch-service.yaml

 

Интеграция Fluentd для переадресации журналов

Настройка Fluentd:

Мы настраиваем Fluentd на отслеживание журналов контейнеров, фильтрацию ненужных шумов и структурирование данных перед их отправкой в наш сервис Elasticsearch.

Сохраните следующую запись как fluentd-configmap.yaml:

apiVersion: v1
kind: ConfigMap
metadata:
  name: fluentd-config
  namespace: logging
data:
  fluent.conf: |
    <source>
      @type tail
      path: /var/log/containers/*.log
      pos_file: /var/log/fluentd-containers.log.pos
      tag kubernetes.*
      <parse>
        @type json
        time_format %Y-%m-%dT%H:%M:%S.%NZ
      </parse>
    </source>

<filter kubernetes.**>
      @type kubernetes_metadata
    </filter>
    <match kubernetes.**>
      @type elasticsearch
      host elasticsearch.logging.svc.cluster.local
      port 9200
      logstash_format true
      <buffer>
        flush_interval 5s
      </buffer>
    </match>

 

Разверните  Fluentd как DaemonSet:

Наличие экземпляра Fluentd на каждом узле позволяет собирать журналы непосредственно из stdout контейнера, обеспечивая охват всех служб:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluentd
  namespace: logging
spec:
  selector:
    matchLabels:
      name: fluentd
  template:
    metadata:
      labels:
        name: fluentd
    spec:
      containers:
      - name: fluentd
        image: fluent/fluentd-kubernetes-daemonset:v1-debian-elasticsearch
        env:
        - name: FLUENT_ELASTICSEARCH_HOST
          value: "elasticsearch.logging.svc.cluster.local"
        - name: FLUENT_ELASTICSEARCH_PORT
          value: "9200"
        volumeMounts:
        - name: config-volume
          mountPath: /fluentd/etc
      volumes:
      - name: config-volume
        configMap:
          name: fluentd-config

 

Разверните  Fluentd совместно с:

kubectl apply -f fluentd-daemonset.yaml

 

Анализ журналов с помощью Elasticsearch и Kibana

Настройка Kibana для анализа журналов

Поскольку журналы передаются в Elasticsearch с помощью Fluentd, Kibana служит визуальным интерфейсом, который упрощает изучение, визуализацию и анализ этих журналов. Вот как настроить Kibana для работы с Elasticsearch в среде Kubernetes:

 

1. Разверните Kibana:

Сначала разверните Kibana для подключения к службе Elasticsearch. Создайте файл kibana-deployment.yaml со следующей конфигурацией:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana
  namespace: logging
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kibana
  template:
    metadata:
      labels:
        app: kibana
    spec:
      containers:
      - name: kibana
        image: docker.elastic.co/kibana/kibana:7.9.3
        ports:
        - containerPort: 5601
        env:
        - name: ELASTICSEARCH_URL
          value: "http://elasticsearch.logging.svc.cluster.local:9200"

 

2. Разверните Kibana с помощью:

kubectl apply -f kibana-deployment.yaml

 

3.  Представьте Kibana в виде службы:

Чтобы получить доступ к Kibana, откройте ее через сервис Kubernetes. Сохраните следующий файл под именем kibana-service.yaml:

apiVersion: v1
kind: Service
metadata:
  name: kibana
  namespace: logging
spec:
  type: NodePort
  selector:
    app: kibana
  ports:
  - port: 5601
    targetPort: 5601
    nodePort: 30601

 

4. Примените это совместно с:

kubectl apply -f kibana-service.yaml

Эта конфигурация делает Kibana доступной через IP-адрес любого узла кластера по порту 30601.

 

Мониторинг и решение проблем

После настройки Kibana и его подключения к Elasticsearch можно приступать к созданию визуализаций и дашбордов. Вот основные шаги по эффективному использованию Kibana:

1. Создайте индексные паттерны:

Получите доступ к Kibana через http://<NodeIP>:30601.

Перейдите в раздел Management > Index Patterns и создайте новый шаблон индекса, соответствующий индексам, в которых Fluentd хранит журналы (например, logstash-*).

 

2. Создайте визуализацию:

Используйте Kibana > Visualize для создания различных визуализаций, таких как линейные графики, круговые диаграммы распределения ошибок или таблицы с перечнем наиболее часто встречающихся ошибок и т.д.

 

3. Соберите дашборд:

Объедините визуализации в дашборды с помощью Kibana > Dashboard. Например, создайте дашборд- обзор состояния системы, включая понимание использования процессора и памяти, а также показатели ошибок и активности пользователей.

 

4. Установите оповещения:

Функции оповещения в Kibana позволяют настраивать оповещения на основе определенных условий. Например, оповещение о том, что количество ошибок превышает определенный порог, поможет Вам оперативно предпринять все необходимые меры.

 

Заключение

Интеграция Fluentd с Elasticsearch обеспечивает мощное масштабируемое решение для ведения журналов в кластерах Kubernetes. Используя Fluentd для сбора и пересылки логов и Elasticsearch для хранения и анализа логов, Вы сможете получить подробное представление о своих приложениях и инфраструктуре в целом.

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Что делать с ошибками Cluster Block Exception, возникающими в Elasticsearch
Следующая статья →
Бесплатный инструмент для создания и тестирования анализаторов Elasticsearch
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • Ручная обработка заявок на займы в МФО ДоброЗайм была малоэффективной и приводила к высоким затратам по ФОТ отдела верификации и андеррайтинга. При этом время обработки заявок было высоким, как и количество ошибок под влиянием человеческого фактора. Дополнительные сложности создавал сложный документооборот, обусловленный неконсолидированной кредитной историей и скоринговой оценкой. Все это суммарно мешало масштабированию бизнеса МФО.

  • Novikov group – первый российский ресторанный холдинг, основанный в 1991 году. Это команда профессионалов под управлением Аркадия Новикова, реализующая широкий спектр услуг в сфере гостеприимства: от проведения event-мероприятия до управления рестораном, от установления стандартов сервиса до контроля качества готовой продукции, от построения бизнес-плана проекта до реализации франшизы.

  • Банк "Санкт-Петербург" - это универсальный коммерческий банк, предоставляющий полный спектр финансовых услуг для частных и корпоративных клиентов. Банк основан в 1990 году и имеет генеральную лицензию Банка России на осуществление банковских операций. Сеть банка включает более 170 офисов и отделений, а также свыше 1000 банкоматов и терминалов в Санкт-Петербурге, Москве и других регионах.

  • АО «Евросиб СПб–транспортные системы» – оператор контейнерных сервисов с широкой сетью маршрутов на внутрироссийских и международных направлениях. Имеет успешный опыт управления парком фитинговых платформ, а также организации ускоренных контейнерных поездов, в основе которых точное расписание, оптимальные сроки доставки груза и экономическая целесообразность.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.