SNMPでサーバリソースを監視するとさまざまな状況を把握することができる。異常となる予兆をとらえることができ、その予兆はメールなどで受け取ることが可能だ。
オープンソースのモニタリングプロトコル「Net-SNMP」独自のMIB-IIツリーである「UCD-SNMP(ucdavis)」を参照すると、機器の「メモリ」「プロセス状態」「ディスク容量」「ロードアベレージ」をはじめとするサーバの状況を参照することができる。
このオンライン・ムックPlus「SNMPによるネットワークモニタリング“第2版”」は、2001年5月に公開した「SNMPによるネットワークモニタリング」を元に、6年以上の歳月を経て、枯れた情報を最新環境に合うよう刷新していくものだ。
第6回目となる今回は、機器のリソース監視をテーマとして、これらの情報の扱い方を説明していく。主にこの連載はデータセンターの管理者がSNMPを扱うためのノウハウとして記事化したものだが、モニタリング手法として最もレガシーな、SNMPというものが何であるのかを理解することができる。
UCD-SNMP(ucdavis(1.3.6.1.4.1.2021))に、どのような情報があるのかは、Net-SNMPのMIB一覧で参照することが可能だ(関連リンク)。
情報は、表1に示すようにブツリーごとに分類されている。
表1a■UCD-SNMPのサブツリー(スカラー)
| 名称 | OID | 意味 |
|---|---|---|
| memXXX | ucdavis.4.XXX | メモリに関する情報 |
| ssXXX | ucdavis.11.XXX | CPUやI/Oなどのシステムステータス情報 |
| versionXXX | ucdavis.100.XXX | バージョン情報や再起動などの指示 |
| snmperrXXX | ucdavis.101.XXX | SNMPエラー情報 |
表1b■UCD-SNMPのサブツリー(テーブル)
| 名称 | OID | 意味 |
|---|---|---|
| prTable | ucdavis.2 | プロセス情報 |
| extTable | ucdavis.8 | プロセスが異常を来したときに実行するコマンド一覧 |
| dskTable | ucdavis.9 | パーティション単位のディスク情報 |
| laTable | ucdavis.10 | ロードアベレージ情報 |
| fileTable | ucdavis.15 | ファイルの監視情報 |
| logMatchTable | ucdavis.16 | ログ監視情報 |
| mrTable | ucdavis.102 | 登録されているMIBモジュール名一覧 |
メモリの情報はucdavis.4.XXXに含まれている(表2)。
これはスカラー値なので、後ろに「.0」を付け、snmpgetコマンドを使って容易に取得できる(「スカラー」については、第5回目を参照のこと)。例えば、次のようにすると、現在の空きメモリ状態が表示される。
$ snmpget -c hogeprivate -v 1 localhost memAvailReal.0
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 229744
ここでは説明しないが、スカラー値を持つほかのサブツリーも同様にして取得することができる。
表2■メモリ情報(ucdavis.4)
| 名称 | OID | 意味 |
|---|---|---|
| memIndex | ucdavis.4.1 | 常に0 |
| memErrorName | ucdavis.4.2 | 常に「swap」という文字列 |
| memTotalSwap | ucdavis.4.3 | 利用できる総スワップ容量 |
| memAvailSwap | ucdavis.4.4 | 未使用のスワップ容量 |
| memTotalReal | ucdavis.4.5 | 搭載されている実メモリ容量 |
| memAvailReal | ucdavis.4.6 | 未使用の実メモリ容量 |
| memTotalSwapTXT | ucdavis.4.7 | テキストページとして割り当てられているスワップ総容量 |
| memTotalRealTXT | ucdavis.4.9 | テキストページとして割り当てられている実メモリ容量 |
| memTotalFree | ucdavis.4.11 | メモリ空き容量 |
| memMinimumSwap | ucdavis.4.12 | このホストにおける最小限必要なスワップ残量。memAvailSwapが、この値を下回ると、memSwapErrorに1が設定される |
| memShared | ucdavis.4.13 | 共有メモリとして割り当てられているメモリ容量 |
| memBuffer | ucdavis.4.14 | バッファメモリとして割り当てられているメモリ容量 |
| memCached | ucdavis.4.15 | キャッシュメモリとして割り当てられているメモリ容量 |
| memUsedSwapTXT | ucdavis.4.16 | テキストページとして現在使われているスワップ容量 |
| memUsedRealTXT | ucdavis.4.17 | テキストページとして現在使われている実メモリ容量 |
| memSwapError | ucdavis.4.100 | スワップ残量が少なくなったときの警告フラグ。memAvailSwapがmemMinimumSwapを下回ったときに1になる |
| memSwapErrMsg | ucdavis.4.101 | memSwapErrorが1になったときのエラーメッセージ |
Copyright © ITmedia, Inc. All Rights Reserved.