#はじめに
こんにちわ。sewataです。
Zabbix Advent Calendar 2016の18日目です。
昨年に続き2回目の参加となります。よろしくお願い致します。
早いもので今年も終わりが近づいてまいりました。
今回はzabbix conference japan 2016の懇親会LTにてお話させていただいたネタを書こうと思います。
Zabbix Advent CalendarなのにNagiosの話?と引かないでください。
みなさまが大好きな監視の監視の話でございます。
#概要
nagiostatsで得られるNagiosサーバ自体の統計情報をZabbixへ送る、
そのシェルスクリプトとZabbixテンプレートを作成し、公開しました。
#環境
CentOS6.8
Nagios3.5.1
Zabbix2.4
#本文
##ちゃんと監視できているのか
具体的には
- 死活:監視プロセスが停止していないか
- パフォーマンス:監視実行はスケジュール通り行われているか(5分間隔なら5分毎に本当に監視しているか)
- キャパシティ:あとどのくらい監視対象を登録できるのか(増設のタイミングはいつ頃になるか)
など、他にも考えるべきことがたくさんあると思います。
##監視の監視が必要
監視サーバローカルで、その監視サーバの機能で自身の状態を監視していたとしても
その監視サーバがおかしくなったら異常を誰も検知できないですよね。
(ややこしい)
監視サーバが色々ある場合、その監視サーバ同士で監視させることも多いと思います。
その監視で得られるデータをZabbixへ溜めておきたいと思いました。
Nagiosは内部処理の統計情報をnagiostatsというコマンドで取得できます。
取得できたデータをrrdtoolへ送るようなものは既存ツールがいくつかあるのですが、
Zabbixへ送るようなものは見つかりませんでした。
今回、その処理をするものを作成しました。
また、いつもZabbix Shareにはお世話になっているので、恩返しの気持ちでShareさせていただきました。
##処理概要
- アイテム
get nagiostats
が指定間隔ごとに該当スクリプトをNagiosサーバにて実行 - スクリプト内、
nagiostats
コマンドで統計情報を取得し、それぞれのアイテムへzabbix_senderで送る
※スクリプト実行失敗時の検知手段について
該当スクリプトは失敗時には0以外を返すので、
get nagiostats
の戻り値が0でなかったらPROBLEMとする判定のトリガーを入れています。
##設定手順
- NagiosサーバにZabbix Agentをインストール
- Zabbix Agentの設定パラメータであるUserParameterに以下行を登録
UserParameter=get.nagiostats,/etc/zabbix/scripts/get-nagiostats.sh
- Zabbix Agentをリスタートして設定内容を反映
- Nagiosサーバに値を取得するスクリプト
get-nagiostas.sh
を設置 - zabbixユーザにスクリプト実行権を与える(nagiostatsコマンドの実行権も必要。nagiosグループにzabbixユーザを入れるのが簡単かと)
- ZabbixUIにてテンプレートをZabbixサーバへインポート
- ZabbixUIにてNagiosサーバをZabbixにホスト登録
- ZabbixUIにてそのホストを本テンプレートを割り当て
#まとめ
監視の監視も大事ですよね。今回はその実装のひとつをShareさせていただきました。
ありがとうございました。
#リンク