連載
» 2009年12月24日 00時00分 公開

テンプレートを使った効率的な監視設定ZABBIXで脱・人手頼りの統合監視(4)(3/4 ページ)

[青山雄一,ミラクル・リナックス株式会社]

値のマッピングの設定

 先ほど紹介したポート監視は、監視結果として「0(ポートが閉じている)」もしくは「1(ポートが開いている)」という値を返します。ZABBIXではこの値を利用して障害判定を行いますが、人間の目で見た場合、即座に現在の状態を把握することが困難です。

 ZABBIXでは、このポート監視のように、現在のステータスとして数値を返すアイテムも多く存在します。そのようなアイテムを利用するときは、値のマッピングという機能を利用すると、状態を一目で把握しやすくなります。値のマッピングは数字に意味を与える機能です。

 例えば、ポートが開いている場合は1、閉じている場合は0を返すような監視設定では、

1→UP
0→Down

のように、より分かりやすく表示させることができます。

画面3 マッピングした際の表示 画面3 マッピングした際の表示

 値のマッピングは、インストール直後でも複数のマッピングが登録されています。ポート監視では初期状態から登録されているService stateを利用します。

 最後にログ監視の設定を行います。Apacheの標準のログファイルは/var/log/httpdに置かれます。ここではerror_logを監視します。

 ログ監視を行う際は、監視対象となるログファイルをOS上のzabbixユーザーが読み取ることができる必要があります。そこで、監視を行う前にerror_logの権限を確認します。

# ls -l /var/log/httpd/error_log
-rw-r--r-- 1 root root 529 10月 27 15:42 /var/log/httpd/error_log

 上記ログファイルはzabbixユーザーから読み取ることができるため、特に変更は必要ありません。また、zabbix_agentd.confにパラメータDisableActiveが設定されていないことを確認してください。

 ログ監視を行う際は以下のように設定をします。

項目 設定例

名前 :Log of $1

タイプ :ZABBIXエージェント(アクティブ)

キー :log[/var/log/httpd/error_log]

データ型:ログ

アプリケーション:Apache


 この結果、/var/log/httpd/error_logが更新されると、更新内容をZABBIXで取得することができます。

 以上でアイテムの設定は終了です。

トリガーの設定

 次にトリガーを設定します。[設定]→[トリガー]のホストプルダウンメニューより作成した[Template_App_httpd]を選択します。[トリガーの作成]ボタンを押し、先ほど登録したアイテムに対して障害判定の設定を行います。

 トリガーは以下のように設定します。

  • プロセス監視

名前 :httpd process is not running on {HOSTNAME}

条件式 :{Template_App_httpd:proc.num[httpd].last(0)}


 上記設定では起動中のhttpdプロセスが1個未満になった場合に障害と判断します。トリガー名中の{HOSTNAME}はマクロと呼ばれる変数で、トリガーが登録されているホスト名を動的に挿入します。

  • ポート監視

名前 :httpd service is down on {HOSTNAME}

条件式 :{Template_App_httpd:net.tcp.service[tcp,,80].last(0)}=0


 上記設定では、80番ポートが開放されていない状態(アイテムで0を取得した場合)に障害と判定します。

  • ログ監視

名前 :error found in /var/log/httpd/error_log on {HOSTNAME}

条件式 :{Template_App_httpd:log[/var/log/httpd/error_log].str(error)}=1


 上記設定では/var/log/httpd/error_logに「error」が含まれる行が追加された際に障害と判断します。

 以上でトリガーの登録は終了です。

画面4 テンプレートとホストを関連付ける 画面4 テンプレートとホストを関連付ける

 テンプレートに監視設定をしたら、実際にホストと関連付けていきます。

 [設定]→[ホスト]より右上のプルダウンメニューから[ホスト]を選択します。テンプレートとのリンクの項目にある[追加]ボタンを押し、新たに設定したTemplate_App_httpdを選択し、保存します。

 以上でテンプレートとのリンク設定は完了です。同様の手順で複数サーバに対してTemplate_App_httpdをリンクさせ、監視することができます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。