如何在Elasticsearch中将Filebeat syslog输入json解码为顶级

时间:2019-06-05 08:38:18

标签: elasticsearch filebeat

我在filebeat中有一个tcp syslog输入,传入的数据是json。我想将json解码为elasticsearch中的顶级密钥。我该怎么办?

syslog输入没有选择解码json的选项,作为日志输入,我认为我必须在弹性搜索中使用Logstash或摄取节点。我在elasticsearch中创建了一个新的摄取管道。我已经使用“模拟”功能来测试是否将syslog的内容放入“消息”字段(也是用于解码的字段)中。所有这些都起作用,并且响应正确地显示了它。

但是一旦我在输入或输出中的filebeat.yml中选择管道ID,我就会从filebeat中得到此错误:ERROR [syslog] syslog/input.go:131 can't parse event as syslog rfc3164

这是我的filebeat.yml文件:

filebeat.inputs:
  - type: syslog
    protocol.tcp:
      host: ":9000"
    pipeline: "pipeline_name"

cloud.id: ${ELASTIC_CLOUD_ID}
cloud.auth: ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD}

这是管道的配置:

"pipeline_name": {
    "description": "json decode",
    "processors": [
      {
        "json": {
          "field": "message",
          "add_to_root": true
        }
      }
    ]
}

0 个答案:

没有答案