Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ snmpxmon2(1) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

nfsmon(1)

ripxrtmetric(1)

telnet(1)

snmpsrc(1)

snmplookup(1)

snmpxbar(1)

snmpxperf(1)

snmpxperfmon(1)

traceroute(1)

xmon2cfg(1)

ping(8)

SNMPXMON2(1)  —  NEWS-OS Programmer’s Manual

名称

snmpxmon2 − SNMP を用いたネットワークモニター version 2

形式

snmpxmon2 configfile options

解説

snmpxmon2 は、X Windows Version 11 上で動作する SNMP を用いたネットワーク管理ツールです。 snmpxmon2 は、管理対象として設定されたエンティティの ステータス情報をリアルタイムで表示し 他のアプリケーションへのフロントエンドとなっています。 snmpxmon2は、管理可能なネットワークエンティティ (ルーター、ホスト等々)からなるネットワークの集合を表示します。 管理できるプリミティブエンティティやネットワーク間の関係は、 多岐にわたって設定できます。 snmpxmon2 に於て、各プリミティブエンティティ間のシリアルリンクは、 直線同士の接続として表されます。 それに対して、プリミティブエンティティから、 LAN/RING に対する接続は、 1 本のリンクとして表されます。 snmpxmon2 は、表示の為のコントロールプロセス、 プリミティブエンティティの情報を集めるポーリングプロセス、 SNMP のトラップを受け取る為のトラッププロセスより構成されます。 それぞれのプロセスの動作は、ログファイルに記録されます。 (ログファイル名は、ユーザーの設定によります) コントロールプロセスは、画面表示とユーザーからの入力 及び他のコマンドを実行を管理します。 ポーリングプロセスは、ポーリングによって、管理対象となるエンティティから、 エンティティのステータスを収集します。 このプロセスは、あらかじめユーザーによって設定されたインターバルで、 SNMP ポーリングを開始します。 反応が無かったエンティティについては、ポーリングインターバルを短くして、 ポーリングする度合いを増やします。 (ポーリングインターバルがどんどん短くなると、 システムとネットワークへの負荷が増大します。これは、 最小ポーリングインターバルを適当な値に設定することで防止できます。) SNMP によるポーリングを、ある回数(ユーザーによって設定できます) をこえて試みても反応が無かった場合、 SNMP によるポーリングをあきらめて、 ICMP Echo によって、ポーリングを繰り返します。 いったん、ICMP エコーによって反応が得られれば、 SNMP を使った管理情報の収集に戻ります。 トラッププロセスは、管理対象のエンティティからの、 SNMP トラップを受け取ります。 このプロセスは、snmptrapd と同じ形式で、全てのトラップをログファイルに 記録します。(ログファイル名はユーザーによって設定できます) そして、トラップによって得られたリンクステータス (LinkUp, LinkDown) によって、 プリミティブエンティティのステータスを更新します。

X リソースの使い方

Snmpxmon2 は、$HOME/.Xdefaults ファイルから、 ローカルリソースデータベースを作成します。 以下に、 snmpxmon2 で使用できるオプションを、.Xdefaults に記述する形式で示します。 示されている値は、デフォルト値です。

snmpxmon2.display:0.0
snmpxmon2.font:6x10
snmpxmon2.geometry:NULL  (as big as font dictates)
snmpxmon2.borderwidth:2
snmpxmon2.name:snmpxmon2
snmpxmon2.reverseVideo:off
snmpxmon2.color:on
snmpxmon2.background:NavyBlue
snmpxmon2.foreground:white
snmpxmon2.bordercolor:red
snmpxmon2.upcolor:green
snmpxmon2.downcolor:red
snmpxmon2.unknowncolor:yellow
snmpxmon2.icmpcolor:grey
snmpxmon2.pnbordercolor:"khaki"
snmpxmon2.status:on
snmpxmon2.bell:on
snmpxmon2.pulse:on
snmpxmon2.term:xterm
snmpxmon2.pingTerm:xterm
snmpxmon2.telnetTerm:xterm
snmpxmon2.helpTerm:xterm
snmpxmon2.snmplookupTerm:xterm
snmpxmon2.helpTerm:xterm
snmpxmon2.snmpSrcTerm:xterm
snmpxmon2.traceRouteTerm:xterm
snmpxmon2.trapTerm:xterm
snmpxmon2.logTerm:xterm

