サービスが遅くなったり応答しなくなったりすると、誰もそれを好きになりません。 SNMPは、低レベルのシステム状態から詳細な統計を取得するまでの監視に役立つプロトコルです。
チャームは、インフラストラクチャ全体でSNMPをサードパーティの監視ツールと組み合わせて使用し、インフラストラクチャの安定性を24時間年中無休で確保します。
スタッフの概要
メンバーA
リモートで機器の監視、管理を行う仕組みの一つ。
SNMPエージェントにより機器の状態(CPU使用率など)はMIBと呼ばれるデータベースに格納される。
MIBの情報(Object)にはOID(Object ID)と呼ばれる識別符号が割り当てられている。
- 標準MIB ・・RFC1213で定義されている標準規格
- 拡張MIB ・・各ベンダーオリジナルの管理情報(OID)
OIDの値をSNMPマネージャーで読み取ることで機器の状態の監視をすることが出来る。
例えばCPU使用率を監視する場合、対象となるOIDの値から現在何%であるか確認することが出来る。
監視方法は2種類ある。
- ポーリング監視 ・・マネージャーにて定期的にチェックする
- トラップ ・・エージェントがマネージャーへ自発的に通知する
MIBは読み取るだけでなく、マネージャーから値を変更することで機器の操作をすることもできる。(再起動、インターフェースの停止など)
メンバーB
SNMPとは
SNMP (Simple Network Management Protocol) とは、TCP/IPネットワーク経由でルータなどのネットワーク機器をはじめ、サーバ等、ネットワークに接続された機器を、監視、および制御するためのプロトコル。
SNMPではチャームで利用しているDatadogなどのマネージャー(管理、監視する側)、PCやネットワーク機器などのエージェント(管理、監視される側)に分かれて、お互いが通信し合う。
MIBについて
エージェントの状態をマネージャ側で管理、監視する際は、エージェント側のMIB(Management Information Base)が利用される。
MIBはツリー構造で記述されたテキストファイルとなっており、以下2種類のMIBが存在する。
- 標準MIB:複数のベンダーで共通(機器名、ベンダー名、CPU・メモリ利用率など)の一般的に監視する際に利用されるMIB、MIB1とMIB2があるが昨今ではMIB2が主流
- 拡張MIB:ベンダー独自に設定した情報が記載されているMIB(スイッチの特定のポートの通信量など)
拡張MIBに至っては、マネージャ側で拡張MIBに関する情報を事前にインポートしておかないと、情報を可視化する際に問題となることが多い。
また、RMON(Remote Monitoring MIB)と呼ばれる、ネットワークの回線を監視するパラメータ群から構成されているMIBも存在する。
DatadogやSNMPアプリケーションとしてメジャーなMRTGなどで、RMONを読み取り通信トラフィックの統計情報をグラフ化する。
マネージャーからエージェントに対し、情報を取得する際は、「OID」を指定(リクエスト)して情報取得する方法が一般的であり、エージェントはリクエストに対してMIBより情報を送付する。
逆に、エージェント側の状態に変化があった場合、エージェントはTRAPとしてマネージャーへ自発的にSNMPの通信を送信する。
メンバーC
SNMPとは、ルータ、スイッチ、サーバなどTCP/IPネットワークに接続されたネットワーク機器に対して、ネットワーク経由で監視、制御するためのアプリケーション層プロトコルである。
SNMPを利用することにより、ネットワークに障害が発生した場合にどの機器に障害が発生したのかをすぐに突き止められるなど、迅速な障害復旧に役立つ。
メンバーD
SNMPとは
SNMP(Simple Network Management Protocol)は、UDP/IPベースのネットワーク監視、ネットワーク管理を行うためのプロトコルです。 ルーター、スイッチなどのネットワーク機器、WindowsやUNIXサーバーなどの状態監視、リソース監視、パフォーマンス監視、トラフィック監視を行うために使用します。
アーキテクチャ
SNMPは、SNMPマネージャとSNMPエージェント間での通信プロトコルです。 ・SNMPマネージャ SNMPマネージャは、SNMPエージェントから送られた管理情報を分かりやすく表示するソフトウェア SNMPマネージャは、SNMPコマンド(Get/GetNext/GetBulk/Set)をSNMPエージェントへ送信します。 世の中には数多くのSNMPマネージャが存在します。 OSSとしては、「Zabbix」、「hinemos」、「Nagios」、「MRTG」、「Munin」などがあります。 ・SNPMエージェント SNMPエージェントは監視される機器上で動作するソフトウェアで管理情報をSNMPマネージャに送信します。 Windowsでは、サービスとしてSNMPエージェントをインストールすることが可能です。 Linuxでは、OSSの「Net SNMP」を動作させることが可能です。
SNMPトラップとは
SNMPトラップ(SNMP Trap)とは、SNMPエージェントがSNMPマネージャーに通知を送信する仕組みです。 SNMPマネージャーが監視対象のSNMPエージェント側に問い合わせして返答を得る仕組みのSNMPと異なり、 SNMPトラップは異常状態が発生したことを契機に、SNMPエージェント自らトラップを送信します。 SNMPトラップを参照して、機器のパフォーマンス低下や障害情報を把握できます。 SNMPを用いた監視の多くは、一定の間隔ごとに情報を取得する「ポーリング」をおこなって情報を取得します。 ポーリングで情報を取得する場合、ポーリングした瞬間の情報を一定間隔で取得するという性質上、 ポーリングとポーリングの間に発生した出来事については検知することができません。 SNMPトラップを設定すると、ポーリング間で発生した障害情報についても把握可能になり、より隙のないネットワーク管理を実現できます。
MIBとは
SNMPでは機器の状態に関する情報を「MIB」(Management Information Base)と呼ばれるデータモデルで管理しており、 マネージャとエージェントが同じMIBに基いて情報をやりとりする。 MIBの項目は木構造で管理されており、各項目は「OID」(Object ID)と呼ばれる識別子で一意に識別される。 MIB全体を表すツリーのうち、多くの機器に共通する基本的、汎用的な項目についてはIEEEやIETFによって標準化されており、これを「標準MIB」という。 一方、ツリーの一部は機器のメーカーなどが自由に設計して使用することができる「拡張MIB」となっており、メーカーや機種に固有の情報のやり取りなどに使われる。 「iso.org.dod.internet.mgmt.mib-2」(1.3.6.1.2.1) 以下に定義されているものを「標準MIB」 「iso.org.dod.internet.private.enterprises」(1.3.6.1.4.1)以下を各メーカーが独自に定義する「拡張MIB」という。
関連キーワード
syslog