値を取得するのに30秒以上かかるアイテムの場合はZBX_NOTSUPPORTEDになってしまい監視できません
その場合、自分はcron+リダイレクトを使った方法で監視しているので紹介します
(cronを使わない方法(zabbix_sender等)もありますので参考程度に御覧ください)
■環境
CentOS release 5.10 (Final)
Zabbix Server 2.2.1
Zabbix Server 2.2.1
■設定方法
- Zabbixに登録するデータを取得するコマンドを作成する 今回は時間がかかるコマンドとして「du -sx /」を例として紹介します
- 結果が数字の部分だけになるようにコマンドを修正する du -sx / | awk '{print $1}'
- cronに登録する(例として毎時5分実行するように設定する)
- cron内で結果をファイルにリダイレクトさせる 5 * * * * du -s . | awk '{print $1}' > /var/tmp/du.size
- zabbix_agent.confを開く emacs /etc/zabbix/zabbix_agent.conf
- UserParameterを使ってリダイレクトしたファイルの情報を取得する設定を記載する UserParameter=get.du.size,cat /var/tmp/du.size
- zabbix-agentdを再起動する
- 一度cronが回ってファイルが作成できたら念のためzabbix_getで設定したキーの値が取得できるか確認する zabbix_get -s hostname -k get.du.size
- zabbix-serverのアイテムにget.du.sizeで監視するアイテムを登録する ポイントは更新間隔(秒)を「3600」にすることでcronの間隔と合わせています
以上で設定は完了です
これで1時間おきにduの結果がZabbix Serverに登録されているかと思います
これで1時間おきにduの結果がZabbix Serverに登録されているかと思います
■Tips
うまく値が取得できなくZBX_NOTSUPPORTEDになってしまう場合は、ファイルの権限を確認して読み込み権限を付与してください
cronの部分をJenkinsで巻き取り、値を取得したあとでzabbix_getでZBX_NOTSUPPORTEDにならないか確認するとより正確な監視ができるかと思います
(Zabbix Serverはアイテムが何かの拍子にZBX_NOTSUPPORTEDになっても警告してくれないのでそこをJenkinsでカバーするイメージです)
cronの部分をJenkinsで巻き取り、値を取得したあとでzabbix_getでZBX_NOTSUPPORTEDにならないか確認するとより正確な監視ができるかと思います
(Zabbix Serverはアイテムが何かの拍子にZBX_NOTSUPPORTEDになっても警告してくれないのでそこをJenkinsでカバーするイメージです)
RESULT=`zabbix_get -s yoshi3 -k get.du.size2` if [ $RESULT = "ZBX_NOTSUPPORTED" ] then echo NG exit 1 fi
0 件のコメント:
コメントを投稿