名前

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)

Recommended readings

Pages related to snmptrapd you should read also: