今回は、サーバ運用で監視によく利用する「SNMP監視」と「MIB値」について、分かりやすく解説していきます。
この記事を読めばSNMPとMIBの基本概念を理解し、実際の業務で活用できるようになるように書いたつもりです。よろしくお願いします。
SNMPとは何か?監視の基本プロトコルを理解する
SNMP(Simple Network Management Protocol)は、ネットワーク機器やサーバの監視・管理を行うためのプロトコルです。「シンプル」という名前が付いているとおり、比較的理解しやすい仕組みになっています。
SNMPの最大の特徴は、監視対象(サーバやネットワーク機器)から情報を「取得」することができる点です。この情報取得により、CPU使用率、メモリ使用量、ディスク容量などのリアルタイムなシステム状態を把握できます。
SNMPの基本的な動作原理
SNMP監視では、以下の要素が連携して動作します:
SNMPマネージャー:監視する側のシステム(監視サーバ) SNMPエージェント:監視される側のシステム(監視対象サーバ) MIB:監視項目の定義情報(後述)
SNMPマネージャーがSNMPエージェントに対して「GET要求」を送信し、エージェントが該当する監視データを応答として返すという流れが基本となります。
MIB(Management Information Base)の概念と重要性
MIBは「Management Information Base」の略で、SNMPで監視できる項目を体系的に定義したデータベースのようなものです。新人エンジニアがつまずきやすいポイントですが、MIBを「監視項目の住所録」と考えると理解しやすくなります。
MIBの階層構造とOID
MIBは木構造で整理されており、各監視項目には「OID(Object Identifier)」という一意の識別子が割り当てられています。例えば、CPU使用率を取得したい場合、対応するOIDを指定してSNMP要求を送信します。
OIDは「1.3.6.1.2.1.25.3.3.1.2」のような数字の組み合わせで表現され、一見複雑に見えますが、これは住所のような役割を果たしています。
実際の監視業務でよく使用されるMIB値一覧
最初に覚えておくべき、実用性の高いMIB値をご紹介します。
システムリソース監視の基本MIB値
CPU使用率関連
- hrProcessorLoad:プロセッサの使用率
- OID例:1.3.6.1.2.1.25.3.3.1.2
メモリ使用量関連
- hrStorageUsed:使用済みメモリ量
- hrStorageSize:総メモリ量
- これらを組み合わせてメモリ使用率を算出
ディスク容量関連
- hrStorageTable:ストレージ情報テーブル
- ディスクの使用量と空き容量を監視
ネットワークインターフェース関連
- ifInOctets:受信バイト数
- ifOutOctets:送信バイト数
- ifOperStatus:インターフェースの動作状態
システム情報取得のためのMIB値
基本システム情報
- sysDescr:システムの説明
- sysUpTime:システムの稼働時間
- sysName:システム名
これらのMIB値は、サーバの基本情報を把握する際に非常に有用です。
よく使用されるMIB値一覧表
実際の監視業務でよく使用されるMIB値を表形式でまとめました。この表を参考にして、監視システムの構築や運用に活用してください。
分類 | MIB名 | OID | 説明 | 主な用途 |
---|---|---|---|---|
システム基本情報 | sysDescr | 1.3.6.1.2.1.1.1.0 | システムの説明文 | OS種別・バージョン確認 |
sysUpTime | 1.3.6.1.2.1.1.3.0 | システム稼働時間 | 再起動監視・稼働率計算 | |
sysName | 1.3.6.1.2.1.1.5.0 | システム名 | サーバ識別 | |
CPU監視 | hrProcessorLoad | 1.3.6.1.2.1.25.3.3.1.2 | CPU使用率(%) | パフォーマンス監視 |
laLoad1 | 1.3.6.1.4.1.2021.10.1.3.1 | 1分間のロードアベレージ | システム負荷監視 | |
laLoad5 | 1.3.6.1.4.1.2021.10.1.3.2 | 5分間のロードアベレージ | システム負荷トレンド | |
メモリ監視 | hrStorageSize | 1.3.6.1.2.1.25.2.3.1.5 | 総メモリサイズ | メモリ容量確認 |
hrStorageUsed | 1.3.6.1.2.1.25.2.3.1.6 | 使用済みメモリ | メモリ使用率計算 | |
memTotalReal | 1.3.6.1.4.1.2021.4.5.0 | 物理メモリ総量 | メモリ監視設定 | |
memAvailReal | 1.3.6.1.4.1.2021.4.6.0 | 利用可能メモリ | メモリ不足検知 | |
ディスク監視 | hrStorageDescr | 1.3.6.1.2.1.25.2.3.1.3 | ストレージの説明 | ディスク識別 |
dskPercent | 1.3.6.1.4.1.2021.9.1.9 | ディスク使用率(%) | ディスク容量監視 | |
dskTotal | 1.3.6.1.4.1.2021.9.1.6 | ディスク総容量 | 容量管理 | |
dskUsed | 1.3.6.1.4.1.2021.9.1.8 | ディスク使用量 | 使用量監視 | |
ネットワーク監視 | ifDescr | 1.3.6.1.2.1.2.2.1.2 | インターフェース名 | NIC識別 |
ifOperStatus | 1.3.6.1.2.1.2.2.1.8 | インターフェース状態 | リンク状態監視 | |
ifInOctets | 1.3.6.1.2.1.2.2.1.10 | 受信バイト数 | 通信量監視 | |
ifOutOctets | 1.3.6.1.2.1.2.2.1.16 | 送信バイト数 | 通信量監視 | |
ifInErrors | 1.3.6.1.2.1.2.2.1.14 | 受信エラー数 | 通信品質監視 | |
ifOutErrors | 1.3.6.1.2.1.2.2.1.20 | 送信エラー数 | 通信品質監視 | |
プロセス監視 | hrSWRunName | 1.3.6.1.2.1.25.4.2.1.2 | 実行中プロセス名 | プロセス監視 |
hrSWRunStatus | 1.3.6.1.2.1.25.4.2.1.7 | プロセス状態 | サービス監視 |
MIB値活用時の注意点
- インデックス番号:テーブル形式のMIBでは、最後にインデックス番号を付けて特定の項目を取得
- データ型の理解:数値、文字列、時刻など、MIB値によってデータ型が異なる
- ベンダー固有MIB:上記は標準MIBですが、機器メーカー独自のMIBも存在
SNMP監視の実践的な活用事例
日常的な監視業務での活用
実際の監視業務では、これらのMIB値を組み合わせて使用します。例えば、サーバのパフォーマンス監視では:
- CPU使用率が高い場合、プロセス情報のMIB値も確認
- メモリ不足が疑われる場合、スワップ使用量のMIB値をチェック
- ネットワーク異常時は、インターフェース統計のMIB値を参照
監視システム構築時の考慮点
監視システムを構築する際は、以下の点に注意が必要です:
- 監視間隔の設定:頻繁すぎる監視はシステム負荷を増加させる
- 閾値の適切な設定:業務に影響を与える前にアラートが発生するよう調整
- MIB値の組み合わせ:単一の値だけでなく、複数の指標を総合的に判断
まとめ:SNMP監視とMIB値の理解を深めるために
SNMP監視とMIB値は、最初は複雑に感じるかもしれませんが、基本概念を理解し、実際の業務で使用していくことで必ず習得できます。
まずは今回紹介した基本的なMIB値から始めて、徐々に監視の幅を広げていくことをお勧めします。実際の障害対応や日常監視を通じて、SNMP監視の有効性を実感できるはずです。
継続的な学習と実践を通じて、信頼性の高いシステム運用を実現していきましょう。
コメント