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