SNMPTRAPD(8)

名前
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)