Como uso o Nagios para monitorar um arquivo de log que gera um ID aleatório?

1

Este é o arquivo de log que eu quero monitorar:

/test/James-2018-11-16_15215125111115-16.15.41.111-appserver0.log

Eu quero que o Nagios leia este arquivo de log para que eu possa monitorar uma string específica.

O problema é com 15215125111115 este é o ID aleatório que é gerado

Aqui está o meu script onde o Nagios está verificando o caminho Arquivo de log :

Veriables:

HOSTNAMEIP=$(/bin/hostname -i)
DATE=$(date +%F)

..

CHECK=$(/usr/lib64/nagios/plugins/check_logfiles/check_logfiles --tag='failorder' --logfile=/test/james-${date +"%F"}_-${HOSTNAMEIP}-appserver0.log ....

Estou obtendo a seguinte saída no nagios:

could not find logfile /test/James-2018-11-16_-16.15.41.111-appserver0.log

15215125111115 Esse número é sempre gerado aleatoriamente, mas eu não sei como conseguir nagios para identificá-lo. Existe uma maneira de adicionar uma variável para isso ou algo assim? Eu tentei adicionar um asterisco "*", mas isso não funcionou.

Qualquer ideia seria muito apreciada.

    
por Warsiders23 20.11.2018 / 05:14

1 resposta

2

Eu rodaria um script separado, via cron, que identifica o arquivo de log mais novo e faz um symlink (chamado algo como "latest.log"). Existem várias maneiras de fazer isso (usando ls -rt | tail ou find -mtime , por exemplo).

Se o novo arquivo de log for criado na mesma hora todos os dias, programe-o para ser executado logo depois disso. Caso contrário, execute-o a cada (minuto, 5 minutos, seja o que for), procurando por um novo arquivo de log.

... E então, check_logfiles usam esse link simbólico.

    
por 20.11.2018 / 18:18