Azure VM Bシリーズ CPUクレジットの確認と監視

Azure,Monitor,Virtual Machine

仮想マシン(Azure Virtual Machine)のシリーズの1つにBシリーズがあります。
Bシリーズは普段使わないCPUの使用量を貯めておいて、負荷が高くなった時にその貯めたCPU使用量を使うシリーズです。
Dシリーズと比較して2分の1位の使用料金で使える為、普段からCPUを使わないようなサーバに向いているシリーズになります。

Bシリーズの詳細についてはマイクロソフト公式サイトを確認してください。

Virtual Machineシリーズ(公式サイト)

Bシリーズ詳細(公式サイト)

Bシリーズの負荷が高い状態が継続するとCPUの使用量(クレジット)が使い果たされている為性能が発揮されないという可能性もあります。
今回はCPUクレジット残量確認方法を試し、Azure Monitorの設定項目確認までを行ってみました。

スポンサーリンク

BシリーズのCPUクレジット残(CPU Credits Remaining)をAzure Portal上で確認する

Azure Portal上のメトリックで確認ができます。

仮想マシンのメニューの監視にあるメトリックという項目を選択します。
このメトリックを選択すると下記のように項目を選ぶとグラフが表示されます。
この項目でCPU Credits Remainingを選択すると過去のクレジット残の履歴確認ができます。

CPU使用率が高く使い果たしているような状況だと0になります。

BシリーズのCPUクレジット残(CPU Credits Remaining)をPowerShellで確認する

PowerShellを使ってもCPU Credits Remainingが確認できます。
今回は直近の値を確認しています。

サブスクリプションIDやリソースグループ名は環境に合わせて設定します。
PowerShell実行時に取得対象の仮想マシン名を指定します。

Get-Dateで取得した日付フォーマットそのままだとエラーになるので、フォーマットを変更しています。

StartTime等を変更することにより、過去の値も取得可能です。

#CPU Credits Remaining

param (
    [String] [Parameter(Mandatory=$true)]  $VMname
    )

$subscriptionID =“サブスクリプションID"
$RGName = “リソースグループ名"

$startTime = (Get-Date).AddMinutes(-3) | Get-Date  -Format 'yyyy-MM-dd THH:mm’
$endTime = Get-Date -Format “yyyy-MM-dd THH:mm"
 
# 注意-ResourceIdの行は折り返していますが、実際には1行です。GitHubの方を参考にして下さい
# https://github.com/Tama-negi/Li-akb-branch-office/tree/PowerShell_Azure/Azure_PowerShell

(Get-AzMetric `
    -ResourceId “/subscriptions/$subscriptionID/resourceGroups/$RGName/providers/Microsoft.Compute/virtualMachines/$VMname" `
    -TimeGrain 00:01:00 `
    -AggregationType “Average" `
    -StartTime $startTime `
    -EndTime $endTime `
    -MetricName “CPU Credits Remaining" `
    -DetailedOutput).Data `
| Select-Object TimeStamp,Average
 

実行すると以下のように結果が得られます。

TimeStamp Average

——— ——-

2020/04/16 10:20:00 316.12
2020/04/16 10:21:00 316.12
2020/04/16 10:22:00 316.12
 

※MetricNameの値を、CPU Credits Consumedに変更することにより、1分間にどれだけクレジットがたまっているかの確認が可能です。

Azure MonitorでBシリーズの残CPUクレジット(CPU Credits Remaining)を監視

Azure MonitorのVirtual Machineメトリック監視にCPU Credits Remainingの項目があります。
残CPUクレジットの監視に使う事が出来ます。

スコープに対象の仮想マシンを指定します。
条件の選択でCPU Credits Remainingを選択するとシグナルロジックの構成が表示されます。

下記画面のように残量が次の値より小さいと指定すると、CPU Credits Remainingが少なくなった場合にアラートを上げる事が出来ます。 

このアラートが頻発するようだと、CPUのリソースを使っているという事になるので、Dシリーズを選択した方が良いと思われます。