動的しきい値を使用してメトリック アラートを作成する
アラート ルールのしきい値として使用する正しい数値がわからない場合があります。 動的しきい値は高度な機械学習を適用し、一連のアルゴリズムとメソッドを使用して次の処理を行います:
- メトリックの履歴の動作を学習する。
- 長時間にわたってメトリックを分析し、時間単位パターン、日単位パターン、週単位パターンなどのパターンを特定します。
- サービスイシューの可能性を示す異常を認識する。
- メトリックに最適なしきい値を計算します。
動的しきい値を使用すると、メトリックごとに適切なしきい値を把握する必要はありません。 動的しきい値が最適なしきい値を計算します。
次のメトリックの動的しきい値を使用してアラート ルールを構成することをお勧めします。
- 仮想マシンの CPU 使用率
- Application Insights での HTTP 要求の実行時間
動的しきい値は、次の場合に役立ちます。
- 1 つのアラート ルールを使用して、数百のメトリック シリーズに対してスケーラブルなアラートを作成する。 アラート ルールの数が少ないほど、アラート ルールの作成と管理に費やす時間が少なくなります。 スケーラブルなアラートは、サブスクリプション内のすべてのリソースなど、複数のディメンションや複数のリソースに特に役立ちます。
- 構成するしきい値を認識せずにルールを作成する。
- メトリックに関する広範なドメインの知識なしに、大まかな概念を使用してメトリック アラートを構成します。
- 予期されるパターンを含まない、ノイズの多い (低精度) しきい値または幅の広い (低再現率) しきい値を抑制します。
動的しきい値は、次のメトリックに使用できます。
- ほとんどの Azure Monitor プラットフォームおよびカスタム メトリック。
- 一般的なアプリケーションおよびインフラストラクチャのメトリック。
- コンピューターの CPU やメモリなど、ノイズの多いメトリック。
- 可用性やエラー率など、分散が低いメトリック。
動的しきい値は、次の手段で構成できます。
- Azure ポータル。
- 完全に自動化された Azure Resource Manager API。
- メトリック アラート テンプレート。
アラートのしきい値の計算とプレビュー
アラート ルールが作成されると、動的しきい値によって 10 日間の履歴データを使用して、時間単位または日単位の季節パターンが計算されます。 アラート プレビューに表示されるグラフには、そのデータが反映されます。
動的しきい値により、使用可能なすべての履歴データを継続的に使用して学習が行われ、しきい値がより正確になるように調整されます。 3 週間後、動的しきい値には週単位パターンを識別するのに十分なデータがそろい、モデルは週単位の周期性を含むように調整されます。
システムは、長時間の停止を自動的に認識し、しきい値学習アルゴリズムから削除します。 長時間の停止があったとしても、動的しきい値はデータを理解できます。 障害が発生する前と同じレベルの秘密度を持つシステムの問題を検出します。
動的しきい値を使用する場合の考慮事項
- しきい値を正確に計算するために、動的しきい値を使用するアラート ルールでは、3 日間および 30 個以上のメトリック データのサンプルを収集するまでアラートはトリガーされません。 新しいリソースや、メトリック データが不足しているリソースの場合、十分なデータが使用可能になるまでアラートはトリガーされません。
- 動的しきい値では、週単位の季節性を検出するために、少なくとも 3 週間の履歴データが必要です。 2 時間ごとのパターンや週 2 回のパターンなど、一部の詳細なパターンは検出されない場合があります。
- メトリックの動作が最近変化した場合、その変化は動的しきい値の上限と下限に瞬時には反映されません。 その境界は、過去 10 日間のメトリック データに基づいて計算されます。 特定のメトリックに対する動的しきい値の境界を表示するときに、最近の時間や日だけでなく、過去 1 週間のメトリック傾向を確認してください。
- 動的しきい値は、緩やかに変化する問題とは逆に、大きな偏差を検出する場合に有効です。 動作が遅い変更では、アラートがトリガーされない可能性があります。
- 複数の条件を監視するアラート ルールでは、動的しきい値を使用できません。
動的しきい値を構成する
動的しきい値を構成するには、アラート ルールを作成するための手順に従います。 [条件] タブで以下の設定を使用します。
- [しきい値]: [動的] を選択します。
- [集計の種類]: [最大] を選択しないことをお勧めします。
- [演算子]: 動きがアプリケーションの使用状況を表す場合を除き、[より大きい] を選びます。
- [しきい値の感度]: [中] または [低] を選択して、アラートのノイズを減らします。
- [確認する間隔]: アラート ルールが条件を満たしているかどうかを確認する頻度を選択します。 アラートのビジネスへの影響を最小限に抑えるには、頻度を低くすることを検討してください。 この値が、[ルックバック期間] の値以下であることを確認します。
- [ルックバック期間]: データをチェックするたびに振り返る期間を設定します。 この値が、[確認する間隔] の値以上であることを確認します。
- [詳細設定]: 特定の期間内にアラートをトリガーする違反の数を選択します。 必要に応じて、メトリック履歴データの学習を開始する日付を設定し、動的しきい値を計算します。
Note
ポータルで作成したメトリック アラート ルールは、ターゲット リソースと同じリソース グループに作成されます。
動的しきい値のグラフ
次に示すのは、メトリック、その動的しきい値の制限、および値が許可されたしきい値を超えたときに発生したアラートを示すグラフです。
次の情報を使ってグラフを解釈します。
- 青い線: 時間の経過とともに測定されたメトリック。
- 青色の網掛けされた領域: メトリックで許容される範囲。 メトリック値がこの範囲内にある場合、アラートはトリガーされません。
- 青い点: 集計されたメトリック値。 グラフの一部を選んでから、青い線をポイントすると、個々の集計されたメトリック値を示す青い点がカーソルの下に表示されます。
- 青い点のポップアップ ボックス: 測定されたメトリック値 (青い点) と、許容範囲の上限値と下限値。
- 黒い円で囲まれた赤い点: 許容範囲外の最初のメトリック値。 この値は、メトリック アラートを発生させ、アクティブな状態にします。
- 赤い点: 許容範囲外の他の測定値。 さらなるメトリック アラートはトリガーされませんが、アラートはアクティブな状態のままになります。
- 赤色の領域: メトリック値が許容範囲外であった時刻。 アラートは、後続の測定値が許容範囲外にある限りアクティブ状態のままですが、新しいアラートは発生しません。
- 赤い領域の終了: 許容値に戻ります。 青い線が許容値の内側に戻ると、赤色の領域が停止し、測定値の線が青に変わります。 黒い円で囲まれた赤い点の時点で発生したメトリック アラートの状態が [解決済み] に設定されます。
動的しきい値の感度に関する既知の問題
動的しきい値を使用するアラート ルールでノイズが多すぎるか、あまりに頻繁に実行される場合は、感度を低くした方が良いかもしれません。 次のいずれかのオプションを使用します。
- しきい値の感度: 逸脱に対する耐性を上げるには、感度を [低] に設定します。
- 違反の数 ([詳細設定] の下): 一定の時間内に逸脱が複数回発生した場合にのみトリガーするアラート ルールを構成します。 この設定により、ルールは一時的な逸脱の影響を受けにくくなります。
動的しきい値を使用するアラート ルールが、高い感度で構成されていても、実行されなかったり、感度が十分でなかったりする場合があります。 このシナリオは、メトリックの分布が非常に不規則な場合に発生する可能性があります。 次の解決策のいずれかを試してください。
- シナリオに適した補完的なメトリックの監視に移ります (該当する場合)。 たとえば、失敗率ではなく成功率の変化を確認します。
- [集約粒度 (期間)] で別の値を選択してみます。
- 過去 10 日間に、メトリックの動作が大幅に変化したかどうか (停止など) を確認します。 突然変化すると、メトリックに対して計算された上限と下限のしきい値に影響を与え、それらが広がる可能性があります。 しきい値の計算で停止が含められるまで数日待ちます。 [詳細設定] の [次よりも前のデータを無視します] オプションを使用するようにアラート ルールを編集することもできます。
- データに週単位の周期性があるが、メトリックに十分な履歴がない場合、計算されたしきい値によって、上限と下限が広がる可能性があります。 たとえば、この計算では平日と週末を同じ方法で扱い、データに適合しないことがある広い境界を作成する可能性があります。 この問題は、十分なメトリック履歴が使用可能になると自動的に解決されるはずです。 その後、適切な周期性が検出され、計算されたしきい値が適宜更新されます。
メトリック値で大きな変動が示されている場合、動的しきい値によって作成されるメトリック値を中心としたモデルが大きくなり、その結果として境界が予想よりも低くなったり高くなったりする可能性があります。 このシナリオは次の場合に発生することがあります。
- 感度が低く設定されている。
- メトリックで、変動幅が大きい不規則な動作が示されている (データにスパイクやディップとして示されている)。
より高い感度を選択するか、[遡って確認する期間] でより大きな値を選択して、モデルの感度を低くすることを検討してください。 [次よりも前のデータを無視します] オプションを使って、モデルを作成するために使用される履歴データから最近の不規則性を除外することもできます。
動的しきい値でサポートされていないメトリック
動的しきい値はほとんどのメトリックでサポートされていますが、以下のメトリックでは動的しきい値を使用できません。
リソースの種類 | メトリックの名前 |
---|---|
Microsoft.ClassicStorage/storageAccounts | UsedCapacity |
Microsoft.ClassicStorage/storageAccounts/blobServices | BlobCapacity |
Microsoft.ClassicStorage/storageAccounts/blobServices | BlobCount |
Microsoft.ClassicStorage/storageAccounts/blobServices | IndexCapacity |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileCapacity |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileCount |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileShareCount |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileShareSnapshotCount |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileShareSnapshotSize |
Microsoft.ClassicStorage/storageAccounts/fileServices | FileShareQuota |
Microsoft.Compute/disks | 複合ディスク読み取りバイト数/秒 |
Microsoft.Compute/disks | 複合ディスク読み取り操作数/秒 |
Microsoft.Compute/disks | 複合ディスク書き込みバイト数/秒 |
Microsoft.Compute/disks | 複合ディスク書き込み操作数/秒 |
Microsoft.ContainerService/managedClusters | NodesCount |
Microsoft.ContainerService/managedClusters | PodCount |
Microsoft.ContainerService/managedClusters | CompletedJobsCount |
Microsoft.ContainerService/managedClusters | RestartingContainerCount |
Microsoft.ContainerService/managedClusters | OomKilledContainerCount |
Microsoft.Devices/IotHubs | TotalDeviceCount |
Microsoft.Devices/IotHubs | ConnectedDeviceCount |
Microsoft.Devices/IotHubs | TotalDeviceCount |
Microsoft.Devices/IotHubs | ConnectedDeviceCount |
Microsoft.DocumentDB/databaseAccounts | CassandraConnectionClosures |
Microsoft.EventHub/clusters | サイズ |
Microsoft.EventHub/namespaces | サイズ |
Microsoft.IoTCentral/IoTApps | connectedDeviceCount |
Microsoft.IoTCentral/IoTApps | provisionedDeviceCount |
Microsoft.Kubernetes/connectedClusters | NodesCount |
Microsoft.Kubernetes/connectedClusters | PodCount |
Microsoft.Kubernetes/connectedClusters | CompletedJobsCount |
Microsoft.Kubernetes/connectedClusters | RestartingContainerCount |
Microsoft.Kubernetes/connectedClusters | OomKilledContainerCount |
Microsoft.MachineLearningServices/workspaces/onlineEndpoints | RequestsPerMinute |
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments | DeploymentCapacity |
Microsoft.Maps/accounts | CreatorUsage |
Microsoft.Media/mediaservices/streamingEndpoints | EgressBandwidth |
Microsoft.Network/applicationGateways | スループット |
Microsoft.Network/azureFirewalls | スループット |
Microsoft.Network/expressRouteGateways | ExpressRouteGatewayPacketsPerSecond |
Microsoft.Network/expressRouteGateways | ExpressRouteGatewayNumberOfVmInVnet |
Microsoft.Network/expressRouteGateways | ExpressRouteGatewayFrequencyOfRoutesChanged |
Microsoft.Network/virtualNetworkGateways | ExpressRouteGatewayBitsPerSecond |
Microsoft.Network/virtualNetworkGateways | ExpressRouteGatewayPacketsPerSecond |
Microsoft.Network/virtualNetworkGateways | ExpressRouteGatewayNumberOfVmInVnet |
Microsoft.Network/virtualNetworkGateways | ExpressRouteGatewayFrequencyOfRoutesChanged |
Microsoft.ServiceBus/namespaces | サイズ |
Microsoft.ServiceBus/namespaces | メッセージ |
Microsoft.ServiceBus/namespaces | ActiveMessages |
Microsoft.ServiceBus/namespaces | DeadletteredMessages |
Microsoft.ServiceBus/namespaces | ScheduledMessages |
Microsoft.ServiceFabricMesh/applications | AllocatedCpu |
Microsoft.ServiceFabricMesh/applications | AllocatedMemory |
Microsoft.ServiceFabricMesh/applications | ActualCpu |
Microsoft.ServiceFabricMesh/applications | ActualMemory |
Microsoft.ServiceFabricMesh/applications | ApplicationStatus |
Microsoft.ServiceFabricMesh/applications | ServiceStatus |
Microsoft.ServiceFabricMesh/applications | ServiceReplicaStatus |
Microsoft.ServiceFabricMesh/applications | ContainerStatus |
Microsoft.ServiceFabricMesh/applications | RestartCount |
Microsoft.Storage/storageAccounts | UsedCapacity |
Microsoft.Storage/storageAccounts/blobServices | BlobCapacity |
Microsoft.Storage/storageAccounts/blobServices | BlobCount |
Microsoft.Storage/storageAccounts/blobServices | BlobProvisionedSize |
Microsoft.Storage/storageAccounts/blobServices | IndexCapacity |
Microsoft.Storage/storageAccounts/fileServices | FileCapacity |
Microsoft.Storage/storageAccounts/fileServices | FileCount |
Microsoft.Storage/storageAccounts/fileServices | FileShareCount |
Microsoft.Storage/storageAccounts/fileServices | FileShareSnapshotCount |
Microsoft.Storage/storageAccounts/fileServices | FileShareSnapshotSize |
Microsoft.Storage/storageAccounts/fileServices | FileShareCapacityQuota |
Microsoft.Storage/storageAccounts/fileServices | FileShareProvisionedIOPS |
関連するコンテンツ
動的しきい値に関するフィードバックがあれば、メールお知らせください。