FileUploader ロールに対して自動スケールがトリガーされない
この記事では、いずれかのインスタンスの CPU 使用率は常に 100% のままですが、FileUploader ロールに対して自動スケーリングがトリガーされない問題のトラブルシューティングについて説明します。
元の製品バージョン: API Management サービス
元の KB 番号: 4464899
注:
Azure Cloud Service トラブルシューティング シリーズに関する記事を参照してください。これはラボの 3 番目のシナリオです。 この手順に従って、コンプレッサー アプリケーションのラボのセットアップ手順に従って、問題を再現してください。
現象
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 を使用して、クラウド サービス ロールのメトリック データをフェッチすることもできます。
また、クラウド サービス リソースの [ メトリック] タブから FileUploader ロールの平均 CPU 使用率を監視することもできます。 したがって、下のグラフからわかるように、平均 CPU 使用率はしきい値をかなり下回る約 33.35% です。
そのため、一番下の行は、測定されたトリガー属性 (CPU 使用率など) に基づく検出メカニズムを使用する自動スケーリング ルールであり、瞬時の値ではなく、時間の経過と共に集計された値を使用して自動スケーリング アクションをトリガーします。 既定では、集計はロールのすべてのインスタンスの値の平均です。 そのため、複数のインスタンスの場合、各 PaaS VM は CPU 使用率の数値を報告します。 これらを統合するために、クラウド サービス ロールは、すべてのインスタンスで "統計" を計算します。 たとえば、クラウド サービス ロールに 3 つのインスタンスがあり、1 つは 30% の CPU で実行され、2 つ目は 60% で実行され、もう 1 つは 90% の CPU で実行されている場合、ロールは平均 CPU 使用率 60% を生成します。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。