UNIX/SNMP

コマンド

Solaris は /usr/sfw/binディレクトリ以下に格納されている。Linuxは net-snmp-utils パッケージをインストールすることで利用可能

コマンド説明
snmpbulkgetSNMP GETBULK要求を使ってネットワークエントリと通信
snmpbulkwalkSNMP GETBULK要求を使ってネットワークエントリと通信
snmpconfSNMP の設定ファイルを作成、修正
snmpgetSNMP GET要求を使ってネットワークエントリと通信
snmpgetnextSNMP GETNEXT要求を使ってネットワークエントリと通信
snmpwalkSNMP GETNEXT要求を使ってネットワークエントリと通信。
OIDを指定したツリー以下の情報を一括で取得可能
snmpsetSNMP SET要求を使ってネットワークエントリと通信
snmptrapSNMP trap を指定したホストへ送信(例)snmptrap -v 2c -c public 192.168.11.19 '' .1.3.6.1.6.3.1.1.5.3
snmpdfディスク使用量の一覧取得
snmpnetstatネットワークステータスの確認
snmpdelta整数値のOIDを監視し、時間経過による変化を報告
snmpstatusネットワークエントリから統計情報を取得
snmptableSNMPテーブルの情報を表形式で表示
snmptest任意のMIBオブジェクトに対してGet、GetNext、Setを実行
snmptranslateMIBシンボル名と、OIDの整数値表示を変換する

共通オプション

オプション説明
-a 認証方式SNMPv3の認証方法(MD5またはSHA)を設定
-A パスワードSNMPv3における認証パスワード指定
-c コミュニティ名SNMPv1、SNMPv2cにおけるコミュニティ名を指定
-l セキュリティレベルSNMPv3において用いるセキュリティレベル。
noAuthNoPriv(認証も暗号化もしない)、authNoPriv(認証するが暗号化はしない)、authPriv(認証も暗号化もする)
-x 暗号化プロトコルセキュリティレベルがauthPrivである場合に用いる暗号化プロトコル(DESかAES)
-X 暗号化パスワードセキュリティレベルがauthPrivである場合に用いる暗号化パスワード
-v バージョン番号SNMPバーションを指定する。「1」「2c」「3」のいずれか
-O 表示オプション-On(OIDで出力する)や-Os(MIDシンボルで表示する)など

SNMP GETにて情報を取得する

snmpget [共通オプション] ホスト名 { OID | MIBシンボル }

/usr/sfw/bin/snmpget -v 1 -c public localhost .1.3.6.1.2.1.1.1
SNMPv2-MIB::sysDescr.0 = STRING: SunOS Solaris10 5.10 Generic_137138-09 i86pc

SNMP SETにて値を設定する

snmpset [共通オプション] ホスト名 { OID | MIBシンボル } 型 値

説明
uUNSIGNED
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS


MIB

MIB情報は、分野別に分けられたツリー構造となっているが、よく利用されるのは MIB-II と UCD-SNMP。

MIB-II(1.3.6.1.2.1)

名称OID説明
system1.3.6.1.2.1.1システム名、場所、提供するサービス、稼働時間など
interfaces1.3.6.1.2.1.2インタフェースの情報
at1.3.6.1.2.1.3アドレス変換情報
ip1.3.6.1.2.1.4IPに関する情報
icmp1.3.6.1.2.1.5ICMPに関する情報
tcp1.3.6.1.2.1.6TCPコネクションに関する情報
udp1.3.6.1.2.1.7UDPコネクションに関する情報
egp1.3.6.1.2.1.8EGP
transmission1.3.6.1.2.1.10変換タイプを定義するグループ
snmp1.3.6.1.2.1.11SNMP自身に関する情報

UCD-SNMP(1.3.6.1.4.1.2021)

名称OID説明
mem.XXX1.3.6.1.4.1.2021.4.xメモリに関する情報
ss.XXX1.3.6.1.4.1.2021.11.xCPUやI/Oなどのシステムステータス情報
version.XXX1.3.6.1.4.1.2021.100.xバージョン情報や再起動などの指示
snmperr.XXX1.3.6.1.4.1.2021.101.xSNMPエラー情報
prTable1.3.6.1.4.1.2021.2プロセス情報
extTable1.3.6.1.4.1.2021.8プロセスが異常を来したときに実行するコマンド一覧
dskTable1.3.6.1.4.1.2021.9パーティション単位のディスク情報
laTable1.3.6.1.4.1.2021.10ロードアベレージ情報
fileTable1.3.6.1.4.1.2021.15ファイルの監視情報
logMatchTable1.3.6.1.4.1.2021.16ログ監視情報
mrTable1.3.6.1.4.1.2021.102登録されているMIBモジュール名一覧


SNMP設定ファイル

/etc/sma/snmp/snmpd.conf

SNMPv1/SNMPv2cのコミュニティ設定

rocommunity コミュニティ名 適用するネットワーク範囲 OID
rwcommunity コミュニティ名 適用するネットワーク範囲 OID
ネットワーク範囲は192.168.11.0/24 や localhostのように指定。
OIDを指定すると、指定したツリー以降にのみ適用するようになる。

SNMPv3でのユーザー設定

rouser ユーザー名 { noauth | auth | priv }
rwuser ユーザー名 { noauth | auth | priv }

オプション説明
noauth認証しなくてもよい。パスワードは不要でコミュニティ名が一致すれば使用可能
authパスワード認証するが暗号化しない
privパスワード認証及び暗号化を行う

パスワード設定

パスワードはUSMと呼ばれるMIB領域に別途作成する必要がある。
/var/net-snmp/smnpd.conf に以下を追加する。

createUser ユーザー名 認証種別 認証パスワード 暗号化種別 暗号化パスワード

閾値の判定

proc プロセス名 [最小値] [最大値]

監視するプロセスが最小値を下回った、または最大値を上回った場合、
prTableの「procErrorFlag.INDEX番号」が1になる。

procfix プロセス名 コマンド 引数

SNMP経由で値が設定された時に呼び出したいコマンドを記述する

disk マウントディレクトリ [最小値(KB or %)]

最小値(省略時は100kb)を下回った時、dskTableの「dskErrorFlag.INDEX番号」が1になる。

load 1分の閾値 [5分] [15分]

閾値を超えた時、laTableの「laErrorFlag.n」が1になる。
nは1〜3でそれぞれ1分、5分、15分の閾値。

MIB定義ファイル

/usr/local/share/snmp/mibs/

SYNTAXは型の定義。SEQUENCEとなっているのは構造体の為、OIDの最後にINDEX番号が必要。


トップ   編集 凍結解除 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-04-15 (土) 18:54:09 (12d)