web-dev-qa-db-ja.com

いくつかのメトリックエクスポーター+ Prometheus + Grafanaを使用したログファイルの監視

エラーや成功ステータスなどについて、非常に異なるログファイルを監視する必要があります。また、Prometheusを使用して対応するメトリックを取得し、Grafanaに表示して、アラートを設定する必要があります。 Prometheus + Grafanaは大丈夫です。node_exporterやmysql_exporterなどのさまざまなエクスポーターですでに使用しています。また、新しいGrafana 4.xでのアラートは非常にうまく機能します。

しかし、ログファイルを「オンザフライ」で分析し、それらからメトリックを抽出できる適切なエクスポーター/プログラムを見つけるには、かなり問題があります。

これまでのところ、私は試しました:

  • mtail( https://github.com/google/mtail )-動作しますが、既存のバージョンではより多くのファイルを簡単に監視できません-一般に、特定のmtailプログラム(分析用のレシート)を特定のログファイルにバインドできません+ログファイル名をタグに簡単に追加できない
  • grok_exporter( https://github.com/fstab/grok_exporter )-機能しますが、限られた情報しか抽出できません+ 1つのインスタンスは1つのログファイルのみを監視できます。つまり、より多くのインスタンスのエクスポートを開始する必要がありますポートを増やし、それらすべてをプロメテウスで構成します-これにより、新しい障害点が多すぎます
  • fluentd prometheusエクスポーター( https://github.com/kazegusuri/fluent-plugin-prometheus )-機能しますが、非常に単純なメトリックしか抽出できず、行の高度な正規表現分析を行うことができません(s)ログファイルから

「some exporter」+ Prometheus + Grafanaを使用してログファイルから高度なメトリックを監視するための実際に実行中のソリューションはありますか?または、エクスポーターの代わりに、Prometheus Pushゲートウェイを使用して結果を取得できるいくつかのプログラム。ありがとう。

18
JosMac

Telegraf を見てください。入力プラグイン logparser および tail を使用したログのテーリングをサポートします。メトリックをprometheusエンドポイントとしてエクスポートするには、 prometheus_client 出力プラグインを使用します。また、その場で集計を適用することもできます。 grok_exporterやmtailよりも複数のログファイルを設定する方が簡単だと思いました

8
LazyS

これらは、現在ログデータをPrometheusに取り込むための3つの答えです。

また、ログを生成しているものを取得して、Prometheusメトリックを直接公開することもできます。

1
brian-brazil