APIを使用したZabbixでのホストの一括追加/削除

プロジェクトの1つでは、クラウド内の新しいノードが頻繁にデプロイ/削除されたため、Zabbixで新しいホストを追加/削除するタスクは、可用性を監視し、統計を削除するように見えました。 自己開発のために、pythonでzabbix APIライブラリを使用することが決定されました。 これはスクリプト作成の最初の経験だったので、コードに関するフィードバックとコメントに感謝します。



zabbix 1.8.5を使用します-練習で示したように、場合によってはバージョン1.8が異なります。*データは異なるタイプのデータによって返される可能性があります。



新しいホストを追加するには、次のパラメーターを知る必要があります。



上記の点について簡単に説明します。最初の5つですべてが非常にシンプルで明確な場合、zabbixの経験がほとんどない人のために残っているものは質問を投げかける可能性があります。 もちろん、より詳細な情報はより正確であり、zabbixのドキュメントがあるサイトを参照する方が適切です。



ホストグループは非常に便利なものです。 たとえば、通知シナリオを設定する場合、さまざまなグループに対して、さまざまな条件や種類の通知を作成できます。たとえば、一部のグループ-電子メールとSMS通知を送信し、他のグループ-電子メールのみなどを作成できます。



テンプレートは、大まかに言って、イベントに応答するトリガーと同様にデータが取得される一連のパラメーターです。 たとえば、Webサーバーの場合は、apacheまたはnginxからデータを削除しますが、データベースの場合は、まったく異なるパラメーターが必要です。 したがって、異なるテンプレートを異なるホストに接続します。



最後に、マクロはホストに渡す変数です。 たとえば、HDDの使用率に関する統計を削除するアイテム(ロシア語版では「データ要素」)があります。 複数のディスクを使用できるため、マクロを使用すると、$ DISK1 = / dev / sda、$ DISK2 = / dev / sdbなどを渡すことができます。したがって、1つのアイテムを使用して異なるディスクから統計を取得しますマクロ。



スクリプト構成で何を変更する必要がありますか?

必要なパラメーターはファイルzabbix_credentials.pyに保存されます



ホストの追加は次の方法で行います。 zabbix_host_add.py <useip 1 or 0. if 0 - DNS will be used> <groupid1,...,groupidN> <templateid,...,templateidN> <macro1...macroN>





- zabbix_host_del.py



, readme - github.com/gnetsman/zabbix_api











All Articles