SNMPXMON2 コンフィギュレーションファイル

snmpxmon2 のコンフィギュレーションファイル は、 snmpxmon2 が動作する為に必ず必要なファイルです。 このファイルにおける全てのキーワードでは、大文字・小文字は区別されません。 キーワードの後に置かれるパラメーターでは、大文字・小文字を区別します。 空白の後か、行の先頭に ’#’ があり、その直後に空白がある場合は、 行末までが注釈になります。 (即ち、’# ’ で始まる行と、行中の ’ # ’ より後が注釈です。 これらの規則は、’#’ で始まるパラメーターを使用する必要によるものです。) ’#’ だけでは、注釈の始まりにならない事に注意して下さい。 いかなる種類の名前(ネットワーク名、プリミティブエンティティ名、 コミュニティ名など)も、アルファベットで始まり、空白を含んではいけません。
IP アドレスは、ドット記法で完全な形で記述して下さい。 ネットワークアドレスのみやローカルに割り当てられたアドレスのみの 記述は誤りになります。 コンフィギュレーションファイルでは、以下の記述を 使用できます。

(1)PRIMENT
Syntax: PRIMENT name { icmponly | pcomm [tcomm] } if1 if2 if3 ...

PRIMENT name if1 if2 if3 ... 

管理対象となるプリミティブエンティティ name の存在を宣言します。 エンドシステムか、インターメディエイトシステムかの区別は、含みません。 エンティティ name は、 インターフェース if1, if2, if3 ... を持ちます。 これらは、 IP アドレスか、’#’ で始まるインターフェース番号で記述されます。 (例えば、’#1’ はインターフェース 1 を示します。) IP アドレスとインターフェース番号は、1 行の中で混在させることができます。 snmpxmon2 が、ICMP によるチェックやトラップの受信を実行するとき、 ここで記述された IP アドレスを使用します。
以下、インターフェース番号とその IP アドレスを対応させて使うことも出来ますが、 ここでは、それぞれのインターフェースに対して番号で参照するのではなく、 IP アドレスをそのたびに書くことをお進めします。
エンティティにおける全てのインターフェースは、 ネットワークの接続状況を表示するのに使用されますので、 ここで、定義される必要があります。 (即ち、PRIMENT の行にこれらが必ず含まれなければなりません。) インターフェースは、ネットワークの接続状況の表示に使用されない限り、 snmpxmon2 に無視されます。 ですから、エンティティを定義するときに、全てのインターフェースを 定義されることをお勧めします。

SNMP のコミュニティ名の替わりに、’icmponly’ と(小文字で)記述することで、そのエンティティに対するポーリングは、 ICMP によるもののみとすることができます。 (icmponly をコミュニティ名とみなしません)

SNMP と ICMP の両方でポーリングするように設定されている場合、 SNMP ポーリングコミュニティ pcomm に加えて、 トラップコミュニティ tcomm を指定できます。 トラップコミュニティを省略した場合、snmpxmon2 はトラップメッセージの 受け答えに関知しません。 全てのプリミティブエンティティは、各種ネットワーク(WAN, LAN, RING)や、 シリアルリンク(SLINK)を定義する前に定義して下さい。

(2)ISENT
Syntax: ISENT name if1 if2 if3 ...
インターメディエイトシステムを定義します。 現在のバージョンでは、ISENT と PRIMENT との間に違いはありません。

(3)ESENT
Syntax: ESENT name if1 if2 if3 ...
エンドシステムを定義します。 ESENT は、ISENT や PRIMENT と違って、反転表示されます。

