Despertar o daemon monit a cada poucas horas para todos os processos monitorados

1

Estou vendo um problema com o config monit na configuração do daemon monit para despertar a cada poucas horas e começar a monitorar os processos que foram definidos para o estado "Não monitorado".

PROBLEMA: Quando o monit muda para desmonitorar determinado processo, o status muda para "não monitorado" e o daemon monit NUNCA tentará iniciar o monitoramento deste processo novamente, mesmo quando o arquivo PID for atualizado com o novo PID correto e a PARADA de monitoramento para este processo para sempre, a menos que o daemon monit seja novamente ativado para esse processo manualmente, como abaixo.

Este daemon de despertar para cada processo pode ser configurado em determinados intervalos de tempo limite na configuração de monit deste processo, para evitar as armadilhas de acabar com o processo que vai para o estado "não monitorado" para sempre?

se 2 reinicia dentro de 3 ciclos, então o tempo limite {X horas} monitora o reinício

Obrigado.

Eu tenho esta configuração abaixo para um processo 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

Por algum motivo, se o arquivo PID NÃO estiver preenchido corretamente (estou trabalhando para corrigi-lo), o monitor continuará tentando reiniciar o processo usando o arquivo pid vazio lançando os erros abaixo no log de monitoramento e, finalmente, "desmonte" depois que ele falhar em reiniciar dentro de 3 ciclos conforme configuramos.

mensagens de log:

[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

Monit status para esse processo após unmonitor:

Process 'cmaeventd'
  status                            not monitored
  monitoring status                 not monitored
  data collected                    Tue Feb  3 12:10:25 2015

Despertando manualmente o daemon para este processo para iniciar o monitoramento novamente:

>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

Do log:

[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

Status da monit:

Process 'cmaeventd'
  status                            initializing
  monitoring status                 initializing
  data collected                    Tue Feb  3 12:20:54 2015

Altera para abaixo depois de algum tempo:

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
    
por gowin09 03.02.2015 / 21:51

1 resposta

1

Não é necessário monitorar agentes HP individuais com o Monit. Além disso, todos eles estão vinculados ao serviço de wrapper, hp-snmp-agents . Reiniciar um independentemente do resto terá efeitos indesejáveis.

Embora seja possível depurar os logs do agente HP, acho que você pode ter um problema com o kernel antigo (semelhante ao RHEL / CentOS 5.5) e possivelmente com antigos agentes de gerenciamento da HP. Os agentes HP que você deve usar estão no repositório SDR .

Para a plataforma ProLiant DL3xx G7, você precisará da versão mais recente dos seguintes pacotes:

hp-snmp-agents, hpssa, hp-health, hp-smh-templates, hpsmh, hpssacli, hponcfg

    
por 03.02.2015 / 23:45