Zabbix-API ホストをまとめて登録する方法

Zabbix

はじめに

ZabbixのAPIを使用し、ホストをある程度の数があっても一括で登録できる方法を書きました。なお、認証については、以下が組み込まれていることが前提です。

APIに関して何も知らなかったので、以下のサイトを参考にカスタマイズしました。

Zabbix APIでラクにミスなく大量のホストを登録しよう! | そるでぶろぐ
Zabbix APIを使いこなせば、手作業によるミスを減らしてラクに大量の監視設定を行うことができます。でも初心者には分かりにくいし、とっつきにくい…。そこで本記事では、Zabbi...

使い方

ホストを一括登録するために必要な物は、以下の4つです。

  • 1. 登録したホストの情報を記載したファイル
  • 2. テンプレートIDを取得するスクリプト
  • 3. ホストグループIDを取得するスクリプト
  • 4. ホストを一括登録するスクリプト

4のスクリプトのために、1〜3が必要というイメージです。1つ1つ見ていきます。

登録したホストの情報を記載したファイル

以下は、登録したいホストの情報をまとめたテキストファイルです。イメージとしては、「;」で区切られたcsvファイルのようなイメージです。ファイル内のフィールドがそれぞれ何が対応しているのかは、コメントアウトして書いてあるので、それを参考に設定してみてください。

テンプレートIDを取得するスクリプト

テンプレートIDを取得するスクリプトは以下です。引数にテンプレート名を指定すると、テンプレートIDが戻ってきます。

ホストグループIDを取得するスクリプト

ホストグループIDを取得するスクリプトは以下です。

ホストを一括登録するスクリプト

スクリプト本体です。2、3のスクリプトが以下のスクリプト内で使用されています。

以下はスクリプトのコードのみを掲載していますが、実際使用する場合は「hostgroup_name_to_ID.sh host_create_snmp_list」として登録したいホスト情報が書かれたファイルを引数として指定し、実行します。

おまけ(ホストの一括削除)

GUIでもできますが、色々と検証している過程で作りました。

タイトルとURLをコピーしました