0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

mackerelでゾンビプロセスをチェックする

Posted at

mackerelでゾンビプロセスをチェックする

はじめに

あるプロセスがゾンビプロセスの場合に、mackerelでチェックして通知するのに少しハマったので、覚書。

まずゾンビプロセスのチェックの場合、以下のような設定をします。

  • 1件以上の場合、warningかcriticalで通知。(件数は2件以上でも、10件以上でもよい。)
  • 0件の場合、通知しない。

通常ゾンビプロセスがない場合は正常なので通知はしません。

ゾンビプロセスのチェック

ゾンビプロセスのチェックをするには、-s (または--state)のオプションを利用します。
ゾンビプロセスの場合は「Z」を指定します。

あと、1件以上でwarning、2件以上でcriticalの通知をしたいので、その設定も一緒します。

check-procs -p 'hoge' -s Z -w 0 -c 1 -u hoge-user

これでゾンビプロセスが存在する場合、通知がきますが
このままだとゾンビプロセスが0件の場合、criticalの通知が来ます。
(warning-under、critical-under共にデフォルトが1のようです。)

ゾンビプロセスが0件の場合は、正常とする

困ったと思って、macherelのソースを見たところ以下のような実装になっていました。

if opts.CritUnder != 0 && count < opts.CritUnder ||
	opts.CritOver != nil && count > *opts.CritOver {
	result = checkers.CRITICAL
} else if opts.WarningUnder != 0 && count < opts.WarningUnder ||
	opts.WarningOver != nil && count > *opts.WarningOver {
	result = checkers.WARNING
}
return checkers.NewChecker(result, msg)

プロセスチェックの仕様で、warning-under と critical-underが0の場合は
0件のチェックをしないようなので、以下の設定にします。

check-procs -p 'hoge' -s Z -w 0 -c 1 -W 0 -C 0 -u hoge-user

これで、ゾンビプロセスの通知ができるようになりました。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?