A Monit pode, de acordo com a documentação gerar vários alertas:
Event: | Failure state: | Success state:
---------------------------------------------------------------------
action | "Action done" | "Action done"
checksum | "Checksum failed" | "Checksum succeeded"
bytein | "Download bytes exceeded" | "Download bytes ok"
byteout | "Upload bytes exceeded" | "Upload bytes ok"
connection | "Connection failed" | "Connection succeeded"
content | "Content failed", | "Content succeeded"
data | "Data access error" | "Data access succeeded"
exec | "Execution failed" | "Execution succeeded"
fsflags | "Filesystem flags failed" | "Filesystem flags succeeded"
gid | "GID failed" | "GID succeeded"
icmp | "Ping failed" | "Ping succeeded"
instance | "Monit instance changed" | "Monit instance changed not"
invalid | "Invalid type" | "Type succeeded"
link | "Link down" | "Link up"
nonexist | "Does not exist" | "Exists"
packetin | "Download packets exceeded" | "Download packets ok"
packetout | "Upload packets exceeded" | "Upload packets ok"
permission | "Permission failed" | "Permission succeeded"
pid | "PID failed" | "PID succeeded"
ppid | "PPID failed" | "PPID succeeded"
resource | "Resource limit matched" | "Resource limit succeeded"
saturation | "Saturation exceeded" | "Saturation ok"
size | "Size failed" | "Size succeeded"
speed | "Speed failed" | "Speed ok"
status | "Status failed" | "Status succeeded"
timeout | "Timeout" | "Timeout recovery"
timestamp | "Timestamp failed" | "Timestamp succeeded"
uid | "UID failed" | "UID succeeded"
uptime | "Uptime failed" | "Uptime succeeded"
Conseguimos corrigir isso ao nosso lado, definindo (endereços alterados para proteger os inocentes):
SET ALERT [email protected] ON { invalid, nonexist, timeout, resource, size, timestamp}
SET ALERT [email protected] ON {action, permission, pid, ppid, instance, status}
Isso encaminha as mensagens para os endereços de que gostamos. Você pode defini-los globalmente ou localmente, mas nossos alertas são apenas globais.
As subposições dos TESTES DE SERVIÇO são:
link
correspondem razoavelmente aos tipos acima.
Para cada processo ou recurso agendado do seu servidor, você deve ser capaz de sugerir o que é importante para você em inglês e combinar esse desejo com um dos testes mencionados nos TESTES DE SERVIÇO. Por exemplo, se estou executando o Apache, sei que me preocupo com:
- O PID no arquivo PID ainda está em execução? (não existente)
- O PID mudou sem o meu conhecimento? (pid)
- O serviço está respondendo em tempo hábil a uma reinicialização? (tempo limite)
Para um daemon personalizado que pesquisa, eu posso me preocupar se o arquivo de log está sendo atualizado com mensagens de status regularmente (timestamp).