#監視の自動登録
APIを駆使する、ディスカバリを使うなどいくつか方法はあると思いますが
今回はアクションの自動登録の機能を使って監視対象を自動登録してみます
アクション機能からのホスト自動登録時は
・適用テンプレートの指定
・追加したいホストグループの設定
などもできます
#今回テスト環境
##zabbixサーバ
・CentOS7 zabbix3.2
##zabbixクライアント(自動登録する対象)
・CentOS7 zabbix3.0 (大きな理由は無いのですがバージョン違いを入れています)
#前提
将来的にクラウド環境などで、マシーンを新規作成した際などで
agentを立ち上げるだけでzabbixサーバへ監視対象として自動で登録されるようにしたい
なお、マシーンの新規作成でagentを入れて起動するまでの自動化
監視対象として追加後のディカバリの自動操作などは今回は含みません
また、zabbixサーバの構築、設定方法なども説明はいたしません
(ちなみにzabbixサーバは構築したままで特殊な設定はしてません)
#zabbixサーバ側の設定をしよう
######手順(1)
######手順(3)
ホストメタデータのキワードは今後の運用も考えてつけると良いかと思います
また、このホストメタデータを元に、
適用するテンプレートや追加するホストグループを分けるのに
使う事になると思いますのでこのあたりを意識すると良いかと思います
以上でサーバ側の設定は完了
#zabbix-agentクライアント(自動登録したいホスト)側の設定
######手順(1)
今回は自動登録がされるかを手編集でconfigを変更してお試しします
最低限のconfigを設定する
#Hostname=Zabbix server # コメントアウトする(今回はhostnameを監視対象名として扱うので)
Server=10.11.0.91 # zabbixサーバのアドレスを指定
ServerActive=10.11.0.91 # zabbixサーバのアドレスを指定
HostnameItem=system.hostname # コメントアウトを外す hostnameに設定されている名前を使うので
HostMetadata=webserver # コメントアウトを外しWeb側で設定したホストメタデータの情報を入れる
zabbix-agentを起動する
# systemctl start zabbix-agent
# ps -ef | grep zabbix
zabbix 36197 1 0 19:03 ? 00:00:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix 36198 36197 0 19:03 ? 00:00:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 36199 36197 0 19:03 ? 00:00:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 36200 36197 0 19:03 ? 00:00:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 36201 36197 0 19:03 ? 00:00:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 36202 36197 0 19:03 ? 00:00:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root 36204 35696 0 19:03 pts/0 00:00:00 grep --color=auto zabbix
#
#その他
・どうやらホストの追加と同様にホストを無効という操作もできるらしい
(試しているが思っている通りにうまく動かない・・・)
・無効はあるがホストの有効化は無い
・ディスカバリでも同様な操作もできる
・Ansibleなどでagentのinstallから初期設定まですませればホストの追加はできそう
いろいろ考えるとアクションで自動登録は行けそうだけど
その後の管理はAPI経由で操作する事になりそうかな
*アップデートがあれば記事を随時更新します