Настройка моего экземпляра Graylog Я совершенно не понимаю, какие разные шаблоны мне нужно использовать.
В Debian 10 я добавил /etc/rsyslog.d/graylog.conf
со следующим значением:
*.* @graylog.i.abc.de:13526;RSYSLOG_SyslogProtocol23Format
и все отлично анализируется, что находится в /var/log. Теперь, увидев, что Serviio использует другой шаблон LOG:
2022-04-06T15:44:57,701 INFO [PlaylistMaintainerWorker] Started looking for playlist changes
И Плекс тоже:
Apr 01, 2022 22:33:31.142 [0x7fb0bcb3bb38] INFO - Plex DLNA Server v1.25.8.5663-e071c3d62 - Debian GNU/Linux PC x86_64 - build: linux-x86_64 - GMT 02:00
Я ломаю голову и не могу найти ничего подходящего в Google. Я обнаружил, что вы можете писать свои собственные шаблоны rsyslogd. Но я совершенно уверен, что форматы, которые я вам показал, «стандартизированы», не так ли? Если да, то может ли кто-нибудь подсказать, как они называются и где я могу найти их список?
Что касается выполнения этого с использованием шаблонов rsyslogd, то я мало чем могу помочь. Однако, если эти форматы, которые вы упомянули, действительно стандартизированы, вы можете обрабатывать их синтаксический анализ в Graylog, используя шаблоны Grok.
В Graylog> Система> Шаблоны Grok> Создать шаблон. Serviio довольно прост:
%{TIMESTAMP_ISO8601:date} %{DATA:level} \[%{DATA:component}\] %{GREEDYDATA:message}
Plex может быть немного сложнее. Сначала я сделал шаблон PLEXDATE:
%{MONTH:month} %{NUMBER:day}, %{YEAR:year} %{TIME}
а затем шаблон PLEXCOMMON:
%{PLEXDATE:date} \[%{DATA:componentId}\] %{DATA:level}- %{DATA:serverVersion} - %{DATA:os} - build: %{DATA:build} - %{GREEDYDATA:timezone}
Я абсолютно не мастер Grok, но вы можете играть с ними, улучшать их и переименовывать поля, как хотите. После того, как вы создали свои шаблоны Grok, вы можете создать правила конвейера, которые можно использовать для анализа входящих файлов журнала в Graylog.
Без проблем! Кроме того, после повторного просмотра моего ответа я должен уточнить в моем примере шаблона Serviio, что вы хотите убедиться, что используете имя поля, отличное от message
в конце, поскольку оно уже должно присутствовать и, вероятно, вызовет ошибку в обработке при попытке использоваться снова.
Спасибо! Мне просто было любопытно, могу ли я упростить ввод. Потому что полное сообщение, которое будет сохранено в Graylog: ``` <invld>1 2022-04-07T18:24:47.681536+02:00 apache serviio - - - 2022-04-07T18:24:47,681 WARN [EventDispatcher] Ошибка 412 получена от подписчика события ``` А я думал, может там шаблон. Но тогда я буду работать с экстракторами и GROK Pattern. Спасибо!