2016-10-18 6 views
1

私は、Elastic Searchを学び、logstash経由でIISログをESにダンプしようとしました。 3人のエージェントをすべてセットアップしていて、witoutエラーが発生しています。しかし、保存したログファイルでlogstashを実行すると、ログは木場に表示されません。 (ES5.0では 'head' _pluginはありません)logstashの出力がkibanaに表示されない

これはlogstashコマンドで表示される出力です。

Sending Logstash logs to C:/elasticsearch-5.0.0/logstash-5.0.0-rc1/logs which is now configured via log4j2.properties. 
06:28:26.067 [[main]-pipeline-manager] INFO logstash.outputs.elasticsearch - Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>["http://localhost:9200"]}} 
06:28:26.081 [[main]-pipeline-manager] INFO logstash.outputs.elasticsearch - Using mapping template from {:path=>nil} 
06:28:26.501 [[main]-pipeline-manager] INFO logstash.outputs.elasticsearch - Attempting to install template {:manage_template=>{"template"=>"logstash-*", "version"=>50001, "settings"=>{"index.refresh_interval"=>"5s"}, "mappings"=>{"_default_"=>{"_all"=>{"enabled"=>true, "norms"=>false}, "dynamic_templates"=>[{"message_field"=>{"path_match"=>"message", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false}}}, {"string_fields"=>{"match"=>"*", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false, "fields"=>{"keyword"=>{"type"=>"keyword"}}}}}], "properties"=>{"@timestamp"=>{"type"=>"date", "include_in_all"=>false}, "@version"=>{"type"=>"keyword", "include_in_all"=>false}, "geoip"=>{"dynamic"=>true, "properties"=>{"ip"=>{"type"=>"ip"}, "location"=>{"type"=>"geo_point"}, "latitude"=>{"type"=>"half_float"}, "longitude"=>{"type"=>"half_float"}}}}}}}} 
06:28:26.573 [[main]-pipeline-manager] INFO logstash.outputs.elasticsearch - New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["localhost:9200"]} 
06:28:26.717 [[main]-pipeline-manager] INFO logstash.pipeline - Starting pipeline {"id"=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>500} 
06:28:26.736 [[main]-pipeline-manager] INFO logstash.pipeline - Pipeline main started 
06:28:26.857 [Api Webserver] INFO logstash.agent - Successfully started Logstash API endpoint {:port=>9600} 

しかし、キバナはインデックスを表示しません。私はここで初心者で、内部的に何が起こっているのか分かりません。ここで間違っていることを理解するのを助けてください。

enter image description here

Logstash設定ファイル:

input { 
    file { 
     type => "iis-w3c" 
     path => "C:/Users/ras/Desktop/logs/logs/LogFiles/test/aug1/*.log" 
     } 
} 
filter { 
    grok { 
     match => ["message", "%{TIMESTAMP_ISO8601:log_timestamp} %{WORD:serviceName} %{WORD:serverName} %{IP:serverIP} %{WORD:method} %{URIPATH:uriStem} %{NOTSPACE:uriQuery} %{NUMBER:port} %{NOTSPACE:username} %{IPORHOST:clientIP} %{NOTSPACE:protocolVersion} %{NOTSPACE:userAgent} %{NOTSPACE:cookie} %{NOTSPACE:referer} %{NOTSPACE:requestHost} %{NUMBER:response} %{NUMBER:subresponse} %{NUMBER:win32response} %{NUMBER:bytesSent} %{NUMBER:bytesReceived} %{NUMBER:timetaken}"] 
     } 
    mutate { 
    ## Convert some fields from strings to integers 
    # 
    convert => ["bytesSent", "integer"] 
    convert => ["bytesReceived", "integer"] 
    convert => ["timetaken", "integer"] 

    ## Create a new field for the reverse DNS lookup below 
    # 
    add_field => { "clientHostname" => "%{clientIP}" } 

    ## Finally remove the original log_timestamp field since the event will 
    # have the proper date on it 
    # 
    remove_field => [ "log_timestamp"] 
    } 
} 
output { 
    elasticsearch { 
     hosts => ["localhost:9200"] 
     index => "%{type}-%{+YYYY.MM}" 
    } 
    stdout { codec => rubydebug } 
} 
+0

頭の代わりに、私は頭に比べて好きなkopfを使用することができます。しかし、私はそれがES 5のために利用可能かどうかわかりません。 – baudsp

答えて

1

あなたはコフのようなプラグインで、またはあなたが経由で直接アクセスできるエンドポイント_cat/indices/、とElasticsearchのインデックス存在の名前を確認することができますブラウザー[ip of ES]:9200/_cat/indicesまたはcurl:curl [ip of ES]:9200/_cat/indicesを使用してください。 Kibanaで


あなたのスクリーンショットに示すように、デフォルトlogstash-*であるインデックス名のパターンを提供する必要があります。このデフォルトはKibanaで使用されています。これは、logstashのelasticsearch出力プラグインでは、デフォルトのインデックスパターンがlogstash-%{+YYYY.MM.dd}cf doc)で、このプラグインで作成されたインデックスに名前を付けるために使用されます。

しかし、あなたの場合、プラグインはindex => "%{type}-%{+YYYY.MM}"で設定されています。したがって、作成されるインデックスはiis-w3c-%{+YYYY.MM}の形式になります。だからlogstash-*によってiis-w3c-*フィールドに入れ替える必要がありますIndex name or pattern

+0

私が_cat/indices /を行うとき、私は**黄色のオープン.kibana HUMxXPMtS0-MBNQtyj5G6gとしてテキストを取得します。1 1 1 0 3.2kb 3.2kb **。 iis *という名前で作成されたインデックスは表示されません。 – Raghav

+0

@Raghavだから問題はLogstashだ。 Logstashが既にファイルを読み込んだ場合(たとえばstdoutだけで)、ファイルを再起動した場合、Logstashはファイルを再度読み込みません。この回答を見てくださいhttp://stackoverflow.com/a/25119894/6113627 – baudsp

関連する問題