【PRTG】簡単! SSHによるLinux/UNIX監視

世界中に20万以上のインストール実績を持つ「PRTGネットワークモニターは、200種以上の監視用センサーを標準搭載しており、ネットワーク機器、サーバー、アプリケーション等のさまざまな監視が、一切のオプションやアドオンなしで実現可能です。
Windows環境だけあれば、これひとつインストールすることで何でもこなしてしまう・・
    「オールマイティ・ネットワーク監視ソフトウエア」
と呼んでは言い過ぎでしょうか? その便利さ、簡便さは、無償トライアル版のインストール後、数分でご確認いただけますので、是非お試しください。
Linux/UNIX機器を監視するセンサーも各種搭載していますが、SSHSecure 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つだけ、後者は複数の監視項目を扱うことができます。


仕組みは同じなので、このブログでは、よりシンプルな、【SSH スクリプト実行】センサーについて説明いたしましょう。

2-1.特定のファイルサイズの監視

では、仕組みを理解いただくために、とても簡単な例で説明いたします。
PRTG標準の、ファイルセンサー(SMB)を、単純化したような例です。
たとえば、肥大するログファイルのサイズにハラハラしながら、「これもモニターで監視したい・・」と感じていらっしゃる方は、ご参考にしてください。
PRTGへのセンサー追加に必要な作業は、以下の3つだけです。


1)まず、監視対象のLinux/UNIXマシンに、以下のディレクトリを作成します。
 /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が戻り値として受信する、という仕組みです。



PRTGへ戻す値は、


 リターンコード:値:メッセージ」


という書式ですので、2行目のように記述しているわけです。

ここではメッセージは”dummy”としています。





リターンコード:0は、正常の場合です。1から4まで、エラーコードが用意されていますが、ここではエラー処理などは一切省略しています。動作確認用の最小限の記述ですので、ご了承ください。
※スクリプトが実行できるよう、ファイルのパーミッション確認をお忘れなく!







3)最後に、PRTGで監視対象デバイスへの「センサー追加」を行います。


SSH スクリプト実行センサーを追加し、作成したスクリプトを選択し、パラメータとして監視対象のファイルをフルパスで指定すれば、作業完了です。

たったこれだけの手間で、SSH スクリプト実行センサーによる監視が始まりました!

あとは閾値を設定して、アラートをあげるファイルサイズを設定し、通知設定を行えば、監視対象ファイルが所定のサイズを超過した際に、能動的な通知を受けることができます。

2-2. 特定プロセス起動数の監視

次に、プロセス数の監視について、これも簡単な例で紹介いたします。文字通り、同一のプロセスがいくつ起動されているかを監視するものです。

上の例と同様に、スクリプトを記述して、そのファイルを所定のディレクトリに格納します。ファイル名は、proc_count.shとしましょう。内容は、以下のようにしてみます。
 count=`ps
-e | grep $1 | wc -l`
 echo
“0:$count:dummy”



$1に、PRTG設定画面のパラメータで登録する、監視対象プロセス名が格納され、psコマンドの実行結果を、wcコマンドで行数カウントしているのが1行目、それをechoで標準出力しているのが2行目です。


あとは2-1の例とまったく同じで、センサー追加を行えば、監視が始まります。



値は 「6 」と表示されています。念のため、正しい値かを確認してみましょう。
監視対象サーバにログインし、コマンドで確認すると、指定したプロセスは、確かに6個常駐していました。





3.おわりに

Linux/UNIXの監視を行うための、【SSH スクリプト実行】センサーの使い方を紹介させていただきました。カスタムセンサーやスクリプトセンサーは、興味はあるが、どうも手が出ない、と感じておられた皆様に、ちょっとした手間や応用で、監視の幅を広げられる身近な道具である、と感じていただければ、喜ばしい限りです。
ご紹介したセンサーはすべてPRTGに標準実装されており、無償トライアル版でお試しいただくことが可能です。ダウンロードページから、是非一度お試しください。









最後までお読みいただきまして、ありがとうございました。

こんな記事も読まれています

最新記事

おすすめ記事

  1. 産業スパイを発見し、防ぐ方法とは

  2. Flexible NetFlowとは?を5分で理解する

  3. WinSyslog 使い方ガイド#2 受信時刻とデバイスタイムスタンプ両方を出力する

製品カテゴリー

JTC IT用語集
TOP