:::: MENU ::::

Zabbix2.0で自宅サーバの監視をしてみた①


前回のZabbix2.0.5インストールメモからの続きです。
zabbixサーバとWebインターフェースのインストールまで完了しました。
前回は監視対象システムにzabbixエージェントのインストールをするのを忘れていたので、エージェントのインストールから監視設定をするところまで実施してみたいと思います。

zabbixサーバとzabbixエージェントの関係は下図のような構成としています。

zabbix-configuration

①zabbix-agentのインストール
まずはvpnサーバとWordPressサーバにzabbix-agentをインストールします。

環境:CentOS6.3

  • rpmパッケージのインストール

  • zabbix-agentの設定

3台全てのサーバに対してzabbix-agentの設定を入れていきます。
↓にはvpnサーバ(192.168.2.151)にの設定ファイルを記載します。
※SourceIPとListenIPはエージェント自身のIPアドレスを設定する必要があるようです。
ServerとAgentが通信できなくて若干はまりました。。。

  • zabbix-agentの起動と自動起動設定

これでzabbix-agentのインストールと設定は完了です。
vpnサーバとWordPressサーバ・zabbixサーバにも同じように設定します。
zabbixサーバのzabbix-agentはサーバとエージェントのIPアドレスが同じになるので、注意して設定してください。

②zabbixの監視設定
zabbix-serverとzabbix-agentのインストールが完了したので、それぞれについて監視の設定を入れていきます。

  • デフォルト監視の有効化

zabbix-serverに対してデフォルトで入っている設定の監視を有効化します。

これだけでCPU使用率やメモリ使用量などのデータが確認出来ます。
デフォルトの設定が入っているので簡単ですね。

  • zabbix-agentの監視設定

デフォルトのテンプレートを使って監視の設定を入れていきたいと思います。

これだけでzabbix-agent側のデフォルト設定が完了です。
サーバ側と同じようにCPU使用率などの情報が確認出来ます。

  • メール送信の設定

外部のsmtpサーバを使う場合は別途スクリプトを組む必要があります。
zabbix-jpのサイトでスクリプトが配布されています。このサイトを参考にすればメール送信の設定が出来ます。

  • webシナリオの設定

zabbixのwebシナリオを設定してみようと思います。シナリオは下記のように設定します。

  1. 特定URLの取得
  2. レスポンスコードが200であることを確認
  3. レスポンスコードが200でなかった場合はhttpdを再起動する

まずは特定URLを取得する設定をします。

次にアクセスに失敗した際のトリガーを設定します。また、レスポンスコードが400以上だった場合のトリガーも設定します。

トリガーが発動された場合のアクションを設定します。
アクションは障害発生時のメール送信アクションとhttpdの再起動アクションの二つを設定します。

zabbix-agentでhttpdを再起動出来るように設定します。

最後にテストをしてみます。zabbixサーバへssh接続し、index.phpを別の名前にリネームしてみてください。
すると、設定したメールアドレス宛にメールが送信され、httpdが再起動するはずです。

  • DBの監視

適当なDBに対してselect countを発行し、値が取得できなかった場合にメールで通知する設定を入れます。
postgresのodbcをインストールしていなかったので、インストールします。

ODBCの設定をします。zabbixサーバのzabbix DBへの接続設定をします。

接続のテストをします。
下記のようにConnected!が表示されれば無事に接続に成功しています。

次にzabbix側の設定をします。zabbixのウェブインターフェースから下記のオペレーションを実施します。

これでzabbix DBのhostsテーブルの件数が取得出来ます。
このアイテムに対してトリガーを設定し、結果を取得出来なかったらメールを送信する設定を入れていきます。

これでzabbixサーバのPostgreSQLに接続出来なくなったらメールにてアラートが来るようになります。

その他にもzabbixには色々な監視の設定が出来るようです。
本日はこの辺までにしたいと思います。
次回はzabbixのグラフ表示のカスタマイズをしたいと思います。


So, what do you think ?