Die folgenden Beispiele erläutern die Erstellung von Scripts für benutzerdefinierte
Alerttypen für den Umgang mit verschiedenen Alertszenarios.
Alert bei hoher Systemauslastung generieren
Das folgende Shell-Script generiert
einen kritischen Alert, wenn die Auslastung eines Dateisystems auf dem Datenbankserver
90 Prozent übersteigt.
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 "Ab $(date) auf $(hostname) nicht genügend Speicher \"$partition ($usep%)\" verfügbar"
else returnValue = 0
fi
done
exit $returnValue
Alert bei geringem freiem Speicherbereich im Speicher generieren
Das folgende Shell-Script generiert einen Warnungsalert, wenn der freie Speicherbereich weniger
als 10 MB beträgt, und einen kritischen Alert, wenn der freie Speicherbereich weniger als
5 MB beträgt.
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
Alert für Datenbankbackup generieren
In diesem Beispiel generiert das
reine SQL-Script einen kritischen Alert, wenn die letzte Backup-Operation für eine Produktionsdatenbank
an einem bestimmten Datum und zu einer bestimmten Uhrzeit stattgefunden hat.
SELECT CASE last_backup
WHEN ‘2012-01-06-22.47.42.000000' THEN 2
ELSE 0
END AS returnvalue
FROM sysibmadm.snapdb
Alert für Diagnosesätze generieren
In diesem Beispiel generiert das reine
SQL-Script einen Warnungsalert, wenn die Stufe 'W' (Warnung) in den allgemeinen DB2-Diagnoseprotokollen
protokolliert wird, und einen kritischen Alert, wenn die protokollierte Stufe 'E'
(Fehler), 'C' (Kritisch) oder 'S' (Schwerwiegend) ist.
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