2016-08-03 20 views
0

出力としてESを含むファイルビートを使用しています。私は指定しました: input_type:log document_type:apache パス: -/var/log/httpd/* _log /etc/filebeat/filebeat.ymlにあり、木場で結果が正常に表示されています。 私は「ウォッチャー」で遊んでいて、httpリターンコード404に基づいてウォッチを作成しようとしていますが、「レスポンス」のような「404」にしか対応していないKibanaファイルビート結果のフィールドは表示されません。私はfilebeatとELKが大きな製品であり、助けに感謝して何かが欠けているのではないかと心配しています。ファイル応答のApache応答フィールド名

答えて

0

Filebeatは、各イベントのmessageフィールドに「現状のまま」ログ行を転送します。メッセージをさらに処理して、応答コードのような詳細を独自のフィールドに抽出するには、Logstashを使用できます。

beats inputを使用してFilebeatからデータを受信し、grok filterを適用してメッセージのデータを解析し、最後にelasticsearch出力を使用してElasticsearchにデータを書き込みます。

0

Logstashを使用する代わりに、「Ingest Node」と適切なパイプラインをElasticsearchで使用することもできます。

https://www.elastic.co/guide/en/beats/filebeat/5.0/configuring-ingest-node.html

あなたはGROKプロセッサを含むパイプラインを設定することができます。私は、このコマンドを実行した

{ 
    "description": "Combined Apache Log Pipeline", 
    "processors": [ 
    { 
     "grok": { 
     "field": "message", 
     "patterns": [ "%{COMBINEDAPACHELOG}" ] 
     } 
    } 
    ] 
} 

https://www.elastic.co/guide/en/elasticsearch/reference/5.0/grok-processor.html

私はこのpipeline.jsonファイルでこれをやりましたパイプラインをクラスタに展開します。

curl -XPUT 'http://node-01.example.com:9200/_ingest/pipeline/combined-apache-log' [email protected] 

最後に、私は、パイプラインでイベントを処理するためにElasticsearch出力を伝えるためにfilebeat.ymlを更新:

#================================ Outputs ===================================== 

#-------------------------- Elasticsearch output ------------------------------ 
output.elasticsearch: 
    # Array of hosts to connect to. 
    hosts: 
    - "192.168.0.1:9200" 
    - "192.168.0.2:9200" 
    - "192.168.0.3:9200" 
    loadbalance: true 
    pipeline: combined-apache-log 

これはLogstashを必要とせずに働いているように見えます。

私は間違いなくレスポンス、リファラー、レスポンスなどのフィールドを参照しています