Как отправить логи Python в OpenSearch с использованием Fluent Bit

Введение

Effective log management is essential for monitoring and maintaining applications in today’s data-driven world. OpenSearch, an open-source search and analytics engine, provides robust log aggregation and analysis capabilities. By combining it with Fluent Bit, a lightweight log forwarder, we can efficiently send Python logs to OpenSearch for real-time monitoring and analysis. This guide will walk you through setting up this powerful combination.

Применение

This setup benefits developers and system administrators who need to monitor Python applications in real-time. By sending logs from Python applications to OpenSearch, you can analyze logs, create dashboards, set alerts, and gain valuable insights into your application’s performance and behavior. This approach is scalable and suitable for both small projects and large-scale production environments.

Предварительные требования

Before you begin, make sure you have the following prerequisites in place:

  1. Python установлен: убедитесь, что Python установлен на вашем сервере или локальном компьютере.
  2. Облачный кластер OpenSearch: у вас должны быть права доступа к облачному кластеру OpenSearch. Вы можете создать новый кластер или использовать существующий.
  3. Fluent Bit установлен: Fluent Bit должен быть установлен на сервере или машине, где выполняется ваша Python-аппликация.

Шаг 1 – Установите Python

Первоначально обновите ваше хранение и установите Python. Выполните следующие команды:

sudo apt update
sudo apt install python3

Для проверки установки Python выполните:

python3 --version

Шаг 2 – Настройте Python-логирование

Настройте вашу Python-аппликацию, чтобы записывать сообщения логирования в файл. Вот базовая настройка:

import logging

# Настройка логирования
logging.basicConfig(
    filename='app.log',
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)

# Пример сообщения лога
logging.info('This is a test log message.')

Эта конфигурация записывает сообщения журнала в app.log с временем, уровнем журнала и форматом сообщения.

Шаг 3 – Создание кластера OpenSearch

Если у вас нет кластера OpenSearch, вы можете создать его с помощью интерфейса командной строки DigitalOcean, doctl. Запустите следующую команду:

doctl databases create opensearch-doks --engine opensearch --region your-region --size db-s-1vcpu-2gb --num-nodes 1

Замените your-region на желаемую вами область. Также вы можете использовать контроллер DigitalOcean для создания кластера вручную. Подробности по этому вопросу смотрите в руководстве по созданию кластеров OpenSearch через контроллер.

Шаг 4 – Установка Fluent Bit

Для установки Fluent Bit используйте следующую команду:

curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh

Шаг 5 – Конфигурация Fluent Bit

Создайте конфигурационный файл с именем fluent-bit.conf, определяющий, как Fluent Bit должен читать и передавать логи в OpenSearch. Вот пример конфигурации:

[SERVICE]
    Flush         1
    Daemon        Off
    Log_Level     info

[INPUT]
    Name          tail
    Path          /path/to/your/log/file.log
    Tag           python_logs
    Refresh_Interval 5

[OUTPUT]
    Name          opensearch
    Match         python_logs
    Host          your-opensearch-host
    Port          25060
    HTTP_User     your-username
    HTTP_Passwd   your-password
    Index         your-index-name
    tls           On
    Suppress_Type_Name On
  • Path: указать путь к вашему app.log.
  • Host: замените на ваш host OpenSearch.
  • HTTP_User: имя пользователя OpenSearch.
  • HTTP_Passwd: пароль OpenSearch.
  • Index: имя индекса, где будут храниться логи.

Шаг 6 – Запуск Fluent Bit

Запустите Fluent Bit с конфигурационным файлом:

/opt/fluent-bit/bin/fluent-bit -c fluent-bit.conf

Шаг 7 – проверка логов в OpenSearch

Чтобы убедиться, что логи корректно импортируются, проверьте вашу панель управления OpenSearch. You should see the logs being forwarded from Fluent Bit.

Шаг 8 – Создание модели индекса в панели управления OpenSearch

  1. Войдите в OpenSearch Dashboards с вашими учетными данными.
  2. Разверните левый menю и нажмите на Управление индексами в подразделе Управление.
  3. Кликните на Создать индекс в меню Индексы.
  4. Введите имя индекса, настройте другие настройки по мере необходимости и нажмите Создать.

Заключение

При следовании этим шагам вы установили систему для отправки логов Python в OpenSearch с использованием Fluent Bit. Эта установка позволяет вам эффективно управлять и анализировать логи, помогая вам содержимо и мониторить ваши приложения эффективно. С OpenSearch и Fluent Bit у вас есть мощное решение для реального времени анализа логов и мониторинга, настроенное на соответствие потребностям любого приложения на Python.

Source:
https://www.digitalocean.com/community/tutorials/send-python-logs-to-opensearch-using-fluentbit