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