Como buscar múltiplos logs do bloco de arquivos?

0

Eu tenho um servidor no qual vários serviços são executados, como o nginx mongodb etc. Eu quero buscar os seguintes logs dele /var/log/nginx/access.log /var/log/tomcat/catalina.out/ /var/log/audit/audit.log etc etc. minha configuração de filebeat parece.

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" ]
        }
      }
    }

mas apenas o último nginx vem em busca elástica. Eu não sei como buscar e inserir os dois logs no ElasticSearch Kibana

    
por Silly Thoughts 15.06.2017 / 06:07

1 resposta

0

Você está usando uma sintaxe diferente na linha de correspondência grok. Mude para {"message" = > "..."} como no segundo.

    
por helo 14.09.2018 / 10:23