1

Elasticsearch-logstash-filebeat-kibana を使用して、集中ログ用にシステムを正常にセットアップしました。

Kibana で filebeat テンプレート インデックスを使用してログを表示できません。ログ ファイルを適切に解析するために、logstash フィルタを作成しようとすると、問題が発生します。

私は grok パターンを使用しているので、最初にこのパターンを作成しました (/opt/logstash/patterns/grok-patterns):

CUSTOMLOG %{TIMESTAMP_ISO8601:timestamp} - %{USER:auth} - %{LOGLEVEL:loglevel} - \[%{DATA:pyid}\]\[%{DATA:source}\]\[%{DATA:searchId}\] - %{GREEDYDATA:logmessage}

そして、これはログスタッシュ フィルターです (/etc/logstash/conf.d/11-log-filter.conf):

filter {
  if [type] == "log" {
    grok {
       match => { "message" => "%{CUSTOMLOG}" }
       patterns_dir => "/opt/logstash/patterns"
    }
    mutate {
       rename => [ "logmessage", "message" ]
    }

    date {
        timezone => "Europe/London"
        locale => "en"
        match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss,SSS" ]
    }
 }}

コマンドラインからテストすると、パーサーは正常に動作しているようです。

[root@XXXXX logstash]# bin/logstash -f test.conf 
Settings: Default pipeline workers: 4
Logstash startup completed

2016-06-03 12:55:57,718 - root - INFO - [27232][service][751282714902528] - here goes my message

{
   "message" => "here goes my message",
  "@version" => "1",
"@timestamp" => "2016-06-03T11:55:57.718Z",
      "host" => "19598",
 "timestamp" => "2016-06-03 12:55:57,718",
      "auth" => "root",
  "loglevel" => "INFO",
      "pyid" => "27232",
    "source" => "service",
  "searchId" => "751282714902528"
 }

ただし...ログはKibanaに表示されず、「_grokparsefailure」タグも表示されないため、パーサーが機能していることを推測しますが、ログを見つけることができます。

私は何を間違っていますか?私は何かを忘れていますか?

前もって感謝します。

編集

入力 (02-beats-input.conf):

input {
  beats {
    port => 5044
    ssl => true
    ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
    ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
  }
}

出力 (30-elasticsearch-output.conf):

output {
 elasticsearch {
   hosts => ["localhost:9200"]
   sniffing => true
   manage_template => false
   index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
   document_type => "%{[@metadata][type]}"
 }
}
4

0 に答える 0