名前
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" | |
拡張性と設定
snmptrapd.conf(5) の man ページを参照すること。
関連項目
snmpcmd(1), syslog(8), variables(5)