(4)WAN
Syntax: WAN name priment1 x1 y1 netent2 x2 y2 priment3 if3
ワイドエリアネットワークを定義します。 このとき、関連するネットワークへの接続も定義できます。 WAN を定義するときは、 WAN の名前 ’name’ を最初のパラメーターとして 記述して下さい。

WAN の定義行には、以下のパラメーターを記述できます。

ネットワークに含まれるプリミティブエンティティ名。
直後に、表示したい座標を記述して下さい。
(例: priment1 x1 y1)

関連ネットワーク名。
直後に、表示したい座標・関連ネットワークへのゲートウェイ名・ ゲートウェイの接続されるインターフェースを記述して下さい。
(例: netent2 x2 y2 priment3 if3)
関連ネットワークへのゲートウェイ(priment3)は、 他のネットワークメンバーを定義する前に定義して下さい。

(5)LAN
Syntax: LAN name xl1 yl1 xl2 yl2 priment1 x1 y1 if1 net3 x3 y3 priment3 if3
ローカルエリアネットワークを定義します。 このとき、関連するネットワークへの接続も定義できます。 LAN を定義するときは、 LAN の名前 ’name’ を最初のパラメーターとして 記述して下さい。 次の 4 つのパラメーター(xl1 yl1 xl2 yl2)は、 LAN を表示する場所を 座標で指定します。

LAN の定義行には、以下のパラメーターを記述できます。 (最初の 5 つは常に上記の形式ですので、以下の説明からは省きます。)

ネットワークに含まれるプリミティブエンティティ名。
直後に、表示したい座標・ LAN に接続されるインターフェースを記述して下さい。
(例: priment1 x1 y1 if1)

関連ネットワーク名。
直後に、表示したい座標・関連ネットワークへのゲートウェイ名・ ゲートウェイの接続されるインターフェースを記述して下さい。
(例: netent3 x3 y3 priment3 if3)
関連ネットワークへのゲートウェイ(priment3)は、 他のネットワークメンバーを定義する前に定義して下さい。

(6)RING
Syntax: RING name xr yr rd priment1 x1 y1 if1 net3 x3 y3 priment3 if3
リング状の LAN を定義します。 このとき、関連するネットワークへの接続も定義できます。 RING を定義するときは、 RING の名前 ’name’ を最初のパラメーターとして 記述して下さい。 次の 3 つのパラメーター(xr yr rd)は、 LAN を表示する場所を 中心座標と直径で指定します。

RING の定義行には、以下のパラメーターを記述できます。 (最初の 4 つは常に上記の形式ですので、以下の説明からは省きます)

ネットワークに含まれるプリミティブエンティティ名。
直後に、表示したい座標 ・RING に接続されるインターフェースを記述して下さい。
(例: priment1 x1 y1 if1)

関連ネットワーク名。
直後に、表示したい座標・関連ネットワークへのゲートウェイ名・ ゲートウェイの接続されるインターフェースを記述して下さい。
(例: netent3 x3 y3 priment3 if3)
関連ネットワークへのゲートウェイ(priment3)は、 他のネットワークメンバーを定義する前に定義して下さい。

(7)SLINK
Syntax: SLINK priment1 if1 priment2 if2
2 つのプリミティブエンティティ priment1 と priment2 間の シリアルリンクを定義します。 シリアルリンクの両端のプリミティブエンティティはそれぞれ、 インターフェース if1 と if2 で接続されます。 SLINK は、プリミティブエンティティの定義が全て終わった後、 ネットワーク(WAN, LAN and RING) の定義を開始する前に 定義して下さい。

(8)INTERVAL
Syntax: INTERVAL intvl
ポーリングインターバルを秒数で設定します。

(9)LOG
Syntax: LOG logfile loglevel
ログファイル名と、ログレベルを設定します。 loglevel は、 state-changes (1), network-activity (2), additional-information (3), exceptions (4) の中の一つです。 (loglevel には、上記の文字列ではなく、括弧の中の数字を指定してください) loglevel n は、レべル 1 , 2 .. n を含みます。

