
ZABBIXで脱・人手頼りの統合監視
最終回 一歩進んだ監視のカスタマイズ
ミラクル・リナックス株式会社
青山 雄一
2010/3/3
| この連載では、オープンソースの運用監視ソフトウェア「ZABBIX」ではどんなことができるのかを、実際の使い方とともに紹介していきます(編集部) |
前回は、ZABBIXの応用的な監視機能である「Web監視」を利用して、Webサービスを監視する方法を紹介しました。最終回となる今回は、「ユーザーパラメータ」という機能を利用して、ZABBIXでは標準で用意されていないところまで監視項目を拡張し、監視する方法を紹介します。
ユーザーパラメータとは
ユーザーパラメータとは、ZABBIXエージェントに任意のコマンドを実行させ、その出力結果を監視する機能です。
ユーザーパラメータは、以下のような動作を行います。まず、ZABBIXサーバはZABBIXエージェントに対し、事前に定義した任意のキーの収集要求を送信します。ZABBIXエージェントは要求されたキーに対応したコマンドを実行します。そして、コマンドの実行結果(標準出力に出力された文字列)を、監視結果としてZABBIXエージェントに送信します。
![]() |
| 図1 ユーザーパラメータの動作 |
このようにユーザーパラメータを利用することで、ZABBIXには標準で用意されていない項目、例えば各アプリケーションのパフォーマンス情報を取得したり、いままで人手による監視に利用していたスクリプトの実行結果を取得したりと、よりニーズに合った監視ができるようになります。
ユーザーパラメータを利用したApacheのアクセス数監視
では例として、Apacheのモジュールである「statusモジュール」を利用して、Webサーバのアクセス数を監視するための設定を行ってみましょう。最初に、Apacheに必要なモジュールが組み込まれていることを確認します。
# apachectl -l |
続いてApacheの設定を確認します。以下のように/etc/http/conf/httpd.confで「LoadModule status_module modules/mod_status.so」「ExtendedStatus On」の2行が有効になっていることを確認してください。
# grep "LoadModule status_module modules/mod_status.so" /etc/httpd/conf/httpd.conf |
# grep ExtendedStatus /etc/httpd/conf/httpd.conf |
さらに、以下のディレクティブを有効にします。
<Location /server-status> |
上記の設定が完了したら、Apacheを再起動します。
# service httpd restart
|
ブラウザで以下のURLを開き、statusモジュールが正しく動作していることを確認します。
http://<サーバのIPアドレス>/server-status
|
以下のページが表示されたならば、statusモジュールが有効になっています。
![]() |
| 画面1 statusモジュールの動作確認 |
次に、「apachectlコマンド」で同様の情報が取得できることを確認します。
# apachectl fullstatus
|
ユーザーパラメータは、zabbixユーザーで実行されます。そのため、zabbixユーザーに実行権限のないコマンドは、ユーザーの変更や権限の変更などを行って、実行できるよう設定する必要があります。
ユーザーパラメータで実行したいコマンドが一般ユーザーで実行できるか、パーミッションを確認します。
# ls -l /usr/sbin/apachectl |
この結果、apachectlコマンドは一般ユーザーでも実行できることが分かります。
ここではapachectlを使って、Total accessesの値を監視します。apachectlの実行結果は多くの情報を含んでおり、複数行にわたることもあります。そこで、ZABBIXで扱いやすいように、コマンドで数値のみが出力されるよう、grepとawkを使って下記のように整形します。
# apachectl fullstatus | grep "Total accesses" | awk '{ print $3}'
|
次に、ユーザーパラメータを登録します。これは、任意のキーとコマンドをひも付けて設定します。この場合は、/etc/zabbix/zabbix_agentd.confに以下の内容を追加します。
# vi /etc/zabbix/zabbix_agentd.conf |
この設定の書式は以下のとおりです。
UserParameter=<任意のキー名称>,コマンド |
コマンドに|(パイプ)を使う場合は、|(パイプ)の前後にスペースが入らないように注意してください。
/etc/zabbix/zabbix_agentd.confにユーザーパラメータを登録したら、ZABBIXエージェントを再起動します。
# service zabbix-agent restart |
では、正しくユーザーパラメータが登録できているかどうかを、次のコマンドで確認しましょう。これは、zabbix-serverが動作しているホストで実行します。
# zabbix_get -s<ZABBIXエージェント側のIPアドレス> -kapache-accesses
|
zabbix_getは、ZABBIXエージェントの動作を確認するためのコマンドです。正しく値が取得できていたら、ユーザーパラメータの設定は完了です。
さらに、運用を楽にするため、ZABBIXのWebインターフェイスにアイテムを登録します。
| 項目 | 設定例 |
名前 |
http accesses |
タイプ |
ZABBIXエージェント |
キー |
apache-accesses ←ユーザーパラメータで定義したもの |
データ型 |
数値(整数) |
乗数 |
使用しない |
保存時の計算 |
差分 |
上記のようにアイテムを設定すると、先ほど定義したユーザーパラメータを使っての監視が開始されます。
| 第5回へ |
1/3 |
|
||||||
|
||||||
| Linux Squareフォーラム Linux/システム学習関連記事 |
| 連載:Windowsユーザーに教えるLinuxの常識(全12回) Windowsのセオリーが通用しないLinux。Linux初心者向けに、LinuxというOSの考え方/常識をゼロから伝授! |
|
| 連載:LFSで作って学ぶLinuxの仕組み(全4回) 管理者(root)は、何をしなければならないのか? 管理に際して検討すべきことは? 管理のための技術とは? など、駆け出し管理者のための考え方や方法論を検討する |
|
| 連載:Linux管理者への道(全8回) 「Linux From Scratch」というシンプルなLinuxをインストール&環境構築する作業を通して、LinuxがOSとして機能するための仕組みや設定を見直そう |
|
| Linux Squareフォーラム全記事インデックス |
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


