Мониторинг ложных предупреждений

Я отслеживаю процесс демона java с PID. Ниже приведен код.

  check process SemanticReplication with pidfile "/ngs/app/edwt/opsmonit  /monit/scripts/process.pid"
    start = "/ngs/app/edwt/scripts/javadaemon/start_daemon.ksh"
    stop = "/ngs/app/edwt/scripts/javadaemon/stop_daemon.ksh"

Много раз, даже если процесс демона Java запущен и работает, я получаю ложное предупреждение, поскольку процесс не запущен. В следующем цикле проверки monit (через минуту) срабатывает еще одно предупреждение monit, когда процесс запущен и работает.

Может ли кто-нибудь помочь, как нам избежать этого ложного оповещения?


person Aravind    schedule 19.08.2015    source источник
comment
Путь pidfile правильный? Это довольно странно с этими пустыми местами. Это весь код, который вы используете для мониторинга этой службы?   -  person Eduardo López    schedule 27.10.2015


Ответы (1)


Ваш оператор проверки должен иметь проверку monit на наличие файла pid (что выглядит странно с пробелами, кстати). Если их нет, он по умолчанию отправит предупреждение, а затем запустит директиву start.

Я обхожу это, используя оператор check process ... matching следующим образом:

check process app-pass matching 'Passenger RubyApp: \/home\/app\/app-name\/public'

По сути, «сопоставление» эквивалентно ps aux | grep ..., что работает лучше, когда я не могу полагаться на существующий файл pid, например, с дочерним процессом.

person risa_risa    schedule 20.05.2016