tomcatのログ監視で特定のExceptionを無視する

https://hacknote.jp/archives/23563/

の改良版です。

tail -f -n 0 $log \
 | grep --line-buffered Exception \
 | grep --line-buffered -v ReferenceException \
 | check_alert

のように -v オプションで特定のExceptionを除外することで本当にクリティカルな例外だけに絞り込むことができます。

このスクリプトを仕込んでからMacのMySQLがハングしたらヌルポを大量に吐きまくり、すぐに検知できるようになりました。

次のステップとしてはこの例外処理をもとに check_alert のメソッド内でMySQLの再起動とかをするとよさそうです。