ユーザー定義アラート・タイプのサンプル・スクリプト

以下の例では、さまざまなアラート・シナリオを扱うためのユーザー定義アラート・タイプのスクリプトを作成する方法が示されています。

ファイル・システムの使用率が高い場合にアラートを生成する

以下のシェル・スクリプトは、データベース・サーバー上のファイル・システムの使用率が 90 % を超えるとクリティカル・アラートを生成します。
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

メモリーのフリー・スペース量が少ない場合にアラートを生成する

以下のシェル・スクリプトは、メモリーのフリー・スペース量が 10 メガバイト未満の場合には警告アラートを生成し、メモリーのフリー・スペース量が 5 ギガバイト未満の場合にはクリティカル・アラートを生成します。
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

データベース・バックアップのアラートを生成する

この例において、SQL-only スクリプトは、特定の日時に実動データベースの最新のバックアップ操作が行われるとクリティカル・アラートを生成します。
SELECT CASE last_backup 
WHEN ‘2012-01-06-22.47.42.000000' THEN 2 
ELSE 0 
END AS returnvalue 
FROM sysibmadm.snapdb 

診断レコードのアラートを生成する

この例において、SQL-only スクリプトは、DB2 一般診断ログにレベル「W」(警告) が記録されると警告アラートを生成し、記録されるレベルが「E」(エラー)、「C」(クリティカル)、「S」(重大) のいずれかの場合にはクリティカル・アラートを生成します。
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

フィードバック