まずは、ZABBIXサーバのApacheの監視をして、異常があったら再起動するように設定します。
Apacheが動いてないとZABBIXが使えませんから。
独立したテンプレートを作成するので、ZABBIXサーバ以外で稼働させるウェブサーバも、今回のテンプレートを適用するだけで監視ができ、異常があったら再起動してくれるようになります。
ZABBIXをインストールした時点でテンプレートとしてTemplate App HTTP Serviceができています。ただしこれはアイテムとして80番ポートのLISTENを見るだけの監視になっています。
そのため、今回はこれは使わないことにします。
そして実は基本的な監視のテンプレートは、ZABBIXの公式ページにも公開されています。
http://www.zabbix.jp/documents/template
ところが、今回使いたいTemplate_App_httpdは残念ながら古いバージョンのZABBIX用のテンプレートになっているようで、利用しようとするとエラーが出てしまい使えません。
そのため、これと同じ内容のアイテム、トリガーを1つ1つ作っていきます。
作っていくにあたって先に公開されているTemplate_App_httpdを読み解いておきます。
ダウンロードしてメモ帳などで開いてみてください。
4行目にテンプレート名が書かれています。「Template App httpd」です。
11行目に所属グループが書かれています。「Templates」です。
13〜367行目にアイテムついて書かれています。次のとおりです。
15行目の<description>がアイテムの名前です。「Log of $1」です。
$1は後に出るキーの[ ]内にある最初の文字列になります。このアイテムの場合は、/var/log/httpd/access_logになります。
14行目のtypeがアイテムのタイプです。「ZABBIXエージェント(アクティブ)」です。
ちなみに今回出てくる0と7はそれぞれ次のようになります。
0 - ZABBIXエージェント同じく14行目のkeyがアイテムのキーです。「log[/var/log/httpd/access_log]」です。
7 - ZABBIXエージェント(アクティブ)
同じく14行目のvalue typeがデータ型です。「ログ」です。
ちなみに今回出てくる2と3はそれぞれ次のようになります。
2 - ログ17行目の<delay>が更新間隔(秒)です。「300」です。
3 - 数値(整数)
18行目の<history>がヒストリ保存期間(日)です。「90」です。
19行目の<trends>がトレンド保存期間(日)です。「365」です。
20行目の<status>が1ですので、「有効」になります。
38行目の<application>がアプリケーションです。「HTTP」です。
同じ要領でこれ以降のアイテムも読み解いてください。
続いて368〜432行目にトリガーについて書かれています。次のとおりです。
370行目の<description>がトリガーの名前です。「/etc/httpd/conf/httpd.conf has been changed on {HOSTNAME}」です。
372行目の<expression>が条件式です。「{{HOSTNAME}:vfs.file.cksum[/etc/httpd/conf/httpd.conf].diff(0)>0」です。
371行目の<type>が障害イベントを継続して生成です。0なので無効です。
374行目の<status>が0ですので「無効」ですが、テンプレート作成時に有効にします。
375行目の<priority>が深刻度です。「情報」です。
ちなみに今回出てくる1と3はそれぞれ次のようになります。
1 - 情報同じ要領でこれ以降のトリガーも読み解いてください。
3 - 軽度の障害
433行目以降のグラフについては割愛します。
それでは上記に従ってテンプレートの内容を新規に作ります。
テンプレートを作ります。
アプリケーションを作ります。
アイテムを作ります。
トリガーを作ります。
アイテム一覧、トリガー一覧がこのようになります。
続いてApacheの障害を検知した際に再起動するようにアクションを設定します。
前回のブログと同じ要領で作成します。
ただし、アクションの実行条件が少し複雑です。
ここまでできたら、Template App httpdをZabbix serverに適用します。
設定メニューのホストを選びます。
Zabbix serverの文字をクリックします。
テンプレートを選びます。
新規テンプレートをリンクに「Template App httpd」と入力し、枠内の追加を押します。
更新ボタンを押したら完了です。
httpdの監視ができました。Apacheのログは/etc/httpdのパーミッションを755にすると取得できます。
ためしにApacheを停止してみますが、数分後には自動的に起動しています。
※監視の間隔が5分なので数分待ちます。
最後に、今回作成したテンプレートのxmlファイルを公開しておきますので、うまくいってない方がいらっしゃればお使いください。
今回はここまで。
0 件のコメント:
コメントを投稿