共用方式為


監視 Azure Resource Manager

本文章說明:

  • 您可以為此服務收集的監視資料類型。
  • 分析資料的方式。

注意

如果您已經熟悉此服務和/或 Azure 監視器,只想知道如何分析監視資料,請參閱本文靠近結尾的分析一節。

當您有依賴 Azure 資源的重要應用程式和商務流程時,就需要監視並取得系統的警示。 Azure 監視器服務會從您系統的每個元件收集及彙總計量和記錄。 Azure 監視器讓您能夠檢視可用性、效能及復原能力,並在發生問題時通知您。 您可以使用 Azure 入口網站、PowerShell、Azure CLI、REST API 或用戶端程式庫來設定及檢視監視資料。

深入解析

Azure 中的某些服務在 Azure 入口網站中有內建的監視儀表板,可提供監視服務的起點。 這些儀表板稱為深入解析,您可以在 Azure 入口網站中 Azure 監視器的深入解析中樞中找到這些儀表板。

如需詳細資訊,請參閱 監視 Azure 監視器資源群組深入解析

資源類型

Azure 會使用資源類型和識別碼的概念來識別訂用帳戶中的所有內容。 資源類型也是 Azure 中所執行每個資源的資源識別碼組成部分。 例如,虛擬機器的一種資源類型是 Microsoft.Compute/virtualMachines。 如需服務及其相關聯資源類型的清單,請參閱資源提供者 (機器翻譯)。

Azure 監視器同樣會依據資源類型將核心監視資料組織成計量和記錄,也稱為命名空間。 不同的計量和記錄適用於不同的資源類型。 您的服務可能會與多個資源類型相關聯。

如需 Resource Manager 資源類型的詳細資訊,請參閱 Azure Resource Manager 監視資料參考

資料存放區

對於 Azure 監視器:

  • 計量資料會儲存在 Azure 監視器計量資料庫中。
  • 記錄資料會儲存在 Azure 監視器記錄存放區中。 Log Analytics 是可查詢此存放區的 Azure 入口網站工具。
  • Azure 活動記錄是個單獨存放區,其介面位於 Azure 入口網站。

您可選擇性地將計量和活動記錄資料路由傳送至 Azure 監視器記錄存放區。 然後,可以使用 Log Analytics 來查詢資料,並將其與其他記錄資料相互關聯。

許多服務可以使用診斷設定,將計量和記錄資料傳送至 Azure 監視器以外的其他儲存位置。 範例包括 Azure 儲存體、託管的合作夥伴系統以及使用事件中樞的非 Azure 合作夥伴系統

如需進一步了解 Azure 監視器如何儲存資料,請參閱 Azure 監視器資料平台

Azure 監視器平台計量

Azure 監視器為大多數服務提供平台計量。 這些計量包括:

  • 針對每個命名空間個別定義。
  • 儲存在 Azure 監視器時間序列計量資料庫中。
  • 輕量且能支援近即時警示。
  • 用來追蹤資源效能的長期變化。

收集:Azure 監視器會自動收集平台計量。 不需要組態。

路由: 您也可以將某些平臺計量路由傳送至 Azure 監視器記錄/Log Analytics,以便使用其他記錄數據來查詢它們。 檢查每個計量的 DS 匯出 設定,以查看您是否可以使用診斷設定將計量路由傳送至 Azure 監視器記錄/Log Analytics。

如需 Azure 監視器中所有資源可收集的計量完整清單,請參閱 Azure 監視器中所支援的計量

如需 Resource Manager 可用計量的清單,請參閱 Azure Resource Manager 監視資料參考

當您在 Azure 中建立和管理資源時,您的要求會透過 Azure 的控制平面,也就是 Azure Resource Manager 來加以協調。 本文說明如何監視對 Azure 提出控制平面要求的數量和延遲。

透過這些計量,您可以觀察整個訂閱中控制平面要求的流量和延遲。 例如,您現在可以瞭解您的要求何時已經透過檢查節流要求而節流。 藉由篩選特定狀態代碼以及檢查伺服器錯誤,以判斷它們是否失敗。

