blog-post

Интеграция Manticore с Fluentbit

Введение

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, работающих вместе. Независимо от того, работаете ли вы со стандартными логами или более сложными источниками данных, это сотрудничество упрощает процесс и открывает новые возможности для эффективного управления данными.

Установить Manticore Search

Установить Manticore Search