type log
- モード
- トリガーモード
- カテゴリー
- 運用・管理 / トリガー
構文
(config-trigger)# type log TEXTLINE
コマンド説明
ログメッセージトリガーを作成する。ログメッセージトリガーは、指定したパターン(正規表現)に一致する文字列をメッセージ本文に含むnoticesレベル以上のログメッセージが出力されたときに起動される。
ログメッセージのフォーマットとログレベルについては、「ログ」解説編の 「ログメッセージ」 および 「ログレベル」を参照。
パラメーター
TEXTLINE- 起動条件となる文字列のパターン(正規表現)。最長30文字。TEXTLINEは行末までがその値と見なされるため、スペースを含んでいてもよい。ただし、? ' " は使用不可。なお、正規表現として不正な文字列を入力した場合はコマンド自体がエラーになる
使用例
メッセージ本文の先頭に単語(英数アンダースコアだけで構成される文字列): 数値 Mbps のパターンにマッチする文字列を含む notices レベル以上のログメッセージが出力されたときに起動するログメッセージトリガー「1」を作成する。awplus(config)# trigger 1 awplus(config-trigger)# type log ^\\w+: \\d+ Mbpsこのトリガーを起動するログメッセージの例
プログラム名を表す
kernel: の後からが本文となり、緑色の部分がパターンにマッチします。2017 Oct 10 15:34:37 kern.notice awplus kernel: eth1: 1000 Mbps Full duplex, port 16, queue 16
注意・補足事項
ログメッセージトリガーの実行は1トリガーあたり毎秒1回までにレート制限される。1秒間に複数のログメッセージがあるトリガーの条件を満たしても、実行されるのは一つだけ。前記のレート制限はあるが、トリガーの実行によって生成されるログメッセージが再びトリガーを起動するような設定もありうるので、事前にテスト環境で十分な検証を行うことを推奨する。
本コマンドで使用可能な正規表現は PCRE(Perl互換正規表現)と呼ばれるもの。
以下、PCRE正規表現における基本的な構成要素を示す。より詳しくはPCREのドキュメントを参照。
| ^ | メッセージ本文の先頭にマッチ |
| $ | メッセージ本文の末尾にマッチ |
| . | スペースを含む任意の一文字にマッチ |
| * | 直前のパターンが0個以上続く場合に最長マッチ |
| + | 直前のパターンが1個以上続く場合に最長マッチ |
| [abc] | 角カッコ [ ] で囲まれた文字のどれか1つと一致すればマッチ。[a-c] のように記述した場合はASCIIコード上 a から c までの意味となり、[abc] と等価。[a-zA-Z0-9] のような書き方も可能 |
| [^abc] | 角カッコ [ ] で囲まれた文字のどれとも一致しなければマッチ。ハイフンの使い方は前項 [a-c] と同じ |
| \d | 数字にマッチ。[0-9] と同じ |
| \D | 数字以外にマッチ。[^0-9] と同じ |
| \w | 英単語構成文字(英大文字小文字と数字、アンダースコア)のいずれかにマッチ。[a-zA-Z_0-9] と同じ |
| \W | 英単語構成文字(英大文字小文字と数字、アンダースコア)以外の文字にマッチ。[^a-zA-Z_0-9] と同じ |
| \ | 後続の特殊文字 ^ $ . * + [ \ などの意味を打ち消し、これらの文字そのものを表すようにするエスケープ文字 |