TWSNMP FCのポーリング辞典:syslogをモニタする
TWSNMP FCにはsyslogを受信してログに記録する機能があります。一定周期でログを検索して異常を判定するポーリングについての説明です。例えばログイン失敗のログが1件でもあったら異常と判断するというものです。
このポーリングには自分でも忘れていたモードがありました。
syslogを受信するための設定
TWSNMP FCでsyslogを受信するためには、「システム設定」ー「マップ設定」
でsyslogのスイッチをオンにします。スイッチをオンにしても受信できない時は
を参考にしてください。
ポーリング設定
syslogをモニタするポーリングは、
のように設定します。
モード
syslogをモニターするモードです。以下の設定があります。
パラメーター
モードがstateの場合に、正常と判断するログのフィルターを指定します。
異常と判断するログのフィルターは、下のフィルターに記載します。
フィルター
フィルターは正規表現で対象となるログを探すフィルターを指定します。
検索対象のsyslog は、
client 192.168.1.210:41012
content Cannot statfs /var/lib/docker/overlay2/87fa09735cfd49d735a26b22620a8c83f12510c04de5e9e95da345bb754d039c/merged: Permission denied
facility 3
hostname minipc
priority 27
severity 3
tag snmpd
timestamp 2024-03-12T05:54:44Z
のように改行を含んでいるので、正規表現で無視する部分は.+や.*ではなく
[\s\S\n]*のようにしてください。
送信元を含める場合は
client\s+192\.168\.1\.210[\s\S\n]*Cannot
のようにします。
clientやhostnameは、キーで順番はabc順固定です。
hostname でフィルターする時は、
Cannot[¥s¥S¥n]*hostname.*miniPC
だと思います。
抽出フィルター
grokを利用してログの中から変数を抽出するための設定です。省略した場合は、抽出を行いません。この設定については、
の記事の検索抽出フィルターを見てください。
判定スクリプト
Javascriptでログ検索の結果を判断します。利用できる変数は、
です。抽出フィルターでログから取り出した変数も利用できます。
count < 1
ポーリング結果
ポーリング結果は、
のように取得できます。
ポーリングテンプレート
テンプレートの検索ででsyslogと入力すれば
検索できます。定義は、
{
"Name": "Syslog件数",
"Type": "syslog",
"Mode": "count",
"Filter": "フィルター条件",
"Polling": "count < 1",
"Level": "off",
"Descr": "フィルター条件に一致するsyslogの件数をモニタ",
"AutoMode": "disable"
},
{
"Name": "SYSLOG PRI監視",
"Type": "syslog",
"Mode": "pri",
"Filter": "フィルター条件",
"Level": "off",
"Descr": "SYSLOG PRI監視",
"AutoMode": "disable"
},
{
"Name": "SSHログからユーザーレポート",
"Type": "syslog",
"Mode": "user",
"Filter": "フィルター条件",
"Extractor": "SSHLOGIN",
"Level": "off",
"Descr": "SSHのログインのログからユーザーレポート作成",
"AutoMode": "disable"
},
{
"Name": "Syslogからデバイスレポート",
"Type": "syslog",
"Mode": "device",
"Filter": "フィルター条件",
"Extractor": "DEVICE",
"Level": "off",
"Descr": "Syslogからデバイスレポート作成",
"AutoMode": "disable"
},
{
"Name": "WELFログからフローレポート",
"Type": "syslog",
"Mode": "flow",
"Filter": "フィルター条件",
"Extractor": "WELFFLOW",
"Level": "off",
"Descr": "WELFログから通信フローレポート作成",
"AutoMode": "disable"
},
です。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。