概要
OCI上に作成したVMのディスク使用率が閾値を超えた場合にアラートメールを送信する設定を行いました。
VMログ(/var/logやWindowsイベント)から特定メッセージを検出してメール送信をする流れはこちらの記事をご参照ください。
作成
■Linux Disk使用率超過メッセージ
以下のようにDFコマンドからDisk使用率を抜き出して80%を超えると/var/log/messagesにメッセージを出力するシェルスクリプトを作成してcrontabで定期実行します。
#!/usr/bin/bash
DISKTHRES=80
DISKUSAGE=$(df | grep '/dev/mapper/ocivolume-root' | awk '{ print $5 }' | sed 's/%//')
if [ $((DISKUSAGE)) -gt $((DISKTHRES)) ]; then
logger -t diskusage 'Disk usage exceeds 80%'
fi
■Windows Disk使用率超過メッセージ
パフォーマンスモニターでDisk使用率を監視して80%を超えるとWindowsイベントsystemにメッセージを出力するタスクを起動します。
タスクスケジューラでDiskusagealertというタスクを作成します。

プログラム:eventcreate
引数: /t ERROR /id 100 /l system /so diskusagecheck /d "Disk usage exceeds 80%"
パフォーマンスモニターでディスク使用率を監視する定義を行います。
パフォーマンスモニターでデータコレクターセット>>ユーザー定義を選択して右クリック>>
新規作成>>データコレクターセットを選択
名前を入力して、手動で作成するを選択
パフォーマンスモニターの警告を選択
追加を選択
LogcalDisk %Free Spaceを選択し対象のドライブを選択
20(%)より下になると警告すよう設定し完了
Datacollector01を右クリックしてプロパティを開く
サンプルの間隔を設定
実行するタスクにDiskusagealertを設定
コマンドで開始
C:\Windows\system32>logman start Diskusage
The command completed successfully.
C:\Windows\system32>logman
Data Collector Set Type Status
-------------------------------------------------------------------------------
Diskusage Alert Running
The command completed successfully.
Windows再起動後にモニター再開するために、タスクスケジューラ等で設定が必要です。
■ログ・グループ作成
OCIメニューから監視および管理>>ロギング>>ログ・グループを選択しログ・グループ作成を押下
■ログ作成
OCIメニューから監視および管理>>ロギング>>ログを選択しカスタムログ作成
【Linux /var/log用の設定】
ファイルパスを/var/log/messagesに設定
【Windows イベント system用の設定】
Windowsイベントのsystemを指定
■サービスコネクタの作成
取得したログから"Disk usage exceeds"のメッセージを検出してメトリック値を作成します。
OCIメニューから監視および管理>>ロギング>>サービスコネクタを選択しサービスコネクタ作成
【Linux /var/log用の設定】
【Windows イベント system用の設定】
■アラームの作成
メトリックを元にアラームを生成します。
OCIメニューから監視および管理>>モニタリング>>アラーム定義をアラーム作成