【サーバ運用】知っておくべきSNMP監視とMIB値の基礎知識

NW技術

今回は、サーバ運用で監視によく利用する「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値を組み合わせて使用します。例えば、サーバのパフォーマンス監視では:

  1. CPU使用率が高い場合、プロセス情報のMIB値も確認
  2. メモリ不足が疑われる場合、スワップ使用量のMIB値をチェック
  3. ネットワーク異常時は、インターフェース統計のMIB値を参照

監視システム構築時の考慮点

監視システムを構築する際は、以下の点に注意が必要です:

  • 監視間隔の設定:頻繁すぎる監視はシステム負荷を増加させる
  • 閾値の適切な設定:業務に影響を与える前にアラートが発生するよう調整
  • MIB値の組み合わせ:単一の値だけでなく、複数の指標を総合的に判断

まとめ:SNMP監視とMIB値の理解を深めるために

SNMP監視とMIB値は、最初は複雑に感じるかもしれませんが、基本概念を理解し、実際の業務で使用していくことで必ず習得できます。

まずは今回紹介した基本的なMIB値から始めて、徐々に監視の幅を広げていくことをお勧めします。実際の障害対応や日常監視を通じて、SNMP監視の有効性を実感できるはずです。

継続的な学習と実践を通じて、信頼性の高いシステム運用を実現していきましょう。

【注意】

このブログは技術に関する知識や経験を共有することを目的としており、情報の正確性に努めていますが、その内容の正確性や完全性を保証するものではありません。ブログの情報を利用する場合は、自己の責任において行動してください。ブログの内容に基づいて行った行動や決定によって生じた損害や被害について、筆者は一切の責任を負いません。

 

記事の内容の一部は、生成AIで作成しています。

NW技術
この記事の作者
StarTeller

30歳で異業種からITエンジニアへ転身し、10年以上にわたりインフラエンジニアとして様々な現場でシステム構築・運用に携わってきました。

得意分野はLinux/Windowsのサーバー構築・運用で、ネットワークやAWSなども実務で活用しています。

このブログでは、これまでの業務で培った経験を基に、日々の業務で遭遇した問題の解決方法や、システム構築の具体的な手順を解説。現場のエンジニアが実際に「困ったとき」に参照できる情報を意識して投稿していこうと思っています。

StarTellerをフォローする
StarTellerをフォローする

コメント

タイトルとURLをコピーしました