2016-05-19 12 views
1

私のエンタープライズアプリケーションの分散型および構造化型のログでは、ログ集計にはlogstash、ログストレージにはelastic searchを使用します。私はアプリケーションからlogstashにログをプッシュする明確なコントロールを持っています。一方、logstashから非常に薄い制御を持つ弾性検索まで。logstashログを見るには?

私のelasticsearchが何らかの理由でダウンした場合、logstashログ(/var/log/logstash/logstash.log)は次のような理由をはっきりと記録しているものとします。

Attempted to send a bulk request to Elasticsearch configured at '["http://localhost:9200/"]', but Elasticsearch appears to be unreachable or down! {:client_config=>{:hosts=>["http://localhost:9200/"], :ssl=>nil, :transport_options=>{:socket_timeout=>0, :request_timeout=>0, :proxy=>nil, :ssl=>{}}, :transport_class=>Elasticsearch::Transport::Transport::HTTP::Manticore, :logger=>nil, :tracer=>nil, :reload_connections=>false, :retry_on_failure=>false, :reload_on_failure=>false, :randomize_hosts=>false}, :error_message=>"Connection refused", :class=>"Manticore::SocketException", :level=>:error} 

logstashからレベルログerrorを通知または通知するにはどうすればよいですか?

答えて

0

は、以下の3つのステップでなんとかなるはずです)

1あなたは、通知取得したい方法によって異なります。メールが十分であれば、Logstash email output-pluginを使用することができます。 thereにはさらに多くの出力プラグインがあります。 if句は、あなたのレベルの分野に限定されるものではなく

if [level] == "ERROR" { 
    output { 
    ... 
    } 
} 

:あなたはLogstash設定でそのようなものを行うことができ、特定のイベントを(例は弾性支持siteから取られる)制限するに

2) JSON;もちろん、あなたのJSONフィールドのどれにでも適用することができます。これにより、より強力なものになります。

3)次のいずれかを必要とする)ログのサイクルに実行するこの作業を行う(なくするには、次のどれをする必要があり、

  • は、あなたのシステム(だけ)Logstashエラーログを観察する上で二Logstashインスタンスを起動します大丈夫ですか?here

  • また、Logstashインスタンスを1つだけ使用すると、より複雑な構成を構築できます。この設定では、LogStash ERRORログからのログ・ステートメントが、たとえば、アプリケーションに転送されている間に、アプリケーションからElasitcsearchにログ・ステートメントを転送する必要があります。 Logstash電子メール出力プラグイン。


サイドノート:あなたはLogstashと非常によく動作しますFilebeatを見てしたいことがあり(その弾性からも)、それは、より軽量Logstash以上です。あなたの設定にinclude_lines: ["^ERR", "^WARN"]のようなものを許可します。 Filebeatから入力を受け取るには、configを採用してLogstashにデータを送信し、Logstashにはhereと記載されたBeats入力プラグインをアクティブにして使用する必要があります。

関連する問題