Конфигурация fluentd для разбора auth.log - PullRequest
0 голосов
/ 16 апреля 2019

Я использую следующий конфиг для того, чтобы fluentd прочитал auth.logs и отправил его в эластичный поиск, но я столкнулся с ошибкой, говорящей, что шаблон не совпадает, и журналы не передаются в ES.

Я использую шаблон, определенный в плагине анализатора системного журнала fluentd rfc3164-pattern

<source>
  @type tail
  path /var/log/auth.log
  pos_file /var/log/auth.pos
  format /^\<(?<pri>[0-9]+)\>(?<time>[^ ]* {1,2}[^ ]* [^ ]*) (?<host>[^ ]*) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\]) *(?<message>.*)$/
  tag authlog
</source>
<match authlog.**>
  @type elasticsearch
  hosts "ESHOST:PORT"
  logstash_format true
  logstash_prefix "server-authlogs"
  include_tag_key true
  flush_interval 5s
  logstash_dateformat %Y.%m.%d
  time_precision 3
</match>

Ошибка вывода:

2019-04-16 08:00:50 +0000 [warn]: шаблон # 0 не совпадает: "16 апреля 08:00:50 hostname-1415 sshd [15134]: pam_unix (sshd: session): сеанс открыт для пользователя ubuntu by (uid = 0) " 2019-04-16 08:00:50 +0000 [warn]: шаблон # 0 не совпадает: «16 апреля 08:00:50 hostname-1415 systemd-logind [1138]: новый сеанс 10 пользователя Ubuntu.»

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Как насчет использования parser_syslog ?Если /var/log/auth.log имеет формат системного журнала (RFC3164).

<source> 
  @type tail 
  path /var/log/auth.log 
  pos_file /var/log/auth.pos 
  tag authlog
  <parse>
    @type syslog
    message_format rfc3164
    with_priority false
  </parse>
</source>
0 голосов
/ 16 апреля 2019

Для тех, кто ищет что-то подобное, вот конфиг, который хорошо работает.

<source> 
 type tail 
 path /var/log/foo/auth.log 
 pos_file /var/log/auth.pos 
 tag authlog
 format /^(?<time>[^ ]* {1,2}[^ ]* [^ ]*) (?<host>[^ ]*) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\])?(?:[^\:]*\:)? *(?<message>.*)$/ 
</source>
<match authlog.**>
 @type elasticsearch
 hosts "ESHOST:PORT"
 logstash_format true
 logstash_prefix "server-authlogs"
 include_tag_key true
 flush_interval 5s
 logstash_dateformat %Y.%m.%d
 time_precision 3
</match>

Для шаблона auth.log:

Apr 16 18:02:02 host-1415 sshd[11111]: Accepted password for ubuntu from 111.11.111.11 port 11111 ssh2
...