LINUX.ORG.RU
ФорумAdmin

Парсинг error logs nginx с использованием fluentbit

 ,


0

1

Имеем стандартный формат error логов nginx. Требуется помощь с настройкой их парсинга. С access логами разобрался, успешно складываются в Graylog и парсятся. Пример лога:

2020/07/22 22:01:12 [error] 8077#0: *19786178 open() "/www/loc_ssl/cust/Li_NEW/crm/misc/image/content/x60/exterior__img4.jpg" failed (2: No such file or directory), client: 88.88.88.88, server: 123123.ru, request: "GET /cust/Li_NEW/crm/misc/image/content/x60/exterior__img4.jpg HTTP/1.1", host: "123123.ru"

Конфиг парсера:

[PARSER]
    Name   nginx_error
    Format regex
    Regex ^(?<time>.*) \[(?<log_level>\w+)\] (?<pid>\d+).(?<tid>\d+): (?<message>.*), client: (?<remote>.*), server: (?<server>.*), request: (?<request>.*), host: (?<host>.*)$
    Time_Key time
    Time_Format %Y/%m/%d %H:%M:%S

В стандартой поставке парсеров fluentbit для error_logs ничего нету, поэтому допилил что-то найденной в интернетах. На удивление информации именно по error логам nginx практически нет.

ИМХО, раз в error_log может идти и debug, то никто особо за «стандартизацию» сообщения не парился. Пишите для нужных вам событий свои регулярки.

mky ★★★★★ ()
Ответ на: комментарий от zolden

Под fluentbit имеется ввиду именно fluentbit, fluentd это отдельный продукт. Использую его, так как это, скажем так, стандарт корпоративный, хорошо справляется с задачами.

Кстати, проверил свою регулярку на правильность при помощи https://rubular.com, видно, что она валидная, лог мой парсится как надо.

yellowboy ()
Последнее исправление: yellowboy (всего исправлений: 1)