Введение
Fluent Bit
— это инструмент с открытым исходным кодом и мультиплатформенный инструмент для обработки и распределения логов.
В наши дни данные поступают из различных источников, и Fluent Bit может помочь вам агрегировать и обрабатывать все ваши журналы данных.
Теперь Manticore также поддерживает использование Fluent Bit в качестве канала обработки. Это позволяет отправлять собранные и преобразованные данные в Manticore.
Давайте рассмотрим простой пример индексации dpkg.log
, стандартного файла журнала менеджера пакетов Debian. Сам журнал имеет простую структуру, как показано ниже:
2023-05-31 10:42:55 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
2023-05-31 10:42:55 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
2023-05-31 10:42:55 status installed libc-bin:amd64 2.31-0ubuntu9.9
2023-05-31 10:42:55 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
Конфигурация
Вот пример файла конфигурации Fluent, который можно использовать для работы с Manticore:
[SERVICE]
flush 1
daemon On
log_level info
[INPUT]
name tail
path /var/log/dpkg.log
inotify_watcher false
read_from_head true
[OUTPUT]
name es
match *
host 127.0.0.1
port 9308
index dpkg_log
Обратите внимание, что наш пример предназначен для запуска в Docker, поэтому мы запускаем FluentBit в режиме демона и отключаем опцию INPUT inotify_watcher, чтобы избежать возможных проблем с средой Docker, которые могут привести к ошибкам. Также мы предполагаем, что Manticore запущен на стандартном http порту 9308.
Результаты
Теперь вы можете просто запустить Fluentbit, используя приведенную выше конфигурацию. Данные из журнала dpkg будут переданы в Manticore и правильно проиндексированы.
Вот итоговая схема созданной таблицы и пример вставленного документа:
mysql> DESCRIBE dpkg_log;
+-------------+--------+----------------+
| Field | Type | Properties |
+-------------+--------+----------------+
| id | bigint | |
| @timestamp | text | indexed stored |
| log | text | indexed stored |
+-------------+--------+----------------+
mysql> SELECT * FROM dpkg_log LIMIT 3\G
*************************** 1. row ***************************
id: 7856533729353662465
@timestamp: 2023-08-04T15:09:21.191Z
log: 2023-06-05 14:03:04 startup archives install
*************************** 2. row ***************************
id: 7856533729353662466
@timestamp: 2023-08-04T15:09:21.191Z
log: 2023-06-05 14:03:04 install base-passwd:amd64 <none> 3.5.47
*************************** 3. row ***************************
id: 7856533729353662467
@timestamp: 2023-08-04T15:09:21.191Z
log: 2023-06-05 14:03:04 status half-installed base-passwd:amd64 3.5.47
Заключение
Интеграция Manticore с Fluent Bit предоставляет мощное и эффективное решение для обработки и индексации логов, делая их более доступными и управляемыми для различных приложений. С этой простой конфигурацией и четкими примерами, даже тем, кто новичок в этих инструментах, будет легко начать и воспользоваться надёжными возможностями Manticore и Fluent Bit, работающих вместе. Независимо от того, работаете ли вы со стандартными логами или более сложными источниками данных, это сотрудничество упрощает процесс и открывает новые возможности для эффективного управления данными.