用于监控 logstash 本身的 logstash grok 模式

logstash grok pattern to monitor logstash itself

我想将 logstash.log 登录添加到我的 ELK 堆栈中,但我总是遇到 grokparsefailure。 我的模式在 http://grokconstructor.appspot.com/do/match#result 上没问题

我的 logstash conf 文件(过滤器部分)是

filter {
  if [application] == "logstash" {
    grok {
      match => { "message" => "\{:timestamp=>\"%{TIMESTAMP_ISO8601:timestamp}\", :message=>%{GREEDYDATA:errormessage}\}" }
    }
    date {
      match => [ "timestamp" , "yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ" ]
    }
  }
}

但还是只得到

{
  "_index": "logstash-2016.05.03",
  "_type": "logs",
  "_id": "AVR3WUtpT8BPcJ-gVynN",
  "_score": null,
  "_source": {
    "@version": "1",
    "@timestamp": "2016-05-03T16:00:20.708Z",
    "path": "/var/log/logstash/logstash.log",
    "host": "xxx.arte.tv",
    "application": "logstash",
    "tags": [
      "_grokparsefailure"
    ]

我想我对 { ou " 有问题,但有或没有反斜杠,仍然 grokparsefailure。

真可惜,我之前的 post 没有错误,问题是没有消息,因为另一个 conf 文件中有 remove_field 消息。

对不起大家浪费时间