LoginSignup
2
2

[Oracle Cloud] Windowsサーバのディスク使用率を、OCI Monitoring のカスタムメトリック用情報として収集する( ocicli を利用 )

Last updated at Posted at 2023-06-02

目的

OCI Monitoring では、Windowsサーバーのディスク使用率を監視するメトリックが無いため、
値を収集して、カスタムメトリックで監視する。
Python SDK を使ったサンプルはよく公開されているが、OCICLIを使った例があまりなかったため、
記事として残す。

前提

  1. インスタンスプリンシパルの設定
    以下の記事を参考にさせて頂き、収集スクリプトを実行するWindowsサーバで認証を可能にする。
    [Oracle Cloud] インスタンスプリンシパル を OCI Go SDK で使ってみた

  2. ocicliをインストール
    以下の記事を参考にさせて頂き、ocicli をWindowsサーバにインストールする
    [Oracle Cloud] Windows Serverにoci cliをインストールする

やってみる

以下のスクリプトを、powershellスクリプトとして保存して、実行する。

※ 以下変更が必要
  word 変数:取得したいドライブレターの文字を指定
  compartmentId:対象となるコンパートメントのOCID指定

$word = "CD"
foreach ($letter in $word.ToCharArray()) {

$drive=$letter
$value=[Math]::Round((Get-PSDrive $drive).Used / ((Get-PSDrive $drive).Used + (Get-PSDrive $drive).Free) * 100, 1, [MidpointRounding]::AwayFromZero);
$timestamp=Get-Date -Format "yyyy-MM-ddTHH:mm:ss+09:00"

$str_metric_json = @"
[
    {
        "namespace": "custom_metrics",
        "compartmentId": "xxxxxxx",
        "name": "windisk",
        "dimensions": {
            "DRIVE": "$drive"
        },
        "datapoints": [
            {
                "timestamp": "$timestamp",
                "value": "$value"
            }
        ]
    }
]
"@

Write-Output $str_metric_json | Out-File metric.txt -Encoding default
oci monitoring metric-data post --metric-data file://metric.txt --endpoint https://telemetry-ingestion.ap-tokyo-1.oraclecloud.com --auth instance_principal

}
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2