Я вижу проблему с конфигурацией monit при настройке демона monit для пробуждения каждые несколько часов и запуска мониторинга процессов, для которых было установлено состояние «Not Monitored».
ПРОБЛЕМА: Когда monit изменяется на unmonitor определенного процесса, статус меняется на «not monitored», и демон monit НИКОГДА не будет пытаться запустить мониторинг этого процесса снова, даже если PID-файл обновляется новым правильным PID и мониторинг останавливается для этот процесс навсегда, если демон monit не будет снова пробужден для этого процесса вручную, как показано ниже.
Можно ли настроить этот демон пробуждения для каждого процесса с определенными интервалами тайм-аута в конфигурации мониторинга для этого процесса, чтобы избежать ошибок, связанных с тем, что процесс навсегда перейдет в состояние "не отслеживаемое"?
Например, если 2 перезапуска в течение 3 циклов, то таймаут {X часов} перезапуск монитора
Спасибо.
У меня есть эта конфигурация ниже для процесса snmp.
# Check for cmaeventd process check process cmaeventd with pidfile /var/run/cmaeventd.pid group snmp-agents start program = "/opt/hp/hp-snmp-agents/storage/etc/cmaeventd start" stop program = "/opt/hp/hp-snmp-agents/storage/etc/cmaeventd stop" if 2 restarts within 3 cycles then timeout
По какой-то причине, если файл PID не заполнен правильно (я работаю над его исправлением), monit продолжает пытаться перезапустить процесс, используя пустой файл pid, выкидывая указанные ниже ошибки в журнале мониторинга и, наконец, «не отслеживайте» его после сбоя. для перезапуска в течение 3 циклов, как мы настроили.
[PST Feb 3 11:43:23] error : monit: Error reading pid from file '/var/run/cmaeventd.pid' [PST Feb 3 11:43:24] error : monit: Error reading pid from file '/var/run/cmaeventd.pid' [PST Feb 3 11:45:25] error : 'cmaeventd' service restarted 2 times within 2 cycles(s) - unmonitor
Process 'cmaeventd' status not monitored monitoring status not monitored data collected Tue Feb 3 12:10:25 2015
Пробуждение демона вручную для этого процесса, чтобы снова запустить мониторинг:
>monit monitor cmaeventd This will awaken the monit daemon for this process and starts reading the PID file again and if successful it starts the monitoring back in. Before awakening the monit daemon for this process: --------------------------------------------------- logbash-3.1# ls -l /var/run/cmaeventd.pid -rw-r--r-- 1 root root 1 Feb 3 00:00 /var/run/cmaeventd.pid logbash-3.1# cat /var/run/cmaeventd.pid logbash-3.1# ps -ef|grep cmaeventd |grep -v grep root 13066 1 0 00:00 ? 00:00:00 cmaeventd -p 15 -l /var/log/hp-snmp-agents/cma.log l logbash-3.1# echo "13066" > /var/run/cmaeventd.pid logbash-3.1# cat /var/run/cmaeventd.pid 13066 logbash-3.1# monit monitor cmaeventd
[PST Feb 3 12:20:54] info : monitor service 'cmaeventd' on user request [PST Feb 3 12:20:54] info : monit daemon at 23515 awakened [PST Feb 3 12:20:54] info : Awakened by User defined signal 1 [PST Feb 3 12:20:54] info : 'cmaeventd' monitor action done
Process 'cmaeventd' status initializing monitoring status initializing data collected Tue Feb 3 12:20:54 2015
Изменения ниже через некоторое время:
Process 'cmaeventd' status running monitoring status monitored pid 13066 parent pid 1 uptime 12h 21m children 0 memory kilobytes 2160 memory kilobytes total 2160 memory percent 0.0% memory percent total 0.0% cpu percent 0.0% cpu percent total 0.0% data collected Tue Feb 3 12:21:54 2015
Мониторинг отдельных агентов HP с помощью Monit не требуется. Кроме того, все они связаны вместе с услугой обертки, hp-snmp-agents
. Перезапуск одного независимо от остальных будет иметь нежелательные последствия.
Хотя можно отлаживать журналы агента HP, я думаю, что у вас может быть проблема со старым ядром (похоже, RHEL / CentOS 5.5) и, возможно, старыми агентами управления HP. Агенты HP, которые вам следует использовать, находятся в SDR репозиторий.
Для платформы ProLiant DL3xx G7 вам потребуются новейшие версии следующих пакетов:
hp-snmp-agents, hpssa, hp-health, hp-smh-templates, hpsmh, hpssacli, hponcfg