7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Zabbix 4.2 4.4で使える Prometheusのexporterの値を全自動で連携して監視する方法

Last updated at Posted at 2019-11-13

タイトルの通り、Zabbix 4.2や4.4で使えるPromehteusのexporterの値をディスカバリして全自動で監視連携する方法を紹介します。

公式ドキュメント

Prometheusのexporterはとても幅広くいろんな製品に対応しているので便利です。
Prometheusだけで完結する運用現場ならこんなことする必要はないですが、Zabbixに連携して統合的に管理したいといった時にはこの方法を使うとちょっと楽になるかもという話です。

連携の手順

以下のような3ステップで実行すればOKです。

  • ① exporterから情報取得するHTTPエージェントアイテムを登録
  • ② ①のアイテムを親にした依存アイテムのディスカバリルールを作成
    • (Prometheus→JSON変換、LLDマクロ化を実施)
  • ③ ②のアイテムプロトタイプとして依存アイテムをLLDマクロを使って登録

手順1 expoerterから情報取得するHTTPエージェントアイテムを登録

http_agent_item.png

タイプをHTTPエージェントに設定し、URLのところにexporterのエンドポイントのURLを指定します。(http://ホスト名/metricsとか)
設定をテンプレート化するなら、このURL部分はテンプレートのマクロ化しておくと良いと思います。
取得結果はPrometheusのフォーマットのテキスト形式で返ってくるので「テキスト」にしておきます。

http_agent_item_result.png

取得結果は上記のような感じで/metricsにアクセスした時の生データです。

手順2 依存アイテムのディスカバリルールを作成

ディスカバリルール自体をHTTPエージェントにしても構わないのですが、そうすると手順3で設定するアイテムプロトタイプもHTTPエージェントにしないといけなくなったりして、exporterへの呼び出し機会が増えてしまうので、手順1でまとめて取得してその値を活用するように依存アイテムで対応します。

discovery_rule1.png discovery_rule2.png

前処理(Preprocessing)で、Promehteusのフォーマットから特定のメトリクスの情報を取り出してJSON変換させます。
ここのParametersの指定の仕方は色々と可能ですが、この後のアイテムプロトタイプとペアで紐づくようにメトリクスの名前毎にディスカバリさせるような感じのフィルタ指定が良いと思います。
上記例の場合はKONG APIのexporterからkong_http_statusというメトリクス部分をディスカバリする例です。

discovery_rule3.png

LLDマクロとしてどのような名前のマクロにJSON変換したどこの部分の値を登録するかを指定します。

手順3 依存アイテムのアイテムプロトタイプを作成

最後にLLDマクロを使ってアイテムプロトタイプを作成します。ここでも手順1で作成したアイテムを親にした依存アイテムで設定します。

item_prototype1.png item_prototype2.png

前処理(Preprocessing)で手順2で設定したLLDマクロを活用して、複数の項目があった時にそのディスカバリ結果を展開して自動作成されるように定義します。

今回の場合は、httpのステータスコード毎やサービス毎でexporterで取得できるメトリクスだったので、{#CODE}や{#SERVICE}という名称をラベルとして指定して取得できるようにしています。

まとめ

手順はこれだけです。exporter毎にメトリクスの仕様は決まっていると思うので、仕様に合わせてテンプレート化しておけば、Zabbix Agentもいらずでいろんな監視ができますね。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?