Linuxプロセス監視における正規表現

Linuxプロセス監視における正規表現

ユースケース

サーバー監視エージェントでJavaプロセスを監視しているとします。
プロセスが再起動するたびに、プロセスの引数が変更となるケースが存在します。このシナリオでは再起動が成功しても後にプロセスはダウン状態となり、アップになりません。

問題

既存のJavaプロセス監視を削除し、新しい引数のプロセスを再追加してアップにする必要があります。

解決策

Linuxエージェント 16.4.0で、正規表現(RegEx)に対応しており、プロセスの引数群にマッチさせることができます。
再起動前と後の引数が下記の場合を考えます。

再起動前
/usr/bin/java -Dosgi.requiredJavaVersion=1.8 -start_time 1504249532
再起動後
/usr/bin/java -Dosgi.requiredJavaVersion=1.8 -start_time 124830290

上記のように引数が変化する場合、下記の正規表現で両引数にマッチさせることが可能です。
Quote
(.*)start_time\s?([0-9]{1,10})
各要素の説明は次のとおりです。
(.*):すべてにマッチ
\s:スペースにマッチ
0-9:0から9までの1文字
1,10:1から10までの数字の連続した文字にマッチ
Infoこちらのページで作成した正規表現を検証できます。

正規表現を有効にすると、設定した正規表現を使用して実行中のプロセス引数がマッチされます。
Info
Windowsエージェントバージョン19.5.0以上で、Windowsプロセスでも正規表現に対応しています。