FileUploader ロールに対して自動スケールがトリガーされない
この記事では、いずれかのインスタンスの CPU 使用率は常に 100% のままですが、FileUploader ロールに対して自動スケールがトリガーされない問題のトラブルシューティングについて説明します。
元の製品バージョン: API Management サービス
元の KB 番号: 4464899
Note
Azure Cloud Service トラブルシューティング シリーズの記事を参照してくださいこれはラボの 3 番目のシナリオです。 thisに従って、Compressor アプリケーションのラボセットアップ手順に従って問題を再現していることを確認します。
現象
FileUploader ロール インスタンス (FileUploader_IN_1) の 1 つが 100% の CPU を消費しているのに対し、他の 2 つのインスタンスでは CPU 使用率が正常です。 ラボの指示に従って、"CPU の割合" メトリックに基づいて FileUploader ロールの自動スケール ルールを作成しましたが、何らかの理由でトリガーされません。
すべてのインスタンスの CPU 使用率:
トラブルシューティングの手順
構成した自動スケール ルールを慎重に調べれば、すべてのロール インスタンスの平均 CPU 使用率が 90 を超える場合にのみルールがトリガーされ、この場合は発生しません。
{
"properties": {
"name": "Autoscale based on CPU metric",
"enabled": true,
"targetResourceUri": "/subscriptions/{subscription-id}/resourceGroups/cloudservicelab/providers/Microsoft.ClassicCompute/domainNames/cloudservicelabs/slots/Production/roles/FileUploader",
"profiles": [
{
"name": "Auto created scale condition",
"capacity": {
"minimum": "1",
"maximum": "4",
"default": "1"
},
"rules": [
{
"scaleAction": {
"direction": "Increase",
"type": "ChangeCount",
"value": "1",
"cooldown": "PT10M"
},
"metricTrigger": {
"metricName": "Percentage CPU",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/{subscription-id}/resourceGroups/cloudservicelab/providers/Microsoft.ClassicCompute/domainNames/cloudservicelabs/slots/Production/roles/FileUploader",
"operator": "GreaterThan",
"statistic": "Average",
"threshold": 90,
"timeAggregation": "Average",
"timeGrain": "PT5M",
"timeWindow": "PT30M"
}
}
]
}
],
"notifications": [],
"targetResourceLocation": "southcentralus"
}
}
Azure Cloud Services の診断を設定し WADPerformanceCountersTable から各ロール インスタンスの CPU 使用率を確認。 また、この REST API または PowerShell 使用して、クラウド サービス ロールのメトリック データをフェッチすることもできます。
また、クラウド サービス リソースの Metrics タブから FileUploader ロールの平均 CPU 使用率を監視することもできます。 下のグラフからわかるように、平均 CPU 使用率はしきい値をかなり下回る約 33.35% です。
したがって、一番下の行は、測定されたトリガー属性 (CPU 使用率など) に基づく検出メカニズムを使用する自動スケール ルールであり、瞬時値ではなく時間の経過と共に集計値を使用して自動スケール アクションをトリガーします。 既定では、集計はロールのすべてのインスタンスの値の平均です。 そのため、複数のインスタンスの場合、各 PaaS VM は CPU 使用率の数値を報告します。 これらを統合するために、クラウド サービス ロールは、すべてのインスタンスの "統計" を計算します。 たとえば、クラウド サービス ロールに 3 つのインスタンスがあり、1 つは 30% の CPU で実行され、2 つ目は 60% で、もう 1 つは 90% の CPU で実行されている場合、ロールは平均 CPU 使用率 60% を出力します。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。