協栄情報えじまです
みなさまお久しぶりです
本日はSNMPをピックアップして、今後の自分のためにも記録を残したいと思いブログを書くことにしました
SNMPとは
SNMPとは
SNMP(Simple Network Management Protocol)とは、IPネットワーク上のルータやスイッチ、サーバ、端末など様々な機器をネットワーク経由で遠隔から監視・制御するためのプロトコル(通信規約)の一つ。組織内の構内ネットワーク(LAN)の管理でよく用いられる。
SNMP監視について
今回はSNMPプロトコルを利用した監視設定や用語についてお話をしていきたいと思います。
デバイスに障害が起きたときに通知をしてもらうための仕組みとしてSNMPプロトコルを利用します。
障害検知のための主な仕組みとして、通信を受け取る管理役(SNMPマネージャ)と、障害が起きていないか監視する監視役(SNMPエージェント)がいます。
また、それぞれのデバイスでSNMPのソフトウェアをインストールする必要があります。
SNMP監視構成
以下の画像のような構成になっています。
マネージャーはエージェントと相互にやり取りをしており、随時情報の交換をして、サーバに障害があれば検知し、通知をしてくれます。
- SNMPマネージャー
ネットワーク機器を監視するソフトウェアです。
設定した間隔でSNMPエージェントへ情報の要求(SNMP要求)を行います。
この要求には、主に、snmpgetなどがあります。
snmpget:SNMPマネージャーがエージェントに対して特定の管理情報ベース(MIB)オブジェクトの値を要求します。
例: デバイスのCPU使用率やインターフェースの状態を取得する。
-
SNMPエージェント
マネージャーからの要求に対して、監視しているデバイスのMIBと呼ばれる管理情報を交換します。
デバイスに発生した変化に応じて、SNMPトラップを発行してマネージャーに送信します。 -
MIB(Management Information Base)
SNMPが使用するデータベースであり、ネットワークデバイスの情報を構造化して保存します。MIBは、管理対象の各デバイスに関する情報をオブジェクトとして定義します。
MIBは階層的な構造を持ち、ツリーのような形で情報を整理します。各ノード(オブジェクト)は一意のOID(Object Identifier)を持ちます。OIDは、各オブジェクトの位置を示す一連の数字で構成されています。
例えば、1.3.6.1.2.1 は、MIBツリーの特定のノードを示します。
SNMPトラップ
監視対象のデバイスに異常が起きたときSNMPエージェントが自動でSNMPトラップを作成し、SNMPマネージャーにメッセージを送信します。
SNMPトラップには「一般トラップ」と「ベンダー固有のトラップ」とありますが、いくつか種類があります。
SNMPトラップの種類は以下のようになっています。
一般 or 固有 | 種類 | トラップ番号 | 発声するタイミング |
---|---|---|---|
一般 | coldStart | 0 | デバイスがリセットされたときに送信されます |
一般 | warmStart | 1 | デバイスが再起動されたときに送信されます |
一般 | linkDown | 2 | ネットワークインターフェースがダウンしたときに送信されます |
一般 | linkUp | 3 | ネットワークインターフェースがアップしたときに送信されます |
一般 | authenticationFailure | 4 | SNMPエージェントが認証に失敗したときに送信されます |
一般 | egpNeighborLoss | 5 | EGP(Exterior Gateway Protocol)ネイバーが失われたときに送信されます |
固有 | enterpriseSpecific | 6 | ベンダー固有のイベントを示すトラップです |
コミュニティ名
SNMP通信をする際に必ず設定が必要になるのが、コミュニティ名です。
SNMPでは、コミュニティ名を使用して、エージェントとマネージャー間の認証とアクセス制御を行います。
デフォルトでは「public」(読み取り専用)と「private」(読み取り/書き込み)という名前が使われますが、
セキュリティを強化するために独自の名前に変更することが推奨されます。
また、マネージャーとエージェントで同一のコミュニティ名を設定する必要があります。
私は合言葉のようなイメージを持ちました。
以下は、設定のためのコマンドです。
snmp-server community コミュニティ名 RO
snmp-server community コミュニティ名 RW
- ROは【Read-Only】の意味です。
SNMPマネージャーはSNMPエージェントの情報を取得できますが、変更することはできません. - RWは【Read-Write】の意味です。
SNMPマネージャーはSNMPエージェントの情報を取得するだけでなく、変更や設定も行うことができます。
まとめ
このようにSNMPを利用することにより、障害への対策として利用できます。
もちろん単体で利用するというよりは、ミドルウェアやソフトウェアを利用することにより、イベントの発行やエラーのより詳細な可視化を行うことができるので、
管理をより楽に、安全にできるかと思います。今回は趣旨とずれてしまいますので、管理ツールについては機会があれば追記したいと思います。
今回は以上になります。ここまで読んでいただきありがとうございました。