👮
zabbix で監視対象側にあるshell scriptの実行結果を取得する方法
概要
zabbixで柔軟な監視をするためにshell scriptを実行してその値を取得したい時がある。
最終的にshell scriptで取得した値はトリガーにかけてその値によってアラートをあげる事になるが今回はzabbix agent 経由で監視対象サーバ内にあるshell scriptを実行する方法まで説明します。
前提
zabbix server
OS : Ubuntu 22.04
Version : 6.4
監視対象
OS : Ubuntu 22.04
zabbix-agent2
scriptを実行する監視対象側の設定
- zabbix agent でscriptを実行出来る様に以下の記述を /etc/zabbix/zabbix_agent2.conf に記載する。
AllowKey=system.run[*]
- 対象のscriptを入れる zabbix ユーザーのhomeディレクトリに作る。
今回は sh という名前のディレクトリを作ります。
mkdir /home/zabbix/sh
- scriptを2で作ったディレクトリに作る。
sudo vim /home/zabbix/sh/your_script.sh
- scriptに実行権限を付与する。
sudo chmod +x /home/zabbix/sh/your_script.sh
- scriptのownerをzabbixに変える。
sudo chown zabbix:zabbix /home/zabbix/sh/your_script.sh
zabbix サーバ側の設定
-
ブラウザからzabbixを開き監視対象で アイテムの作成 を実行
-
キー に 以下を指定し、必須項目を入力する事でアイテムがscript実行後の値を取得してくれる
system.run[~/sh/your_script.sh]
終わりに
後はscriptで取得した値をトリガーにかけてアラート発報するなりすれば幸せになれます。
Discussion