Zabbixによる監視(8) 第09回 20年01月 / 最終更新:2020.01.30

前回は、テンプレートやディスカバリ機能を紹介しました。今回は、SNMP機器監視について説明しようと思います。

SNMP機器監視

SNMPとは

SNMP(Simple Network Management Protocol))は、TCP/IPで接続された機器の監視・制御プロトコルです。直接アクセスできないネットワークスイッチ・ルータ・ロードバランサ・ストレージなどの機器にも搭載されていることがあります。Windows・Linux・UNIXを積んだサーバでも、SNMPエージェントを起動することでSNMP経由の監視が可能です。
SNMPには、v1~v3のバージョンがあり、SNMPv3では接続認証が必須になります。SNMPで確認できる情報は、MIB(Management Information Base)として機器に登録されています。MIBには標準MIBとメーカーごとに設定されるMIBがあります。MIBではMIB名(sysNameなど)とOID(Object ID。1.3.6.1.2.1.1.5.0 など)が紐付けられています。

SNMPサーバは複数のSNMPエージェントへ通信し、機器の情報を収集することが出来るサービスを提供します。SNMPエージェントは主に障害などの発生時に、登録したSNMPサーバに対してSNMPトラップを送信することで障害を伝えることが出来ます。

Zabbix Serverは net-SNMPトラップをSNMPサーバとして使用することで、SNMPエージェントからの通信を収集することが出来ます。機器からのSNMPトラップ も同様に受けることが出来ます。Zabbix Agentをインストールできないこれら機器について、SNMPプロトコルを使用して機器のステータスを監視することが出来ます。

SNMPエージェント監視

SNMPエージェント監視を行うには、以下の手順で監視項目を登録します。

1.対象機器のIPアドレスをホストとして登録
  ホストにSNMPインタフェースを追加
2.監視項目を追加する
  1.タイプをSNMPv1 agent/SNMPv2 agent/SNMPv3 agent から選択
  2.SNMP監視対象のOIDの指定
  3.SNMPコミュニティ名の指定
4.SNMPv3の場合は、認証情報(認証プロトコル、認証パスフレーズなど)を指定
5.取得する値の型(整数、浮動小数点、文字列)の指定

SNMPのMIBには、設定値がポート毎に取得できる場合があります。その際、末尾の数値がポートになるのですが、Zabbixではそれらの情報を自動的に取得できます。

多く使われるネットワーク機器は、MIBを登録したテンプレートが予め用意されています。それらを使うと簡易に機器の監視が可能になります。機器に対応したMIBが提供されていれば、snmpサーバにそのMIBを登録することで監視可能になります。

SNMPトラップ監視

SNMPトラップ監視項目は、以下のように登録します

1.ホストにSNMPインタフェースを指定
2.タイプにSNMPトラップを指定
3.データ型を指定

SNMPトラップ 監視には追加のサービスを追加する必要があります

1.snmptrapd を起動し、SNMPトラップを受信
2.snmptrapdは、SNMPTTもしくはPerl トラップ receiverにトラップ情報を渡す
3.トラップは解析し、一定のフォーマットでファイル書き込み
4.Zabbix は上記のファイルを読み取り、以下の判断を行う
  1.トラップ発生元のIPアドレスに該当するホストが存在するか
  2.ホストに該当するSNMPトラップ監視項目があるか
5.SNMPトラップ監視項目がある場合は、その監視項目に値を記録
6.SNMPトラップ監視項目がない場合は、一致しないトラップとして記録

終わりに

今回は、SNMPの監視について説明しました。クラウド環境においてはSNMP監視を行うことは少ないと思います。しかし、HCI(Hyper-Conversed Infrastructure)などのプライベートクラウドを使用する場合、SNMP監視が必要なことがあります。監視項目の1つとして覚えておいたほうが良いと思います。

次回は、ログ監視について説明しようと思います。次回をお楽しみに。