Как выбрать несколько журналов от filebeat?

У меня есть сервер на который многочисленные услуги, выполненные, такие как nginx mongodb и т.д. Я хочу выбрать следующие журналы от него /var/log/nginx/access.log/var/log/tomcat/catalina.out//var/log/audit/audit.log и т.д. и т.д., моя filebeat конфигурация похожа.

filebeat:
  prospectors:
    -
      paths:
        - /var/log/auth.log
        - /var/log/syslog
      document_type: syslog
      input_type: log

  prospectors:
    -
      paths:
        - /var/log/nginx/access.log
      document_type: nginx-access
      input_type: log

output:

  ### Logstash as output
  logstash:
    # The Logstash hosts
    hosts: ["logstashserver.pr:5044"]
    # default is 2048.

logstash conf

filter {
  if [type] == "nginx-access" {
    grok {
       match => [ "message" , "%{COMBINEDAPACHELOG}+%{GREEDYDATA:extra_fields}"]
       overwrite => [ "message" ]
       add_field => [ "received_at", "%{@timestamp}" ]
       add_field => [ "received_from", "%{host}" ]
    }

  }
}
---------
    filter {
      if [type] == "syslog" {
        grok {
          match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
          add_field => [ "received_at", "%{@timestamp}" ]
          add_field => [ "received_from", "%{host}" ]
        }
        syslog_pri { }
        date {
          match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
        }
      }
    }

но только последний nginx прибывает в эластичный поиск. Я не знаю, как выбрать и вставить, оба входят в систему ElasticSearch Kibana

0
задан 14 June 2017 в 21:07

1 ответ

Вы используете другой Синтаксис в строке соответствия grok. Измените его на {"сообщение" => "..."} как во втором.

0
ответ дан 3 November 2019 в 02:14

Другие вопросы по тегам:

Похожие вопросы: