ELK -重复日志



我在使用Logstash (v7.11)和Elasticsearch时遇到一个奇怪的问题。

我现在有两个配置文件:

  • 01-beats-syslog.conf(使用winlogbeat发送的日志)

    input {
    beats {
    port => 5044
    ssl => false
    }
    }
    filter {
    if [type] == "syslog" {
    grok {
    match => { "message" => "%{SYSLOGLINE}" }
    }
    date {
    match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
    }
    }
    output {
    elasticsearch {
    hosts => localhost
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    }
    stdout {
    codec => rubydebug
    }
    }
    
  • 02-network-syslog.conf(包含无代理设备(如交换机、防火墙等)的日志)

    input {
    tcp {
    port => 514
    type => syslog
    }
    udp {
    port => 514
    type => syslog
    }
    }
    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}" ]
    }
    date {
    match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
    }
    }
    output {
    elasticsearch {
    hosts => ["localhost:9200"]
    index => "syslog-%{+YYYY.MM}"
    }
    stdout {
    codec => rubydebug
    }
    }
    

由于某些原因,一个"winlogbeat"日志最终存放在"network-syslog"文件中。索引(除真实syslog流量外)…每个配置文件都监听不同的端口,配置有什么问题?

我还检查了我没有防火墙规则将流量转发到514,事实上,使用tcpdump,我没有看到该端口上来自winlogbeat的流量。

如果您指向路径。配置到一个目录,那么logstash将连接目录中的所有文件,从所有输入读取事件,通过所有过滤器运行它们,并将它们发送到所有输出。要么配置管道。Yml在单独的管道中运行每个配置文件,或者在输出

周围使用条件
output {
if [type] == "syslog" {
elasticsearch {
hosts => ["localhost:9200"] ...

相关内容

  • 没有找到相关文章

最新更新