じっぱひとからげ

十把一絡げになんでもかんでもつづる。

第03回 Hinemos 6.1でもあそぼう!(ログ監視編)

syslogを監視する

 LinuxのOSに関するトラブルは/var/log/messagesを監視しておく必要がある。このsyslogの監視はHinemos マネージャでは「システムログ監視」という名前で用意されている。

 監視設定パースペクティブから「システムログ監視(文字列)」を選択する
f:id:jippahitokarage:20180616190239p:plain

例によってIDはHinemosマネージャ内でユニークなIDを設定する。監視する文字列は正規表現で定義できる。

f:id:jippahitokarage:20180616190415p:plain

例えば、".*err.*"として"ERROR"や"error"、"[ERR]"などが出力されたときに検知するようにしておく。

f:id:jippahitokarage:20180616190443p:plain

loggerコマンドで擬似的にエラーメッセージを/var/log/messagesに書き込んでみる。

[root@jm01 ~]# logger "TEST_ERROR"
[root@jm01 ~]# tail /var/log/messages 
Jun 15 21:32:46 jm01 systemd: Startup finished in 570ms (kernel) + 1.107s (initrd) + 11.603s (userspace) = 13.281s.
Jun 15 21:32:48 jm01 chronyd[324]: Selected source 129.250.35.250
Jun 15 21:32:48 jm01 chronyd[324]: System clock wrong by 1.909462 seconds, adjustment started
Jun 15 21:32:48 jm01 systemd: Time has been changed
Jun 15 21:32:48 jm01 chronyd[324]: System clock was stepped by 1.909462 seconds
Jun 15 21:32:51 jm01 su: (to root) vagrant on pts/0
Jun 15 21:32:57 jm01 chronyd[324]: Selected source 150.95.160.173
Jun 15 21:36:22 jm01 vagrant: TEST_ERROR

イベント通知に"危険"を検知することを確認する。
f:id:jippahitokarage:20180616191110p:plain

任意のログを監視する

syslog以外の任意のログを監視するには「ログファイル監視(文字列)」を選択する
f:id:jippahitokarage:20180616192305p:plain

syslog監視と異なる点は、条件とするログファイルのパス、ファイル名、文字コードを指定する点だけだ。
f:id:jippahitokarage:20180616192308p:plain

それ以外は、syslog監視と同様。
f:id:jippahitokarage:20180616192306p:plain

指定した条件にあてはまるログに検知にひっかかる文字列を書いてみると、"危険"が検知できることを確認する。
f:id:jippahitokarage:20180616192311p:plain

特定の文字列は検知したくない場合

例えば.*crit.*というような短い文字列を定義した場合は、"critical"と関係ない文字列を検知してしまうケースがある。

次の例で考えてみたい。

  • "crit"という文字列が入っていれば"危険"で検知したい
  • ただし、"criteria"は検知したくない
  • "criticizm"は"警告"で検知したい

ログ監視のパターンマッチの判定は上から順に評価され、ヒットするとexitされる。よって、できるだけ条件の厳しいものから順に書くようにする。
f:id:jippahitokarage:20180616194703p:plain

loggerコマンドで"critical"、"criticizm"、"criteria"を書き込むと"critical"は"危険"で判定され、"criticizm"は"警告"となり、"criteria"は正しく無視された。

f:id:jippahitokarage:20180616194707p:plain


blog.jippahitokarage.com