Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| software:monitoring:fluent-bit [2025/11/25 22:48] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | software:monitoring:fluent-bit [2025/12/06 21:00] (текущий) – mirocow | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ====== Fluent-Bit ====== | ||
| + | {{ : | ||
| + | |||
| + | FluentBit собирает, | ||
| + | |||
| + | ===== Встроенные парсеры ===== | ||
| + | |||
| + | * docker — поддерживает объединение больших записей логов, разделённых движком контейнера Docker. | ||
| + | * cri — обрабатывает запись лога, генерированную движком контейнера CRI-O, поддерживает объединение записей логов. | ||
| + | * go — обрабатывает записи логов, генерируемые приложением на языке Go, и выполняет объединение, | ||
| + | * python — обрабатывает записи логов, генерируемые приложением на языке Python, и выполняет объединение, | ||
| + | |||
| + | ===== Service ===== | ||
| + | |||
| + | * Flush 5 — интервал (в секундах), | ||
| + | * Daemon Off — указывает, | ||
| + | * Parsers_File parsers.conf — задает файл, в котором находятся определения парсеров (форматов логов). | ||
| + | |||
| + | ===== Input ===== | ||
| + | |||
| + | * Name forward — тип входного плагина, | ||
| + | * Listen 0.0.0.0 — указывает на то, что Fluent Bit будет слушать на всех доступных сетевых интерфейсах; | ||
| + | * Port 24224 — порт, на котором Fluent Bit принимает входящие данные. | ||
| + | |||
| + | <code ini> | ||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | Docker_Mode | ||
| + | Docker_Mode_Flush | ||
| + | Docker_Mode_Parser | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Rotate_Wait | ||
| + | storage.type | ||
| + | Read_from_Head | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | [FILTER] | ||
| + | Name kubernetes | ||
| + | Match kube.* | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | <code ini> | ||
| + | [INPUT[] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | DB / | ||
| + | Parser | ||
| + | Docker_Mode | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Exclude_Path | ||
| + | Path / | ||
| + | Docker_Mode | ||
| + | Docker_Mode_Flush | ||
| + | Docker_Mode_Parser | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Rotate_Wait | ||
| + | storage.type | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | Docker_Mode | ||
| + | Docker_Mode_Flush | ||
| + | Docker_Mode_Parser | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Rotate_Wait | ||
| + | storage.type | ||
| + | Read_from_Head | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Exclude_Path | ||
| + | Path / | ||
| + | Docker_Mode | ||
| + | Docker_Mode_Flush | ||
| + | Docker_Mode_Parser | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Rotate_Wait | ||
| + | Read_from_Head | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Read_from_Head | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | Multiline.parser | ||
| + | # Docker_Mode | ||
| + | # Docker_Mode_Flush | ||
| + | # Docker_Mode_Parser | ||
| + | # | ||
| + | DB / | ||
| + | rotate_wait | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | # | ||
| + | | ||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Path / | ||
| + | Exclude_Path | ||
| + | DB / | ||
| + | multiline.parser docker, cri | ||
| + | Tag kube.* | ||
| + | threaded | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Skip_Empty_Lines On | ||
| + | Refresh_Interval 10 | ||
| + | Rotate_Wait | ||
| + | |||
| + | # Buffering & Storage (https:// | ||
| + | storage.type | ||
| + | </ | ||
| + | |||
| + | <code ini> | ||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Path / | ||
| + | Docker_Mode On | ||
| + | Docker_Mode_Parser python-multiline | ||
| + | </ | ||
| + | |||
| + | <code ini> | ||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Path / | ||
| + | Parser | ||
| + | Tag kube.* | ||
| + | Refresh_Interval 5 | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | DB / | ||
| + | DB.Sync | ||
| + | Ignore_Older 2d | ||
| + | Multiline On | ||
| + | Multiline_Flush 5 | ||
| + | Parser_Firstline first_line | ||
| + | </ | ||
| + | |||
| + | ===== Filter ===== | ||
| + | |||
| + | * Name parser — тип фильтра. Фильтр parser, который применяет парсеры для обработки данных; | ||
| + | * Parser docker — задает парсер для Docker-логов; | ||
| + | * Match _ — задает шаблон для сопоставления входящих данных с фильтром. Символ _ означает, | ||
| + | * Key_Name log — указывает, | ||
| + | * Reserve_Data true — сохранение оригинальных данных после их обработки фильтром; | ||
| + | * Preserve_Key false — после парсинга исходное поле (в данном случае log) будет удалено. | ||
| + | |||
| + | <code ini> | ||
| + | [MULTILINE_PARSER] | ||
| + | name multiline-docker-python | ||
| + | type regex | ||
| + | flush_timeout 3000 | ||
| + | # fluent-bit is not looking at the log field to run the regex below | ||
| + | key_content log | ||
| + | |||
| + | # rules | state name | regex pattern | ||
| + | # ------|---------------|------------------------------------------------------- | ||
| + | rule " | ||
| + | rule " | ||
| + | </ | ||
| + | |||
| + | <code ini> | ||
| + | [PARSER] | ||
| + | Name python-multiline | ||
| + | Format regex | ||
| + | Regex / | ||
| + | Time_Key | ||
| + | Time_Format %F %H:%M:%S,%L | ||
| + | Input: | ||
| + | </ | ||
| + | |||
| + | <code ini> | ||
| + | [PARSER] | ||
| + | Name springboot | ||
| + | Format | ||
| + | Regex | ||
| + | Time_Key | ||
| + | Time_Format %Y-%m-%d %H:%M:%S.%L | ||
| + | |||
| + | [PARSER] | ||
| + | Name | ||
| + | Format | ||
| + | Time_Key | ||
| + | Time_Format | ||
| + | Time_Keep | ||
| + | # Command | ||
| + | # =============|==================|================= | ||
| + | Decode_Field_As | ||
| + | </ | ||
| + | |||
| + | <code ini> | ||
| + | [FILTER] | ||
| + | Name parser | ||
| + | Match | ||
| + | Key_Name | ||
| + | Parser | ||
| + | Parser | ||
| + | |||
| + | [PARSER] | ||
| + | Name | ||
| + | Format regex | ||
| + | Regex ^(?< | ||
| + | Time_Key time | ||
| + | Time_Format %d/ | ||
| + | [PARSER] | ||
| + | Name | ||
| + | Format regex | ||
| + | Regex ^(?< | ||
| + | Time_Key time | ||
| + | Time_Format %d/ | ||
| + | Decode_Field_As | ||
| + | Decode_Field_As | ||
| + | Decode_Field_As | ||
| + | [PARSER] | ||
| + | Name container_firstline | ||
| + | Format | ||
| + | Regex | ||
| + | Time_Key | ||
| + | Time_Format %Y-%m-%dT%H: | ||
| + | [PARSER] | ||
| + | Name docker | ||
| + | Format | ||
| + | Time_Key | ||
| + | Time_Format %Y-%m-%dT%H: | ||
| + | Time_Keep | ||
| + | </ | ||
| + | |||
| + | <code ini> | ||
| + | [MULTILINE_PARSER] | ||
| + | name multiline-regex | ||
| + | type regex | ||
| + | flush_timeout 1000 | ||
| + | |||
| + | |||
| + | # rules | state name | regex pattern | ||
| + | # ------|---------------|----------------------------------|----------- | ||
| + | rule " | ||
| + | rule " | ||
| + | </ | ||
| + | |||
| + | ===== Output ===== | ||
| + | |||
| + | * Name grafana-loki — плагин для отправки данных в систему Grafana Loki, которая занимается сбором и хранением логов; | ||
| + | * Match * — отправляет все данные (все потоки логов); | ||
| + | * Url ${LOKI_URL} — URL, куда отправляются данные, | ||
| + | * RemoveKeys container_id — удаляет ключи container_id из отправляемых данных, | ||
| + | * Labels {service_name=" | ||
| + | * LabelKeys level, source — указывает, | ||
| + | * BatchWait 1s — Fluent Bit ждет 1 секунду перед отправкой данных в батче; | ||
| + | * BatchSize 1001024 — максимальный размер батча для отправки данных — 1 МБ (1001024 байта); | ||
| + | * LineFormat json — отправляет данные в формате JSON. | ||
| + | * Name file - Плагин вывода file позволяет записывать данные, | ||
| + | * Match * — отправляет все данные (все потоки логов); | ||
| + | * Path - путь к каталогу для хранения файлов. | ||
| + | |||
| + | <code ini> | ||
| + | [SERVICE] | ||
| + | Flush 1 | ||
| + | Daemon | ||
| + | Log_Level | ||
| + | Parsers_File | ||
| + | Parsers_File | ||
| + | HTTP_Server | ||
| + | HTTP_Listen | ||
| + | HTTP_Port | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Path / | ||
| + | Parser | ||
| + | Tag | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Skip_Empty_Lines | ||
| + | |||
| + | [FILTER] | ||
| + | Name kubernetes | ||
| + | Match | ||
| + | Merge_Log | ||
| + | Keep_Log | ||
| + | K8S-Logging.Parser | ||
| + | K8S-Logging.Exclude | ||
| + | |||
| + | [OUTPUT] | ||
| + | Name loki | ||
| + | Match | ||
| + | Host loki.logging.svc.cluster.local | ||
| + | Port 3100 | ||
| + | Labels | ||
| + | Auto_kubernetes_labels | ||
| + | Line_format | ||
| + | </ | ||
| + | |||
| + | <code ini> | ||
| + | [SERVICE] | ||
| + | Flush 2 | ||
| + | Log_Level | ||
| + | Daemon | ||
| + | Parsers_File | ||
| + | Parsers_File | ||
| + | HTTP_Server | ||
| + | HTTP_Listen | ||
| + | HTTP_Port | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Exclude_Path | ||
| + | Path / | ||
| + | Docker_Mode | ||
| + | Docker_Mode_Flush | ||
| + | Docker_Mode_Parser | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Rotate_Wait | ||
| + | Read_from_Head | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Read_from_Head | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | # | ||
| + | Docker_Mode | ||
| + | Docker_Mode_Flush | ||
| + | Docker_Mode_Parser | ||
| + | Parser | ||
| + | DB / | ||
| + | rotate_wait | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | # | ||
| + | |||
| + | [FILTER] | ||
| + | Name kubernetes | ||
| + | Match | ||
| + | Kube_URL | ||
| + | Kube_CA_File | ||
| + | Kube_Token_File | ||
| + | Kube_Tag_Prefix | ||
| + | Merge_Log | ||
| + | Merge_Log_Key | ||
| + | K8S-Logging.Parser | ||
| + | K8S-Logging.Exclude Off | ||
| + | Labels | ||
| + | Annotations | ||
| + | |||
| + | [FILTER] | ||
| + | Name multiline | ||
| + | Match | ||
| + | multiline.key_content log | ||
| + | multiline.parser | ||
| + | |||
| + | [OUTPUT] | ||
| + | Name cloudwatch_logs | ||
| + | Match | ||
| + | region | ||
| + | log_group_name | ||
| + | log_stream_prefix | ||
| + | auto_create_group | ||
| + | extra_user_agent | ||
| + | |||
| + | [INPUT] | ||
| + | Name systemd | ||
| + | Tag | ||
| + | Systemd_Filter | ||
| + | Systemd_Filter | ||
| + | DB / | ||
| + | Path / | ||
| + | Read_From_Tail | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | Docker_Mode | ||
| + | Docker_Mode_Flush | ||
| + | Docker_Mode_Parser | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Rotate_Wait | ||
| + | Read_from_Head | ||
| + | |||
| + | [FILTER] | ||
| + | Name modify | ||
| + | Match | ||
| + | Rename | ||
| + | Rename | ||
| + | Rename | ||
| + | Remove_regex | ||
| + | |||
| + | [FILTER] | ||
| + | Name aws | ||
| + | Match | ||
| + | imds_version | ||
| + | |||
| + | [OUTPUT] | ||
| + | Name cloudwatch_logs | ||
| + | Match | ||
| + | region | ||
| + | log_group_name | ||
| + | log_stream_prefix | ||
| + | auto_create_group | ||
| + | extra_user_agent | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Read_from_Head | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Read_from_Head | ||
| + | |||
| + | [INPUT] | ||
| + | Name tail | ||
| + | Tag | ||
| + | Path / | ||
| + | Parser | ||
| + | DB / | ||
| + | Mem_Buf_Limit | ||
| + | Skip_Long_Lines | ||
| + | Refresh_Interval | ||
| + | Read_from_Head | ||
| + | |||
| + | [FILTER] | ||
| + | Name aws | ||
| + | Match | ||
| + | imds_version | ||
| + | |||
| + | [OUTPUT] | ||
| + | Name cloudwatch_logs | ||
| + | Match | ||
| + | region | ||
| + | log_group_name | ||
| + | log_stream_prefix | ||
| + | auto_create_group | ||
| + | extra_user_agent | ||
| + | </ | ||
| + | |||
| + | ===== Примеры ===== | ||
| + | |||
| + | * [[software: | ||
| + | * [[software: | ||
| + | * [[software: | ||
| + | * [[software: | ||
| + | * [[software: | ||
| + | * [[software: | ||