Scripts de ejemplo para tipos de alerta definidos por el usuario

Los ejemplos siguientes muestran cómo crear scripts de tipos de alertas definidos por el usuario para manejar distintos escenarios de alertas.

Generar una alerta si la utilización del sistema de archivos es alta

El siguiente script de shell genera una alerta crítica si algún sistema de archivos del servidor de bases de datos sobrepasa una utilización del 90 por ciento.
df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
  echo $output
  usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
  partition=$(echo $output | awk '{ print $2 }' )
if [ $usep -ge 90 ]; then
  returnValue = 2
    echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" 
else returnValue = 0
fi
done
exit $returnValue

Generar una alerta si la cantidad de espacio libre en memoria es baja

El siguiente script de shell genera una alerta de aviso si la cantidad de espacio de memoria libre es inferior a 10 megabytes y una alerta crítica si el espacio de memoria libre es inferior a 5 megabytes.
if [cat /proc/meminfo | grep SwapFree  | cut –d ‘:' –f2 -ge 200000]
exit 0
else if [cat /proc/meminfo | grep SwapFree  | cut –d ‘:' –f2 -lt 100000]
exit 1
else if [cat /proc/meminfo | grep SwapFree  | cut –d ‘:' –f2 -lt 50000]
exit 2

Generar una alerta para copia de seguridad de base de datos

En este ejemplo, el script de SQL exclusivamente genera una alerta crítica si la última operación de copia de seguridad para una base de datos de producción se ha producido en una fecha y hora específica.
SELECT CASE last_backup 
WHEN ‘2012-01-06-22.47.42.000000' THEN 2 
ELSE 0 
END AS returnvalue 
FROM sysibmadm.snapdb 

Generar una alerta para registros de diagnóstico

En este ejemplo, el script de SQL exclusivamente genera una alerta de aviso si se registra el nivel de 'W' (Aviso) en los registros de diagnósticos generales de DB2, y un error crítico si el nivel registrado es 'E' (Error), 'C' (Crítico) o 'S' (Grave).
SELECT CASE level 
WHEN ‘W' THEN 1 
ELSE WHEN ‘E' OR ‘C' OR ‘S' THEN 2 
ELSE 0 
END AS returnvalue 
FROM TABLE (PD_GET_DIAG_HIST( 'MAIN','E', '', 
   CAST (NULL AS TIMESTAMP), CAST (NULL AS TIMESTAMP) ) ) AS T

Comentarios