メトリクスを Zabbix に取り込むための 2 つの提案を提供できます。
バイナリを使用してzabbix_sender
、スクリプトから直接 Zabbix サーバーにデータをフィードします。これにより、スクリプトは独自の間隔で呼び出し、必要なすべてのパラメーターを設定できます。zabbix_sender
実際には、バイナリの場所を知る必要があるだけです。
Zabbix サーバー インターフェイス内で、タイプのアイテムを作成しますZabbix trapper
。から送信された値を受け取る項目タイプzabbix_sender
です。キー名を作成し、一致する必要があります。
zabbix_agentd.conf
これを行う 2 つ目の方法は、ファイル内でキー名とスクリプト/バイナリを指定することです。Zabbix サーバーがこのアイテムを要求するたびに、スクリプトが呼び出され、スクリプトからのデータが記録されます。
これにより、独自の間隔でスクリプトを強制的に実行するのではなく、Zabbix アイテム構成で間隔を設定できます。zabbix_agentd.conf
ただし、ホストごとに、この余分な情報をファイルに追加する必要があります。
これを Python から直接実行する方法は他にもあるzabbix_sender
かもしれません (Python のバインディングでしょうか?)。しかし、これらは私が以前に使用した2つの方法で、うまく機能します。これは実際には Python 固有のものではありません。zabbix_sender
ただし、Python スクリプトで使用できるはずです。この情報がお役に立てば幸いです。
更新: また、Zabbix が API (JSON/RPC スタイル) に取り組んでいた/持っていることも思い出しました。しかし、ドキュメンテーション サイトは現在ダウンしており、API がアイテム データを送信するためのものかどうかはわかりません。API に関する Wiki は次のとおりです: http://www.zabbix.com/wiki/doc/api
Python API のプロジェクト: https://github.com/gescheit/scripts/tree/master/zabbix/
Zabbix バージョン 1.8 の時点で新しいため、API に関するドキュメントはほとんどないようです。