はじめに
ZabbixのAPIを使用し、ホストをある程度の数があっても一括で登録できる方法を書きました。なお、認証については、以下が組み込まれていることが前提です。
APIに関して何も知らなかったので、以下のサイトを参考にカスタマイズしました。


Zabbix APIでラクにミスなく大量のホストを登録しよう! | そるでぶろぐ
Zabbix APIを使いこなせば、手作業によるミスを減らしてラクに大量の監視設定を行うことができます。でも初心者には分かりにくいし、とっつきにくい…。そこで本記事では、Zabbi...
使い方
ホストを一括登録するために必要な物は、以下の4つです。
- 1. 登録したホストの情報を記載したファイル
- 2. テンプレートIDを取得するスクリプト
- 3. ホストグループIDを取得するスクリプト
- 4. ホストを一括登録するスクリプト
4のスクリプトのために、1〜3が必要というイメージです。1つ1つ見ていきます。
登録したホストの情報を記載したファイル
以下は、登録したいホストの情報をまとめたテキストファイルです。イメージとしては、「;」で区切られたcsvファイルのようなイメージです。ファイル内のフィールドがそれぞれ何が対応しているのかは、コメントアウトして書いてあるので、それを参考に設定してみてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
[root@localhost zabbix_api]# cat host_create_snmp_list Test_Linux_Servers;Test_Lin_00;2;1;1;192.168.60.101;;161;Template Net Cisco IOS SNMPv2;omoti Test_Linux_Servers;Test_Lin_01;2;1;1;192.168.60.102;;161;Template Net Cisco IOS SNMPv2;omoti Test_Linux_Servers;Test_Lin_02;2;1;1;192.168.60.103;;161;Template Net Cisco IOS SNMPv2;omoti Test_Linux_Servers;Test_Lin_03;2;1;1;192.168.60.104;;161;Template Net Juniper SNMPv2;omoti Test_Linux_Servers;Test_Lin_04;2;1;1;192.168.60.105;;161;Template Net Cisco IOS SNMPv2;omoti Test_Linux_Servers;Test_Lin_05;2;1;1;192.168.60.106;;161;Template Net Cisco IOS SNMPv2;omoti ###############################各列の名称############################### #【1.HostGroupName】 # ホストグループ名 # 監視対象ホストを所属させるホストグループ名を記載する。 ######################################################################## #【2.HostName】 # ホスト名 # 監視対象ホストの名前を記載する。 ######################################################################## #【3. IFType】 #インターフェースタイプ #1:Zabbixエージェント、2:SNMP、3:IPMI、4:JMX ######################################################################## #【4.IFdefaultORnot】 #インターフェースをデフォルトで使用するか否か? #0:使用しない、1:使用する。 ######################################################################## #【5.UseIP】 #接続にDNSとIPアドレスのどちらを使用するか? #0:DNSに接続して監視を行う、1:IPアドレスで監視を行う。 ######################################################################## #【6.IPaddress】 # IPアドレス # UseIPで「1」を選択した場合、ホストIPアドレスを記述する。 ######################################################################## #【7.DNSname】 # ホストのDNS名 # UseIPで「0」を選択した場合、ホストのDNS名を記述する。 # 上記の例では使用しないのでなにも設定しない。 ######################################################################## |