O Nagios pode notificar exatamente os eventos apenas uma vez.
Usamos para abrir ingressos.
Basta definir notification_interval = 0 (para serviço e host) e você receberá o email / sms apenas uma vez.
Estou procurando uma maneira de definir facilmente as notificações únicas de alguns eventos que ocorrem em uma caixa do Linux. Os eventos podem incluir itens como: file /tmp/my.lock is unlinked
ou process 666 finished
ou, talvez, algo mais complicado, como process 'backup.sh' closed file 'backup.tgz' AND process 'backup.sh' exited with return code 0
.
As notificações também devem ser flexíveis. Como notify 192.168.0.100 via org.freedesktop.Notifications.Notify
ou notify [email protected] via email
.
Na verdade, é algo como o Nagios, mas projetado para eventos não repetitivos, com custo mínimo, quase zero, de criação de tarefas. Eu sou um sonhador? Eu deveria escrever eu mesmo? Ou devo simplesmente usar scripts de shell?
O Nagios pode notificar exatamente os eventos apenas uma vez.
Usamos para abrir ingressos.
Basta definir notification_interval = 0 (para serviço e host) e você receberá o email / sms apenas uma vez.
Apenas para adicionar mais alguma entrada à pergunta eu devo escrever por mim mesmo , você pode criar um arquivo FIFO ou simples para usar como um log personalizado e adicionar comandos aos seus scripts personalizados que gravam saída importante para esse arquivo de log. Ou, como alternativa, você pode criar um script simples que verifique periodicamente o status de arquivos e processos importantes e envie sua saída para esse log.
Para criar o FIFO no servidor:
mkfifo /var/log/mylog
Para ler os registros do servidor:
ssh user@host "tail -f /var/log/mylog"
Coloque essas funções em seus scripts personalizados para gravar facilmente no log:
function warning { echo -e "\e[33;1m :: \e[0m$@" > /var/log/mylog; };
function error { echo -e "\e[31;1m :: \e[0m$@" > /var/log/mylog; };
function information { echo -e "\e[32;1m :: \e[0m$@" > /var/log/mylog; };
E, em seguida, insira entradas no log emitindo estes comandos:
information "Some text"
warning "Some more text"
error "Some important text"
Você também pode adicionar uma função de shell que usa sendmail
(ou similar) para enviar por e-mail.
Eu acho que uma combinação de inotifywatch
, ps
, logger
e syslog
em alguns scripts personalizados podem resolver o problema.
Tags monitoring linux unix