SNMPをサーバーパフォーマンスの監視に用いるメリット
SNMP(Simple Network Management Protocol)とは、ネットワーク内に存在する装置の状態を監視することを目的につくられたプロトコルで業界標準の規格です。SNMPを用いた監視では、SNMPエージェントが持つMIB(Management Information Base)に装置の情報が格納されており、このMIBをSNMPマネージャーとやり取りすることで監視対象の装置の情報を取得します。機器のベンダーに左右されず利用することができます。
また、監視対象の機器に監視ツール用のエージェントを個別インストールする必要がないなど、監視を始めるための設定が簡単です。
ベンダーが独自に定義した拡張MIBを利用すれば、そのベンダー機器特有の監視項目もSNMPを通して確認することができます。ベンダーの差異による利用の障壁がない一方で、監視の多様性が確保されてることもSNMP監視の利点の1つです。
SNMPによるCPU使用率の監視方法
SNMPを用いてサーバーのCPU使用率を監視するには、
HOST-RESOURCES-MIBのhrProcessorLoad(.1.3.6.1.2.1.25.3.3.1.2)
を使用します。当該のMIB説明は以下の通りです。
"The average, over the last minute, of the percentage of time that this processor was not idle."
(このプロセッサがアイドル状態になっていない時間の割合の最新1分間平均)
このMIBオブジェクトにより、CPUの各論理コアのCPU使用率の平均が取得できます。
各論理コアの値の平均を算出することにより、サーバーのCPU使用率を算出することが可能です。
snmpwalkコマンドを用いたサーバーCPU使用率の算出例
#snmpwalk -v1 -c public hostname .1.3.6.1.2.1.25.3.3.1.2
HOST-RESOURCES-MIB::hrProcessorLoad.1 = INTEGER: 4
HOST-RESOURCES-MIB::hrProcessorLoad.2 = INTEGER: 11
HOST-RESOURCES-MIB::hrProcessorLoad.3 = INTEGER: 9
HOST-RESOURCES-MIB::hrProcessorLoad.4 = INTEGER: 8
HOST-RESOURCES-MIB::hrProcessorLoad.5 = INTEGER: 16
HOST-RESOURCES-MIB::hrProcessorLoad.6 = INTEGER: 13
HOST-RESOURCES-MIB::hrProcessorLoad.7 = INTEGER: 5
HOST-RESOURCES-MIB::hrProcessorLoad.8 = INTEGER: 4
(4 + 11 + 9 + 8 + 16 + 13 + 5 + 4) / 8 = 8.7..(%)
よってCPU使用率は9%となります。
SNMPによるメモリー使用率の監視方法
SNMPを用いてサーバーのメモリー使用率を監視するには、HOST-RESOURCES-MIBの以下の3つのMIBオブジェクトを使用します。
hrStorageType - .1.3.6.1.2.1.25.2.3.1.2
hrStorageAllocationUnits - .1.3.6.1.2.1.25.2.3.1.4
hrStorageUsed - .1.3.6.1.2.1.25.2.3.1.6
メモリ使用率(%)は、以下の計算式で求められます。
(hrStorageAllocationUnits * hrStorageUsed)/(Total Ram Size(MB) * 1024 * 1024) *100
Total Ram Siz(MB)はサーバーのRAM値です。
snmpwalkコマンドを用いたサーバーメモリー使用率の算出例
サーバーのRAM:16GB
HOST-RESOURCES-MIB::hrStorageType.1 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.2 = OID: HOST-RESOURCES-TYPES::hrStorageCompactDisc
HOST-RESOURCES-MIB::hrStorageType.3 = OID: HOST-RESOURCES-TYPES::hrStorageVirtualMemory
HOST-RESOURCES-MIB::hrStorageType.4 = OID: HOST-RESOURCES-TYPES::hrStorageRam
#snmpwalk -v1 -c public hostname .1.3.6.1.2.1.25.2.3.1.4
HOST-RESOURCES-MIB::hrStorageAllocationUnits.1 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.2 = INTEGER: 0 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.3 = INTEGER: 65536 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.4 = INTEGER: 65536 Bytes
#snmpwalk -v1 -c public hostname .1.3.6.1.2.1.25.2.3.1.6
HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 35826129
HOST-RESOURCES-MIB::hrStorageUsed.2 = INTEGER: 0
HOST-RESOURCES-MIB::hrStorageUsed.3 = INTEGER: 140433
HOST-RESOURCES-MIB::hrStorageUsed.4 = INTEGER: 132504
hrStorageType中の「hrStorageRam」(インデックス4)の値を使用します。
よって、hrStorageAllocationUnitsは「65536」、hrStorageUsedは「132504」となります。 これを計算式に当てはめると、
(65536 * 132504)/(16384 * 1024 * 1024) * 100 = 50.5...(%)
よってメモリー使用率は51%となります。
SNMPを使用した監視をより効率化するツール
サーバーパフォーマンスの監視目的でSNMPプロトコルやMIBを扱う場合、サーバーの台数が増加するにつれて、管理の手間が増えてしまいます。
手動でのコマンド実行や計算よりも効率的にネットワーク機器を管理・監視するには、SNMPを利用して自動でパフォーマンスデータを収集するツールを使用するのがお勧めです。
ManageEngineが提供する統合監視ツールである「OpManager」は、SNMPを利用してネットワーク機器を自動で監視し、機器のステータスが一目で分かるように可視化します。 スイッチ監視、ルーター監視、CPU監視、メモリ監視、ポート監視、アプリケーション監視、イベントログ監視機能などが、Webベースのわかりやすい画面で管理できます。ネットワーク監視に関する知識がない方でも操作が可能で、容易に運用できるのが特徴です。
ネットワーク機器やサーバーの監視の自動化・効率化の方法をお探しの場合は、是非「OpManager」をご検討ください。
無料で使えます[機能・監視数 無制限]
関連機能
- SNMPトラップ監視機能
SNMPトラップを監視する機能について紹介しています。 - リソース監視機能
CPUやメモリー・ディスクの状態を監視するリソース監視機能についてご紹介しています。 - トラフィック監視機能
ネットワークパトラフィックを手軽に可視化する機能を紹介しています。