TWSNMPポーリング辞典:syslogをモニタする
TWSNMPにはsyslogを受信してログに記録する機能があります。一定周期でログを検索して異常を判定するポーリングについての説明です。例えばログイン失敗のログが1件でもあったら異常と判断するというものです。
ポーリング設定
syslogをモニタするポーリングは、
のように設定します。種別をSYSLOGにします。
定義の書式は、
検索フィルター|抽出フィルター|判定条件
です。例えば、
`\\"content\\":\\".*Failed.*\\",.*\\"facility\\":4,.*\\"hostname\\":\\"rpi.*\\",.*\\"tag\\":\\"sshd.*\\",`||count<1
という定義はLinuxサーバーにSSHでログイン失敗のログの件数が1件以上あれば異常と判断するポーリングになります。
検索フィルター
検索フィルターは正規表現で対象となるログを探すフィルターを指定します。正規表現を作るのが難しい場合はログ表示Windowの<詳細検索>ボタンで条件を指定して作成することができます。
条件を確認しながら検索します。目的のフィルターになったら検索フィルター欄の設定をコピーすればよいです。
この記事を書きながらログ表示Windowからポーリングかポーリングのテンプレートを作成できる機能を思いつきました。将来のバージョンでは、もう少し簡単にログをモニターするポーリングを設定できるようになると思います。
※V5.0.0では、正規表現の指定に問題があって動作しません。V5.0.1で修正します。
抽出フィルター
grokを利用してログの中から変数を抽出するための設定です。省略した場合は、抽出を行いません。この設定については、
の記事の検索抽出フィルターを見てください。
判定条件
Javascriptでログ検索の結果を判断します。利用できる変数は、
count
検索フィルターの条件に一致したログの件数
interval
検索期間の秒数です。ログの件数を単位時間に変換するためのものです。
です。抽出フィルターでログから取り出した変数も利用できます。
count < 1
のような指定になります。
ポーリング結果
ポーリング結果は、
のように取得できます。
ポーリングテンプレート
この記事で説明したポーリングのテンプレートは、
からダウンロードできます。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。