Los LOGS DE ALICACIONES se encargan de registrar operaciones específicas de las aplicaciones en ejecución, son elementos muy importantes a tener en cuenta para controlar la gestión, diagnosticar problemas, optimizar rendimiento y verificar la seguridad de los sistemas informáticos.
Para el ejemplo, supongamos que tenemos una aplicación WEB que esta registrando todas las transacciones realizadas, históricamente el registro de acciones en el log, nunca ha pasado inactivo por más de 7 minutos.
La solución a esto para ser monitorizado por NAGIOS es utilizar el siguiente PLUGIN, en que para que funcione necesita se le proporciones 3 parámetros: El nombre y ruta completa del log de transacciones, el valor WARNING en minutos y el valor CRITICAL en minutos.
Su funcionamiento es el siguiente: se captura la fecha y hora del servidor (SER_DATE), luego se realiza lo mismo con el archivo LOG (LOG_DATE), se restan estos 2 valores para sacar la diferencia transcurrida (DIF_DATE) y finalmente se divide por 60 para sacar la diferencia de minutos (DIF_MIN).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#!/bin/bash log=$1 warning=$2 critical=$3 SER_DATE=$(date +%s) LOG_DATE=$(stat -c %Y "$log") DIF_DATE=$(( SER_DATE - LOG_DATE )) DIF_MIN=$(( DIF_DATE / 60 )) if [ -z "$critical" ] || [ -z "$warning" ]; then echo "UNKNOWN" exit 3 fi if [ "$DIF_MIN" -gt "$warning" ] && [ "$DIF_MIN" -le "$critical" ]; then echo "WARNING - LOG no actualizado ${DIF_MIN} minutos" exit 1 elif [ "$DIF_MIN" -gt "$critical" ]; then echo "CRITICAL - LOG no actualizado ${DIF_MIN} minutos" exit 2 else echo "OK - LOG actualizado ${DIF_MIN} minutos" exit 0 fi |