elasticsearch logstash不从beats读取logtype字段,elasticsearch,logstash,elastic-stack,filebeat,elasticsearch,Logstash,Elastic Stack,Filebeat" /> elasticsearch logstash不从beats读取logtype字段,elasticsearch,logstash,elastic-stack,filebeat,elasticsearch,Logstash,Elastic Stack,Filebeat" />

elasticsearch logstash不从beats读取logtype字段

elasticsearch logstash不从beats读取logtype字段,elasticsearch,logstash,elastic-stack,filebeat,elasticsearch,Logstash,Elastic Stack,Filebeat,我在一个节点上运行logstash filebeat和elasticsearch 我试图让logstash识别标记为“syslog”的日志,并将它们转储到名为“syslog”的索引中,但它似乎看不到标签,因为它们都进入了“未分类”索引(我的所有默认索引) 这是我的表 /etc/filebeat/filebeat.yml filebeat: prospectors: - paths: - /var/log/messages fields:

我在一个节点上运行logstash filebeat和elasticsearch

我试图让logstash识别标记为“syslog”的日志,并将它们转储到名为“syslog”的索引中,但它似乎看不到标签,因为它们都进入了“未分类”索引(我的所有默认索引)

这是我的表

/etc/filebeat/filebeat.yml
filebeat:
  prospectors:
    -
      paths:
        - /var/log/messages
      fields:
        type: syslog
output:
  logstash:
    hosts: ["localhost:9901"]
这是我的日志存储配置文件

/etc/logstash/conf.d/logstash_server_syslog.conf
input {
    beats {
        port => "9901"
    }
}

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 {
  if [type] == "syslog" {
    elasticsearch {
      hosts => ["10.0.0.167:9200", "10.0.0.168:9200"]
      index => "syslog"
    }
  } else {
    elasticsearch {
      hosts => ["10.0.0.167:9200", "10.0.0.168:9200"]
      index => "uncategorized"
    }
  }
}
查看输出(使用stdout{}节)可以证实这一点,但我猜您错过了以下部分:

默认情况下,[在“字段”配置中]指定的字段将分组在 输出文档中的字段子字典。存储定制 字段作为顶级字段,请将\u root选项下的字段\u设置为true

查看输出(使用stdout{}节)可以证实这一点,但我猜您错过了以下部分:

默认情况下,[在“字段”配置中]指定的字段将分组在 输出文档中的字段子字典。存储定制 字段作为顶级字段,请将\u root选项下的字段\u设置为true


使用配置选项在Filebeat中设置自定义
类型
字段

filebeat:
  prospectors:
    - paths:
        - /var/log/messages
      document_type: syslog

这将设置
@metadata.type
字段以与Logstash一起使用,而自定义字段则不会。

使用配置选项在Filebeat中设置自定义
类型
字段

filebeat:
  prospectors:
    - paths:
        - /var/log/messages
      document_type: syslog
这会将
@metadata.type
字段设置为与Logstash一起使用,而自定义字段则不会