OCI VM(Linux/Windows)のディスク使用率を監視

## 概要
OCI上に作成したVMのディスク使用率が閾値を超えた場合にアラートメールを送信する設定を行いました。

VMログ(/var/logやWindowsイベント)から特定メッセージを検出してメール送信をする流れはこちらの記事をご参照ください。

https://qiita.com/tktk2712/items/4fdb12a436793066824e

## 作成
■Linux Disk使用率超過メッセージ

以下のようにDFコマンドからDisk使用率を抜き出して80%を超えると/var/log/messagesにメッセージを出力するシェルスクリプトを作成してcrontabで定期実行します。

``` diskusage.sh
#!/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というタスクを作成します。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/69ab92b7-18fc-1cb4-9e36-632a896881b4.png">

<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/bb518c86-d334-e05a-1f43-6556d001930b.png">

プログラム:eventcreate
引数: /t ERROR /id 100 /l system /so diskusagecheck /d "Disk usage exceeds 80%"
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/41e9d40d-1a51-ff75-6e87-f63fed5c8fcc.png">

パフォーマンスモニターでディスク使用率を監視する定義を行います。
パフォーマンスモニターでデータコレクターセット>>ユーザー定義を選択して右クリック>>
新規作成>>データコレクターセットを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/81e9316e-b095-77ba-1e4a-903a7ab74a7f.png)
名前を入力して、手動で作成するを選択
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/4114a7b4-d6d6-b5b9-1b32-e83483a32ba1.png">
パフォーマンスモニターの警告を選択
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/9d081e3d-ea68-a3cf-74b1-ccd2f60e6510.png">
追加を選択
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/9725c52c-1560-550e-42f7-86f39814db9e.png">
LogcalDisk %Free Spaceを選択し対象のドライブを選択
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/5969722d-758e-2f4d-4964-6bc044aa6785.png">
20(%)より下になると警告すよう設定し完了
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/5d09dda6-a884-f1c0-ba98-a721813369da.png">

Datacollector01を右クリックしてプロパティを開く
サンプルの間隔を設定
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/d49f9802-68cc-af82-7d73-e2e3292ff8d9.png">
実行するタスクにDiskusagealertを設定
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/721c9817-de17-8078-ca8f-6eebf08cd61f.png">

右クリックまたはcmdで開始
パフォーマンスモニターで開始
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/27f2cc6d-ef90-abfd-a452-dda4ecc95501.png)

コマンドで開始
``` cmd
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.
```
<b>Windows再起動後にモニター再開するために、タスクスケジューラ等で設定が必要です。</b>


■ログ・グループ作成
OCIメニューから監視および管理>>ロギング>>ログ・グループを選択しログ・グループ作成を押下
<img width="500" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/8122214f-ae54-5de8-9dd7-74819120f19d.png">

■ログ作成
OCIメニューから監視および管理>>ロギング>>ログを選択しカスタムログ作成
【Linux /var/log用の設定】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/3f076694-3698-4573-e22b-01a299263400.png)
ファイルパスを/var/log/messagesに設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/2384a0d6-9019-bae6-3732-307f64336426.png)
【Windows イベント system用の設定】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/7960e60b-56b7-b0bc-f887-6c07cdf74338.png)
Windowsイベントのsystemを指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/6bb64b8a-4fc0-570a-dfe6-97065be3e86d.png)

■サービスコネクタの作成
取得したログから"Disk usage exceeds"のメッセージを検出してメトリック値を作成します。
OCIメニューから監視および管理>>ロギング>>サービスコネクタを選択しサービスコネクタ作成
【Linux /var/log用の設定】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/7bf60397-c23e-8f75-9095-adba93b5fdc8.png)
【Windows イベント system用の設定】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/7e09d9e2-1d34-ec23-b19d-39636313381c.png)


■アラームの作成
メトリックを元にアラームを生成します。
OCIメニューから監視および管理>>モニタリング>>アラーム定義をアラーム作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/43cef040-5467-0a4f-dd75-64b762e3f119.png)

■稼働確認
Linux/WindowsいずれもDisk使用率が80%を超えると以下のようにアラート検知しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/e906cb73-e49f-7fae-bdf4-ffe6e224b3c7.png)