snmpwalkを使いこなして、SNMP監視を実施しよう

snmpwalkを使ってSNMP監視

 
 

snmpwalk(エス・エヌ・エム・ピー・ウォーク)とは?

 

Snmpwalkとは、Linux(リナックス)系のコマンドであると同時に、PHPの関数でもあります。どちらにせよ、指定したホストからSNMP(エス・エヌ・エム・ピー:simple network management protocol)情報を取得するというものです。

 

SNMPは、エージェントによってUDPポート161、マネージャによってUDPポート162が使われますので、そのどちらも、ポートが開いてなければなりません。しっかりと通信ができているか、確認する必要があります。

また、機器特有の拡張MIB(Management information base)の監視が必要な場合は、/usr/share/snmp/mibsがありますので、そこに入れておきましょう。

 

snmpwalkのオプションは?

 

Snmpwalkのオプションは、-v が SNMPのバージョン。-cがコミュニティ名称。標準はpublicなので、なくても構いません。さらには、IPアドレスが必要です。

 

snmpwalkを実行してみよう

 

たとえば、ローカルでsnmpd(エス・エヌ・エム・ピーディー ※dはデーモン)を立てて、localhost(ローカルホスト)からSNMP情報を得たいと考えた場合。

 

#snmpwalk -v 2c –c public localhost

 

と、コマンドを実行します。

これによって、ローカルでsnmpdが立ち上がっていれば、SNMPの情報が一斉に戻ってきます。

 

 

なぜSNMP監視は必要?

 

ではそもそも、SNMP監視はなぜ必要なのでしょうか?

それは、SNMPが多彩な機能を持っていることから、監視に多く使われるのです。機器の状態をみるために使われることが多いので、たとえば、ハードウェアにおいて、CPU(シー・ピー・ユー:Central Processing Unit)がどの程度動いているか、メモリはどの程度空きがあるか、ネットワークカードはパケットにどの程度、使われているか。そして、部品の故障はないか。更には、ネットワークも安全な状態で、異常が発生していないか。

 

そうった、状態、ハードウェア、ソフトウェアなど、かなり多くの監視ができてしまうのです。SNMPは、主に下記2種類の仕掛けがあります。

 

○SNMPマネージャからポーリングでSNMPエージェントに対し情報を能動的に取得
○SNMPエージェントからの通知でSNMPマネージャが情報を受動的に取得

 

となっています。

マネージャとエージェントという単語は、ネットワーク機器においては一般的なものです。しかし、あえて解説するなら、SNMPマネージャとはどのようなものでしょうか。

 

SNMPマネージャ/SNMPエージェントとは何?

 

SNMPマネージャは、ポーリングによって常時情報を取得しています。5分間隔で定期的に情報を得ることができ、常時監視をしているのと同様の動きを果たします。ポーリングとはSNMP GetRequestと、SNMPGetResponseを定期で行うことです。ポーリングにはポート161が使われます。

 

そして、SNMPトラップは、エージェント側でアクションが起きたときや、イベントが誕生したときに、ポート162を使って、監視を行います。

 

SNMPエージェントは、ネットワークの機器には、多くインストールされているので、初期設定だけで使えるようになるケースが多くなっています。ネットワーク機器だけでなく、WindowsマシンにもSNMPエージェントが乗っていますので、簡単に起動できます。

 

SNMPはなぜUDP(ユー・ディー・ピー:User Datagram Protocol)なの?

 

では、ここで、「なぜポートがUDPなのか?」という疑問が生じると思います。ではTCP(ティー・シー・ピー:Transmission Control Protocol))でこのような監視をしたらどうなるのでしょうか?3分から5分に一度、しかも大量にネットワーク上のマシンにトラフィックをかけてコネクションを張っていたら、ネットワークに膨大な負荷をかけてしまいます。

 

それに加えて、パケットのサイズがとても小さいというのが挙げられます。こうした小さめのデータをやり取りするには、TCPではなくUDPが適任です。TCPで同じことを行おうとしたら、ハンドシェイクやACK(アック:acknowledgement)をしなければならないため、データ量が大きくなり、それもまた、ネットワークに負荷をかけます。

 

SNMP監視をしよう

 

そして、SNMP監視は、ネットワーク総合監視ソフトウェアで行うのが一番です。さまざまなOSS(オー・エス・エス:Open Source Software)製品がありますが、有償のパトロールクラリスはOSSよりもはるかに多機能・高性能で、おまけにサポートもついているので安心です。

 

コミュニティだよりのOSS製品よりも、有償のネットワーク監視サービスにしてみませんか?パトロールクラリスなら、標準的なネットワーク監視の機能は網羅しながらも、パワフルに、ネットワーク全体の異常を検知して、いちはやくアラートを上げてくれるので対応できます。

 

ノンストップで動き続けるビジネスに、最良のネットワーク監視を。パトロールクラリスなら、多種多様な機能をサポートしています。

関連記事