(10)TRAPFILE
Syntax: TRAPFILE logfile
snmpxmon2 が受け取るトラップを記録する logfile を指定します。 このログファイルの形式は、snmptrapd のものと同じです。

(11)ROUTECF
Syntax: ROUTECF configfile
メニューより呼び出される snmpxrtmetric/ripxrtmetric が使用する コンフィギュレーションファイルを指定します。

(12)OPTIONS
Syntax: OPTIONS opt1 opt2 -opt3 ....
以下の 2 つのオプションをコンフィギュレーションファイルの中で定義できます。 オプション文字列が、’-’ で始まる場合、そのオプションを無効にします。

bell: ステートが変化したときベルを鳴らします。
status: 前回のステートの変化をステータスラインに表示します。

2 回以上定義された場合、後の方の定義が有効になります。

(13)MINPOLL
Syntax: MINPOLL intvl
最小ポーリングインターバルを秒の単位で指定します。

(14)MAXSNMPPOLL
Syntax: MAXSNMPPOLL num
SNMP ポーリングに対して、管理対象が反応しない場合、 ICMP に切り替える前に何回まで再試行するかを定義します。
num times だけ過ぎると、 今度ポーリングプロセスは、ICMP Echo をそのエンティティに対して送ります。 その回数は、同じくここで指定された回数になります。

(15)TOPLEVEL
Syntax: TOPLEVEL netent
snmpxmon2 を起動したときに表示されるネットワークを、 以前に定義した LAN, WAN, RING の中より ’toplevel’ ネットワークとして定義します。 複数定義した場合最後に定義された TOPLEVEL が有効になります。 TOPLEVEL は、全てのネットワークを記述した後で定義して下さい。

SNMPXMON2 メニュー

snmpxmon2 は、2 種類のメニューを持っています。 General Operations Menu は、対象ホストに依存しないコマンドを 呼び出す為のもので、Command Menu は、対象ホストに依存するコマンドの為の ものです。 Command Menu は、対象としたいエンテティに、マウスを持っていって ボタンを押すと現われます。 General Operation Menu は、それ以外の場所でクリックします。 General Operations Menu では、以下の項目が使用できます。

(1)TRACEROUTE: traceroute コマンドを呼び出します。 ダイアログボックスが現われますので、Traceroute したい ディストネーションホストのアドレスを入力してください。

(2)VIEW TRAPS: トラップのログを表示します。 コンフィギュレーションファイルでトラップログファイル名が設定されていない場合 ダイアログボックスが現われますので、ファイル名を入力して下さい。 ここで入力されたファイルは、必ず存在していなければなりません。 存在しないファイルを指定した場合、何も起きません。

(3)VIEW LOG: ログファイルを表示します。 コンフィギュレーションファイルでログファイル名が設定されていない場合 ダイアログボックスが現われますので、ファイル名を入力して下さい。 ここで指定されるファイルは、必ず存在していなければなりません。 存在しないファイルを指定した場合、何も起きません。

(4)HELP: snmpxmon2 のオンラインマニュアル(このファイルです) を表示します。 Command Menu は、各サイトに依存したコマンドを呼び出します。 Command Menu から呼び出されたコマンドには、 クリックされたホストの IP アドレスや必要ならば SNMP のコミュニティ名などが 設定されます。Command Menu の項目は以下の通りです。

(1)PING: ping コマンドを呼び出します。

(2)TELNET: Telnet でログインしようとします。

(3)SNMPSRC: snmpsrc コマンドを呼び出します。 ダイアログボックスが開きますので、snmpsrc で使用するデスティネーション ネットワークアドレスを入力して下さい。

(4)SNMPLOOKUP: snmplookup コマンドを呼び出します。

(5)SNMPXBAR: snmpxbar コマンドを呼び出します。 ダイアログボックスが開きますので、MIB 変数名を入力して下さい。

(6)SNMPXPERF: snmpxperf コマンドを呼び出します。 ダイアログボックスが開きますので、 MIB 変数名を入力して下さい。

(7)SNMPXPERFMON: snmpxperfmon コマンドを呼び出します。 このとき packets がqualifiers として指定されます。

(8)SNMPXRTMETRIC: snmpxrtmetric コマンドを呼び出します。 コンフィギュレーションファイルで snmpxrtmetric の コンフィギュレーションファイルが指定されていない場合 ダイアログボックスが現われますので、ファイル名を入力して下さい。

(9)RIPXRTMETRIC: ripxrtmetric コマンドを呼び出します。 コンフィギュレーションファイルで ripxrtmetric の コンフィギュレーションファイルが指定されていない場合 ダイアログボックスが現われますので、ファイル名を入力して下さい。

(10)NFSMON: nfsmon コマンドを呼び出します。 これは、NEWS に対してのみ有効なコマンドです。 ダイアログボックスに入力すべき要素は、それぞれのコマンドに必要な 引数のうち コマンド名とagent を除いたものになります。 また、コミュニティ名としては configfile 内で指定された ものが使われます。また、icmponly と指定したホストに対しては、 SNMP に関するコマンドは動きません。
例えば、snmpxbar を選択した場合の入力としては、
_mgmt_mib_interfaces_ifTable_ifEntry_ifInUcastPkts_1
などが可能です。また、オプションも指定可能ですので
_mgmt_mib_interfaces_ifTable_ifEntry_ifInUcastPkts_1 -t 1000
とすると、しきい値を 1000 に指定できます。 これらの値は、.Xdefaults などでも指定できます。それぞれの コマンドのマニュアルをご覧下さい。 これらの 2 種類のメニューのコマンドは、 ユーザー設定のサーチパスに従って実行されます。 従って、snmpxmon2 のメニューを利用する為には、コマンドを インストールして、サーチパスを正しく設定することが必要です。 また、X-Window を用いたアプリケーションに必要な設定は .Xdefaults などに指定することにより入力する要素を最小限に出来ます。 /usr/sony/doc/SNMP/Xdefaults.sample を参照下さい。

バグ

global interval あるいは minimum polling interval の値が非常に 小さいときsnmpxmon2 は、UNKNOWN ステートと ICMP Echo のポーリング ステートの間を行ったり来たりしてしまいます。 これは、アプリケーションにとって非常に短い時間しか与えられない ため (すなわち interval 値が非常に小さいということ) SNMP poll が終了しないのです。そのためアプリケーションは、ICMP Echo モード に入ってしまいます。 一般的な目安として、一つのネットワークエンティティに対して 一秒ほどの pollingt interval を与えるべきです。 (即ち polling すべきサイトが 50 個あったら、global あるいは minimum polling interval 値を 50 秒以下にすべきではありません。) configration file は、テキストベースで位置などを指定して 書かねばなりません。
現在、X-Window ベースのエディットツール xmon2cfg(1) を提供 しています。このツールとの併用をお勧めします。 snmpxmon2 と snmptrapd を同じマシン上で同時に走らせることは出来ません。

関連事項

nfsmon(1) ripxrtmetric(1) telnet(1) snmpsrc(1) snmplookup(1) snmpxbar(1) snmpxperf(1) snmpxperfmon(1) traceroute(1) xmon2cfg(1) ping(8)

関連ファイル

/etc/snmp.variablesMIB データベース
/usr/sony/doc/SNMPSNMP 関連ドキュメントのあるディレクトリ
configfileコンフィギュレーションファイル

参照

J.D. Case, J.R. Davin, M.S. Fedor, M.L. Schoffstall, Simple Network Management Protocol, Request for Comments 1157, Network Information Center, SRI International, Menlo Park, California, May, 1990.  M.T. Rose, K. McCloghrie, Structure of Management Information, Request for Comments 1155, Network Information Center, SRI International, Menlo Park, California, May, 1990.  K. McCloghrie, M.T. Rose, Management Information Base, Request for Comments 1156, Network Information Center, SRI International, Menlo Park, California, May, 1990.  M.T. Rose, Editor Management Information Base: MIB-II, Request for Comments 1158, Network Information Center, SRI International, Menlo Park, California, May, 1990. 

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026