LoginSignup
3
0

More than 5 years have passed since last update.

Nagiosの動作状況をZabbixでモニタリング

Posted at

はじめに

こんにちわ。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させていただきました。

処理概要

  1. アイテムget nagiostatsが指定間隔ごとに該当スクリプトをNagiosサーバにて実行
  2. スクリプト内、nagiostatsコマンドで統計情報を取得し、それぞれのアイテムへzabbix_senderで送る

※スクリプト実行失敗時の検知手段について
 該当スクリプトは失敗時には0以外を返すので、
 get nagiostatsの戻り値が0でなかったらPROBLEMとする判定のトリガーを入れています。

設定手順

  1. NagiosサーバにZabbix Agentをインストール
  2. Zabbix Agentの設定パラメータであるUserParameterに以下行を登録 UserParameter=get.nagiostats,/etc/zabbix/scripts/get-nagiostats.sh
  3. Zabbix Agentをリスタートして設定内容を反映
  4. Nagiosサーバに値を取得するスクリプトget-nagiostas.shを設置
  5. zabbixユーザにスクリプト実行権を与える(nagiostatsコマンドの実行権も必要。nagiosグループにzabbixユーザを入れるのが簡単かと)
  6. ZabbixUIにてテンプレートをZabbixサーバへインポート
  7. ZabbixUIにてNagiosサーバをZabbixにホスト登録
  8. ZabbixUIにてそのホストを本テンプレートを割り当て

まとめ

監視の監視も大事ですよね。今回はその実装のひとつをShareさせていただきました。

ありがとうございました。

リンク

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0