名前
snmptrapd - snmp trap
メッセージを受信してログに記録する
書式
snmptrapd [common options] [-P] [-o file] [-s] [-f] [-p port] [-e]
[-l [d0-7]] [-a] [-C] [-c confFile] [-F FORMAT]
説明
snmptrapd
はローカルマシンの
SNMP-TRAP ポート (162)
に送られてきた snmp trap
メッセージを受信してログに記録する
SNMP
アプリケーションである。
ログメッセージは以下のような形式である:
Sep 17 22:39:52 suffern snmptrapd: 128.2.13.41: Cold Start Trap (0)
Uptime: 8 days, 0:35:46
snmptrapd は UDP ポート 162
をオープンするので、
root
で実行しなければならない。
コマンドライン引き数
snmpcmd(1)
で説明されているコマンドライン引き数に加え、以下の引き数が使用できる。
- -P
- ログメッセージを標準エラーに表示する。
- -o file
- 指定したファイルにメッセージを記録する。
- -p port
- デフォルトの 162
番ポートで実行したくない場合に、
実行させるポートを指定する。
- -s
- メッセージを syslog(8)
に記録する。 syslog
メッセージは、(デフォルトでは)
level を LOG_WARNING、 facility を LOG_LOCAL0
として送られる。 syslog
機能を使うと、デーモンは
fork されて
呼び出し元から切り離される。
これは '-P'
フラグまたは '-o'
フラグを使わない場合のデフォルトである。
- -n
- IP
アドレスからホスト名への逆変換を行わない。
- -l [d0-7]
- 使用する syslog facility
を指定する。demon
または local[0-7]。
- -a
- snmptrapd に AuthenticationFailure trap
を無視させる。
- -d
- アプリケーションに入出力パケットをダンプさせる。
- -D
- デバッグ出力を有効にする。
- -f
- syslog()
を使用する場合に、
fork
による呼び出し元から切り離しを行わない。
- -C
- デフォルトの設定ファイルのセットを読み込ませない。
- -c confFile
- confFile
を設定ファイルとして読み込ませる。
- -F FORMAT
- 標準出力にログを記録するときに、フォーマットとして文字列
FORMAT を使う。
FORMAT は printf
で使われる文字列に似ている。
snmptrapd
は以下のフォーマット文字列を解釈する:
- %%
- % という文字
- %t
- OS の紀元 (epoch) からの 10
進数での秒数
- %y
- 現在の年
- %m
- 現在の月 (数値)
- %l
- 現在の月内日
- %h
- 現在の時
- %j
- 現在の分
- %k
- 現在の秒
- %T
- 稼働時間 (up-time) (10
進数での秒数)
- %Y
- 稼働時間の「年」のフィールド。
- %M
- 稼働時間の「月
(数値)」のフィールド。
- %L
- 稼働時間の「月内日」のフィールド。
- %H
- 稼働時間の「時」のフィールド。
- %J
- 稼働時間の「分」のフィールド。
- %K
- 稼働時間の「秒」のフィールド。
- %A
- 取得可能な場合はエージェントのホスト名。
取得不可能な場合はエージェントの
IP アドレス。
- %a
- エージェントの IP
アドレス。
- %B
- 取得可能な場合は PDU
のホスト名。
取得不可能な場合は
PDU の IP アドレス。
- %b
- PDU の IP アドレス。
- %N
- enterprise 文字列。
- %w
- trap タイプ (10 進数)
- %W
- trap の説明
- %q
- trap サブタイプ (10 進数)
- %P
- PDU
のセキュリティ情報
(v1/v2c
におけるコミュニティ名、v3
におけるユーザーとコンテキスト)
- %v
- trap 変数のリスト
これらの値に加え、フィールドの幅と精度
(printf と同じ) および
フラグ値などをオプションとして指定することもできる。
以下のフラグを指定することができる:
- -
- 左寄せ
- 0
- 先頭を 0 で埋める
- #
- 別形式を使用する
「別形式を使用する」ためのフラグを指定すると、
いくつかのフォーマットフラグは動作が変更される。
通常、時間情報のフィールドはローカル時刻に基づいて表示されるが、
このフラグを使うと GMT
を使うようになる。
また通常、変数リストはタブで区切られるが、
このフラグを使うとコンマ区切りのリストになる。
稼働時間の別形式は、元と同じで
"3 days, 0:14:34.65"
のような形式である。
例:
"14:03 TRAP3.1 from humpty.ucd.edu"
のような形式のメッセージにするためには、
以下のようにすればよい:
snmptrapd -P -F "%02.2h:%02.2j TRAP%w.%q from
%A\n"
上と同じであるが、ローカル時刻ではなく
GMT を使いたい場合は、
以下のようにすればよい:
snmptrapd -P -F "%#02.2h:%#02.2j TRAP%w.%q from
%A\n"