Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
linux:fluentd [2023/09/21 10:29] admin |
linux:fluentd [2024/01/09 05:53] (текущий) admin |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
< | < | ||
< | < | ||
+ | [[https:// | ||
В регулярном выражении должен быть хотя бы один именованный захват (?< | В регулярном выражении должен быть хотя бы один именованный захват (?< | ||
Строка 38: | Строка 39: | ||
{{: | {{: | ||
+ | Парсер для многострочного варианта\\ | ||
+ | Модуль " | ||
+ | [[https:// | ||
<code xml> | <code xml> | ||
+ | < | ||
+ | @type tail | ||
+ | < | ||
+ | @type multiline | ||
+ | format_firstline / | ||
+ | format1 / | ||
+ | </ | ||
+ | path C: | ||
+ | pos_file C: | ||
+ | tag myapp_log | ||
+ | </ | ||
</ | </ | ||
- | |||
</ | </ | ||
- | |||
- | |||
- | |||
- | < | ||
- | < | ||
- | |||
- | </ | ||
- | |||
< | < | ||
Строка 121: | Строка 125: | ||
а штатный конфиг, | а штатный конфиг, | ||
</ | </ | ||
+ | |||
+ | <code bash> | ||
+ | # Скрипт для установки 4ой версии | ||
+ | $ curl -L https:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Конфигурация ===== | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | **Source** - информация об источнике данных\\ | ||
+ | **Match** - информация о том куда передавать полученные данные\\ | ||
+ | **Include** - информация о типах файлов\\ | ||
+ | **System** - настройки системы\\ | ||
+ | |||
+ | |||
+ | ==== Source ==== | ||
+ | Откуда брать данные. Для подключения источников есть разные плагины (например "type http" или "type forward" | ||
+ | |||
+ | Каждое событие передается маршрутизатору сообщений, | ||
+ | На основании " | ||
+ | |||
+ | |||
+ | ==== Match ==== | ||
+ | Указывается по какому признаку отбирать события для полседующей обработки, | ||
+ | |||
+ | Например: | ||
+ | < | ||
+ | #Берём события, | ||
+ | #и сохраняем их в файле/ | ||
+ | # | ||
+ | |||
+ | <match myapp.access> | ||
+ | type file | ||
+ | path / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Есть ряд комбинаций по маске, звездочки, | ||
+ | < | ||
+ | - символ * означает соответствие любой части тэга (если указать <match a.*>, то a.b будет соответствовать заданному условию, | ||
+ | - ** означает соответствие любому тэгу (если указать <match **>, то заданному условию будут соответствовать и a, и a.b., и a.b.c); | ||
+ | - {x, y, z} означает соответствие по крайней мере одному из тэгов, указанных в фигурных скобках (если указать <match {a, b}>, то а и b будут соответствовать заданному условию, | ||
+ | - фигурные скобки можно использоовать в сочетании с символами * и **, например: | ||
+ | - <match a b> означает соответствие тэгам a и b одновременно; | ||
+ | - <match a.** b.*> означает соответствие тэгам a, a.b и a.b.c (первая часть) и b.d (вторая часть). | ||
+ | </ | ||
+ | |||
+ | События матчатся друг за другом и похоже дальше не передаются, | ||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | В таком подходе парсятся все логи в указанном расположении, | ||
+ | |||
+ | " | ||
+ | :!:Не забываем при мерже нескольких конфигов, | ||
+ | |||
+ | < | ||
+ | < | ||
+ | @type tail | ||
+ | format multiline | ||
+ | format_firstline / | ||
+ | format1 / | ||
+ | time_format %F %T.%L | ||
+ | path "/ | ||
+ | tag my_tag.* | ||
+ | read_from_head true | ||
+ | pos_file / | ||
+ | refresh_interval 10s | ||
+ | rotate_wait 0s | ||
+ | emit_unmatched_lines true | ||
+ | </ | ||
+ | |||
+ | <filter my_tag**> | ||
+ | @type grep | ||
+ | < | ||
+ | key level | ||
+ | pattern /ERROR/ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <match my_tag**> | ||
+ | @type record_modifier | ||
+ | < | ||
+ | host "# | ||
+ | service_name ${"# | ||
+ | </ | ||
+ | tag elkFM | ||
+ | </ | ||
+ | |||
+ | <match elkFM> | ||
+ | @type elasticsearch | ||
+ | host 10.10.10.10 | ||
+ | port 9100 | ||
+ | logstash_format true | ||
+ | logstash_prefix my_prefix | ||
+ | user ==== | ||
+ | password ==== | ||
+ | reconnect_on_error true | ||
+ | reload_on_failure true | ||
+ | reload_connections false | ||
+ | <buffer > | ||
+ | @type memory | ||
+ | chunk_limit_size 12m | ||
+ | queue_limit_length 50 | ||
+ | overflow_action block | ||
+ | retry_max_interval 10 | ||
+ | retry_randomize true | ||
+ | retry_max_times 3 | ||
+ | flush_interval 5 | ||
+ | flush_mode interval | ||
+ | flush_thread_count 5 | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ |