Windows環境だけあれば、これひとつインストールすることで何でもこなしてしまう・・
「オールマイティ・ネットワーク監視ソフトウエア」
と呼んでは言い過ぎでしょうか? その便利さ、簡便さは、無償トライアル版のインストール後、数分でご確認いただけますので、是非お試しください。
Linux/UNIX機器を監視するセンサーも各種搭載していますが、SSH(Secure Shell)を利用すれば、わずかな手間で、さらに監視の幅を広げる事ができます。今回のブログでは、
【SSH スクリプト実行】センサー
を使って、少しの時間で実現できる、新しい監視項目の追加方法について紹介いたします。
※SSH: Secure Shell 暗号を用いた安全なリモートシェル。平文での通信を行うリモートシェルに対して、SSHは暗号化により通信内容が保護されている。
1. SSH 関連センサー
まず、PRTGに搭載されているSSH 関連センサーのバリエーションについて触れておきます。スクリプトを作らなくても、そのままご利用いただける手軽なセンサーです。
SSH iNodes空き容量センサー iNode監視
SSH ディスク空き容量センサー ディスク空き容量監視SSH メモリ情報センサー メモリ空き容量監視
SSH リモートPING実行センサー 他デバイスへのPING監視
SSH ロードアベレージセンサー 平均負荷監視
SNMPなどの他センサーと組み合わせて、幅広い監視が行えますが、それでも
「この中に必要な監視項目がない!」
という場合、【SSH スクリプト実行】センサーが役立つかも知れません。
2. SSH スクリプト実行センサー
テキストエディターで数行のスクリプトを記述するだけで、Linux/UNIX機器への監視の幅を広げられる【SSH スクリプト実行】センサーの使い方を紹介いたします。このセンサーには、
・SSH スクリプト実行センサー ・SSH スクリプト(アドバンスト)センサーの2通りが用意されていますが、違いは「戻り値」の数、つまりセンサーに入力される監視データの数で、前者は1つだけ、後者は複数の監視項目を扱うことができます。
2-1.特定のファイルサイズの監視
では、仕組みを理解いただくために、とても簡単な例で説明いたします。PRTG標準の、ファイルセンサー(SMB)を、単純化したような例です。
たとえば、肥大するログファイルのサイズにハラハラしながら、「これもモニターで監視したい・・」と感じていらっしゃる方は、ご参考にしてください。
PRTGへのセンサー追加に必要な作業は、以下の3つだけです。
/var/prtg/scripts
2)次に、センサーへ必要な値を戻す処理を記述したSSH スクリプトファイルをテキストエディターで作り、このディレクトリに格納します。ファイル名は、filesize.shとでもしておきましょう。スクリプトファイルの中身は、以下のように記載してみます。
size=`ls
-l $1 | awk '{print$5}'`
echo
"0:$size:dummy"
$1に、PRTG設定画面のパラメータで登録する、監視対象ファイル名が格納され、lsコマンドを実行して、ファイルサイズに相当する5列目のデータを"awk"で取り出して変数"size"に代入しているのが1行目、それを"echo"で標準出力しているのが2行目です。標準出力された値を、PRTGが戻り値として受信する、という仕組みです。
ここではメッセージは"dummy"としています。
リターンコード:0は、正常の場合です。1から4まで、エラーコードが用意されていますが、ここではエラー処理などは一切省略しています。動作確認用の最小限の記述ですので、ご了承ください。
※スクリプトが実行できるよう、ファイルのパーミッション確認をお忘れなく!
※スクリプトが実行できるよう、ファイルのパーミッション確認をお忘れなく!
3)最後に、PRTGで監視対象デバイスへの「センサー追加」を行います。
SSH スクリプト実行センサーを追加し、作成したスクリプトを選択し、パラメータとして監視対象のファイルをフルパスで指定すれば、作業完了です。
たったこれだけの手間で、SSH スクリプト実行センサーによる監視が始まりました!
あとは閾値を設定して、アラートをあげるファイルサイズを設定し、通知設定を行えば、監視対象ファイルが所定のサイズを超過した際に、能動的な通知を受けることができます。
2-2. 特定プロセス起動数の監視
次に、プロセス数の監視について、これも簡単な例で紹介いたします。文字通り、同一のプロセスがいくつ起動されているかを監視するものです。
上の例と同様に、スクリプトを記述して、そのファイルを所定のディレクトリに格納します。ファイル名は、proc_count.shとしましょう。内容は、以下のようにしてみます。
count=`ps
-e | grep $1 | wc -l`
echo
"0:$count:dummy"
あとは2-1の例とまったく同じで、センサー追加を行えば、監視が始まります。
値は 「6 」と表示されています。念のため、正しい値かを確認してみましょう。
監視対象サーバにログインし、コマンドで確認すると、指定したプロセスは、確かに6個常駐していました。
3.おわりに
Linux/UNIXの監視を行うための、【SSH スクリプト実行】センサーの使い方を紹介させていただきました。カスタムセンサーやスクリプトセンサーは、興味はあるが、どうも手が出ない、と感じておられた皆様に、ちょっとした手間や応用で、監視の幅を広げられる身近な道具である、と感じていただければ、喜ばしい限りです。
ご紹介したセンサーはすべてPRTGに標準実装されており、無償トライアル版でお試しいただくことが可能です。ダウンロードページから、是非一度お試しください。
最後までお読みいただきまして、ありがとうございました。