計量最多可提供三個月 (93 天),而且只會追蹤同步要求。 對於如虛擬機建立的案例,計量不代表長時間執行非同步操作的效能或可靠性。

存取 Azure Resource Manager 計量

您可以透過選取 [Azure Resource Manager] 計量來使用 Azure 監視器 REST API、SDK 和 Azure 入口網站,以存取安全性控制平面計量。 如需 Azure 監視器的總覽,請參閱 Azure 監視器計量

存取安全性控制平面計量並沒有加入或註冊流程。

如需如何擷取持有人權杖並向 Azure 提出要求的指導,請參閱 Azure REST API 參照

計量定義

Azure 監視器中 Azure Resource Manager 計量的定義只能透過 2017-12-01-preview API 版本存取。 若要擷取定義,您可以執行下列程式碼片段。 使用您的訂用帳戶 ID 來取代 00000000-0000-0000-0000-000000000000

curl --location --request GET 'https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metricDefinitions?api-version=2017-12-01-preview&metricnamespace=microsoft.resources/subscriptions' \
--header 'Authorization: bearer {{bearerToken}}'

此程式碼片段會傳回計量結構描述的定義。 值得注意的是,此結構描述包括您可以使用監視器 API 篩選的維度

計量範例

以下是一些可協助您探索 Azure Resource Manager 計量的案例。

使用 Azure 入口網站查詢流量和延遲安全性控制平面計量

首先,瀏覽至入口網站中的 Azure 監視器頁面:

瀏覽至 Azure 入口網站的 [監視] 頁面的螢幕擷取畫面,其中已醒目提示 [探索計量]。

依序選取 [探索計量]、單一訂閱,然後選取 [Azure Resource Manager] 計量:

螢幕擷取畫面顯示在 Azure 入口網站中選取單一訂用帳戶和 Azure Resource Manager 計量。

然後,選取 [套用] 之後,您就可以使用自訂篩選和分割,將流量或延遲控制平面計量視覺化:

Azure 入口網站中計量視覺效果的螢幕擷取畫面,顯示依維度篩選和分割的選項。

使用 REST API 查詢流量和延遲安全性控制平面計量

透過 Azure 驗證之後,您就可以提出要求來擷取訂用帳戶的安全性控制平面計量。 在指令碼中,以您的訂用帳戶識別碼取代 00000000-0000-0000-0000-000000000000。 指令碼會擷取平均要求延遲,以秒為單位,以及兩天時間範圍的總要求計數,並細分為一天間隔:

curl --location --request GET "https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=average,count&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z" \
--header "Authorization: bearer {{bearerToken}}"

針對 Azure Resource Manager 計量,您可以使用延遲計量並包括「計數」彙總來擷取流量計數。 您可以看到該要求的 JSON 回應:

