Nagiosに用意された外部コマンドの使用法:Leverage OSS(2/2 ページ)
オープンソースの統合監視ソフトウェアとして人気を集めているNagiosは、外部コマンドパイプというファイルを介してコマンドやイベントを外部アプリケーションから受け取る強力な機能を装備している。本稿では、Nagiosの自由度をさらに高めるこの機能について解説する。
後記のサンプルコードは、指定した1つのホスト、そのホストにおける全サービス、最初のものとは異なるホストにおけるサービスの1つに対し、それぞれのチェックスケジュールを指定するスクリプトである。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ここで用いたコマンドのうちSCHEDULE_HOST_CHECKとSCHEDULE_HOST_SVC_CHECKSでは、スケジュールする時刻およびチェック対象となるホスト名を指定する。これに対してSCHEDULE_SVC_CHECKコマンドのチェック対象指定としては、ホスト名だけでなくサービスも特定しなくてはならない。
このサンプルにて用いたような通常タイプのスケジュール指定でのチェックは、指定の時刻通りに実行されない可能性がある。つまりNagiosは、スケジュール指定された時刻だけを基に判断するのではなく、Nagiosの全体ないし特定のオブジェクトに対してチェックを無効化する指定が施されていないかという要件も考慮するのだ。
こうしたチェックをNagiosに強制実行させたい場合は、SCHEDULE_FORCED_HOST_CHECK、SCHEDULE_FORCED_HOST_SVC_CHECKS、SCHEDULE_FORCED_SVC_CHECKというコマンドを使用すればいい。これらの強制コマンドについては、Nagiosによる指定時刻の検証および対象となるオブジェクトがチェック可能かの確認がスキップされるだけで、実行されるチェックそのものに変化はない。いずれにせよこれらを使えば、Nagiosに関するそのほかのパラメータ設定に影響されることなく、確実にチェックを実行できるのである。
そのほかの有用な機能としては、Nagios 3で追加されたカスタム変数関連のコマンド群がある。これは、ホスト、サービス、コンタクトに関するカスタム変数を定義しておくことで、外部コマンドパイプを介して当該ファイルにおける値を変更可能にするというものだ。
こうした変数はチェックおよび通知用のコマンドやイベントハンドラから直接使用できるため、これらの属性を扱うほかのアプリケーションやイベントハンドラは、設定ファイルでの変更を介さずにその値を直接操作できる。
それでは、こうした機能は具体的にどう使用するのだろうか? 例えばGUIを介さないタイプのアプリケーションを介して、オフィスにおける特定ITスタッフの所在を登録する機構が存在するとしよう。そして各スタッフのオフィス在席情報として、このアプリケーションに通知されたIPアドレスの最新情報がNagiosに定期送信されるようになっていれば、通知用のコマンドにこの情報を渡すことで、当該ユーザーへのメッセージ送信用IPアドレスとして利用できるはずである。
例えばユーザー名がjdoeでカスタム変数名がDESKTOPIPだとすると、Nagiosの外部コマンドパイプに送信すべきメッセージは後記のようになる。
[1206096000] CHANGE_CUSTOM_CONTACT_VAR;jdoe;DESKTOPIP;12.34.56.78
実際にこれを実行した後に$_CONTACTDESKTOPIP$を使用すると、12.34.56.78という値が返されるはずである。
コンタクト、ホスト、サービスのカスタム変数を変更するには、Nagiosに用意されているCHANGE_CUSTOM_CONTACT_VAR、CHANGE_CUSTOM_HOST_VAR、CHANGE_CUSTOM_SVC_VARというコマンドを使用すればいい。
本稿で解説したコマンドは、Nagiosの外部コマンドパイプに装備されている機能のごく一部を取り上げただけにすぎない。使用可能な全コマンドの一覧については、「External Command List」のページで確認できる。
あなたのシステムをさらに高度なものするアイデアが詰まった「Leverage OSS」コーナーにどうぞ
関連記事
- Hadoopを用いたクラスタコンピューティング環境の構築
ペタバイト規模のデータを格納させる分散コンピューティング用プラットフォームを探しているのであれば、安価かつ効率的でスケーラビリティと信頼性を兼ね備えたプラットフォームであるHadoopの使用を検討すべきだろう。 - Squidの更新パターンでインターネットアクセスを高速化する
プロキシキャッシュサーバであるSquidの設定パラメータを用いてバイトヒット率を上げれば、利用可能な帯域幅を3〜6割近くも拡大できる。Webサイトの最適化を考えるあなたにはまずこれを試してみていただきたい。 - コマンドラインに隠されたVirtualBoxのチューニング法
SunからリリースされたVirtualBox 2は、デスクトップユーザーに最適な仮想化アプリケーションの1つである。その構成は、GUIには使用頻度の高い機能だけを集めることでシンプル化し、より包括的な制御機能はCLIで提示する。つまり、CLIを駆使することで作業効率を大幅に改善できるのだ。 - 通常マシンをエンタープライズストレージとして使用可能にするOpenfiler
さまざまなベンダーから販売されているストレージ製品。しかし、この種のハードウェアの実態は、ごく一般的な構成であったりする。それならば、Openfilerを用いて通常のサーバをエンタープライズレベルのストレージ専用マシンとした方がはるかに経費節約につながる。 - 多数のVNCセッションを同時に管理・監視する
vncthumbnailviewerは複数のVNCサーバを管理している方にお勧めのツールである。複雑なホスト設定をGUIで設定し、後で使用するために保存しておける機能など、小規模LANでコンピュータを監視する際に有用な機能を多く備えている。 - 軽量なソフトウェアから高機能なデスクトップを構築する
あなたがお使いのLinuxマシンは、あなたの恋人にもストレスなく使えるだろうか。ここでは、PCをより快適に利用できるよう、軽量なソフトウェアでデスクトップ環境を構築してみた。 - さらなる機能向上を果たした最新版Nmap
誕生から10年を迎えるポートスキャニングツール「Nmap」。最新版ではGUIフロントエンドであるZenmapなども採用され、操作性は格段に向上した。これまでNmapに縁のなかったユーザーであってもぜひとも一度試してみることをお勧めしたい。
Copyright © 2010 OSDN Corporation, All Rights Reserved.