{
    "cost": 5758,
    "timespan": "2021-11-01T00:00:00Z/2021-11-03T00:00:00Z",
    "interval": "P1D",
    "value": [
        {
            "id": "subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Insights/metrics/Latency",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Latency",
                "localizedValue": "Latency"
            },
            "displayDescription": "Latency data for all requests to Azure Resource Manager",
            "unit": "Seconds",
            "timeseries": [
                {
                    "metadatavalues": [],
                    "data": [
                        {
                            "timeStamp": "2021-11-01T00:00:00Z",
                            "count": 1406.0,
                            "average": 0.19345163584637273
                        },
                        {
                            "timeStamp": "2021-11-02T00:00:00Z",
                            "count": 1517.0,
                            "average": 0.28294792353328935
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.resources/subscriptions",
    "resourceregion": "global"
}

如果您只想擷取流量計數,則可對 count 彙總使用流量計量:

curl --location --request GET 'https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Traffic&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=count&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z' \
--header 'Authorization: bearer {{bearerToken}}'

此要求的回應為:

{
    "cost": 2879,
    "timespan": "2021-11-01T00:00:00Z/2021-11-03T00:00:00Z",
    "interval": "P1D",
    "value": [
        {
            "id": "subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Insights/metrics/Traffic",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Traffic",
                "localizedValue": "Traffic"
            },
            "displayDescription": "Traffic data for all requests to Azure Resource Manager",
            "unit": "Count",
            "timeseries": [
                {
                    "metadatavalues": [],
                    "data": [
                        {
                            "timeStamp": "2021-11-01T00:00:00Z",
                            "count": 1406.0
                        },
                        {
                            "timeStamp": "2021-11-02T00:00:00Z",
                            "count": 1517.0
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.resources/subscriptions",
    "resourceregion": "global"
}

對於計量支援維度,您必須指定維度值才能查看對應的計量值。 例如,如果您想要將焦點放在對 Resource Manager 成功要求的延遲,則必須使用 2XX 篩選 StatusCodeClass維度。

如果您想要查看在訂閱中為網路資源 (例如虛擬網路和負載平衡器) 提出的要求數目,您需要以 MICROSOFT.NETWORK 來篩選命名空間維度。

檢查節流要求

若只要檢視節流的要求,您只需要篩選 429 狀態碼回應。 針對 REST API 呼叫,篩選是透過使用 $filter 屬性和 StatusCode 維度來完成,藉由附加:$filter=StatusCode eq '429',如下列程式碼片段中的要求結尾所示:

curl --location --request GET 'https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=count,average&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCode%20eq%20%27429%27' \
--header 'Authorization: bearer {{bearerToken}}'

您也可以直接在入口網站中篩選:僅在 Azure 入口網站中篩選 HTTP 狀態代碼至 429 回應的螢幕擷取畫面。

檢查伺服器錯誤

與查看節流的要求相似,您可以藉由僅篩選 5xx 回應,來查看傳回伺服器錯誤回應碼的所有要求。 針對 REST API 呼叫,篩選是透過使用 $filter 屬性和 StatusCodeClass 維度來達成,藉由附加:$filter=StatusCodeClass eq '5xx',如下列程式碼片段中的要求結尾所示:

curl --location --request GET 'https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=count,average&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCodeClass%20eq%20%275xx%27' \
--header 'Authorization: bearer {{bearerToken}}'

您也可以在入口網站內完成一般伺服器錯誤篩選,透過將篩選條件屬性設定為 StatusCodeClass ,並將值設定為 5xx,類似於節流範例中的作法。

Azure 監視器資源記錄

資源記錄提供對 Azure 資源所完成作業的深入解析。 系統會自動產生記錄,但您必須將其路由傳送至 Azure 監視器記錄,才能儲存或查詢這些記錄。 記錄會分成不同類別。 指定的命名空間可以有多個資源記錄類別供您收集。

此服務不會收集資源記錄,但您可以在從 Azure 資源監視資料中找到相關資訊。

Azure 活動記錄 (部分機器翻譯)

活動記錄包含訂用帳戶層級事件,用於追蹤每個 Azure 資源外部可見的作業;例如,建立新的資源或啟動虛擬機器。

收集:活動記錄事件會自動產生並收集至個別存放區中,以便使用者在 Azure 入口網站中檢視。

路由:您可以將活動記錄資料傳送至 Azure 監視器記錄,以便與其他記錄資料一起分析。 您也可以使用其他位置,例如 Azure 儲存體、Azure 事件中樞及特定 Microsoft 監視合作夥伴。 如需路由傳送活動記錄的詳細資訊,請參閱 Azure 活動記錄概觀

分析監視資料

有許多工具可用來分析監視資料。

Azure 監視器工具

Azure 監視器支援下列基本工具:

支援更複雜視覺效果的工具包括:

  • 儀表板 (機器翻譯) 可讓您將不同類型的資料合併到 Azure 入口網站中的單一窗格。
  • 活頁簿 (機器翻譯) 是能在 Azure 入口網站中建立的可自訂報表。 活頁簿可以包含文字、計量及記錄查詢。
  • Grafana 是在操作儀表板中表現相當出色的開放平台工具。 您可以使用 Grafana 來建立儀表板,納入 Azure 監視器以外多個來源的資料。
  • Power BI (機器翻譯) 是一項商務分析服務,可提供跨各種資料來源的互動式視覺效果。 你可以將 Power BI 設定為自動從 Azure 監視器匯入記錄資料,以利用這些視覺效果。

Azure 監視器匯出工具

您可以使用下列方法將資料從 Azure 監視器中提取至其他工具:

若要開始使用適用於 Azure 監視器的 REST API,請參閱 Azure 監視 REST API 逐步解說 (機器翻譯)。

Kusto 查詢

您可以使用 Kusto 查詢語言 (KQL) 分析 Azure 監視器記錄/Log Analytics 存放區中的監視資料。

重要

當您從入口網站的服務功能表中選取 [記錄] 時,Log Analytics 會隨即開啟,並將查詢範圍設定為目前的服務。 此範圍表示記錄查詢只會包含該資源類型的資料。 如果您想要執行包含其他 Azure 服務資料的查詢,請從 [Azure 監視器] 功能表中選取 [記錄]。 如需詳細資訊,請參閱 Azure 監視器 Log Analytics 中的記錄查詢範圍和時間範圍

如需各項服務的常見查詢清單,請參閱 Log Analytics 查詢介面 (機器翻譯)。

警示

在監視資料中發現特定狀況時,Azure 監視器警示會主動通知您。 警示可讓您在客戶發現系統發生問題前,就先及早識別和解決問題。 如需詳細資訊,請參閱 Azure 監視器警示

Azure 資源的常見警示有許多來源。 如需 Azure 資源的常見警示範例,請參閱記錄警示查詢範例 (機器翻譯)。 Azure 監視器基準警示 (AMBA) 網站提供半自動化方法來實作重要的平台計量警示、儀表板和指導方針。 此網站適用於持續擴充的 Azure 服務子集,包括屬於 Azure 登陸區域 (ALZ) 的所有服務。

常見的警示結構描述會將 Azure 監視器警示通知的使用量標準化。 如需詳細資訊,請參閱一般警示結構描述 (機器翻譯)。

警示類型

您可以針對在 Azure 監視器資料平台中的任何計量或記錄資料來源發出警示。 警示有許多不同的類型,具體取決於您監視的服務以及所收集的監視資料。 不同類型的警示各有優缺點。 如需詳細資訊,請參閱選擇正確的監視警示類型 (機器翻譯)。

下列清單介紹可建立的 Azure 監視器警示類型:

  • 計量警示 (機器翻譯) 會定期評估資源計量。 這些計量可以是平台計量、自訂計量、Azure 監視器轉換成計量的記錄,或 Application Insights 計量。 計量警示還可以套用多個條件和動態閾值。
  • 記錄警示 (機器翻譯) 可讓使用者使用 Log Analytics 查詢,以預先定義的頻率評估資源記錄。
  • 活動記錄警示 (機器翻譯) 會在發生符合定義條件的新活動記錄事件時觸發。 資源健康狀態警示和服務健康情況警示是報告服務和資源健康狀態的活動記錄警示。

某些 Azure 服務也支援智慧偵測警示Prometheus 警示建議的警示規則

對於某些服務,若要進行大規模監控,您可以將同一計量警示規則套用至相同 Azure 區域中存在的多個同類型資源。 系統會針對每個受監視的資源傳送個別通知。 如需支援的 Azure 服務和雲端,請參閱使用一個警示規則監視多個資源 (機器翻譯)。

注意

如果您要建立或執行在您的服務上執行的應用程式,Azure 監視器 Application Insights 可提供更多類型的警示。

Resource Manager 警示規則

您可以針對 Azure Resource Manager 監視資料參考中列出的任何計量、記錄項目或活動記錄項目設定警示。

Advisor 建議

對於一些服務,如果在資源作業期間發生重大狀況或有即將到來的變更,入口網站的服務 [概觀] 頁面上會顯示警示。 您可以在左側功能表中 [監視] 底下的 [Advisor 建議] 中找到警示的詳細資訊和建議的修正。 在正常作業期間,不會顯示 Advisor 建議。

如需 Azure Advisor 的詳細資訊,請參閱 Azure Advisor 概觀 (機器翻譯)。