共用方式為


監視 Azure 容器登錄

當您有依賴 Azure 資源的重要應用程式和商務程序時,您會想要監視這些資源的可用性、效能和操作。 本文說明 Azure Container Registry 所產生的監視資料,以如何使用 Azure 監視器的功能來分析此資料並發出警示。

監視器概觀

Azure 入口網站中每個登錄的 [概觀] 頁面皆包含最近資源使用量和活動的簡要檢視,例如推送和提取作業。 此高階資訊很實用,但此處只有顯示少量資料。

Registry metrics overview

什麼是 Azure 監視器?

Azure Container Registry會使用 Azure 監視器 (部分機器翻譯) 建立監視資料,Azure 監視器是 Azure 中的完整堆疊監視服務,其提供了一組完整功能以供您監視 Azure 資源,以及其他雲端和內部部署環境中的資源。

請先閱讀<使用 Azure 監視器監視 Azure 資源>一文,其中會說明下列概念:

  • 什麼是 Azure 監視器?
  • 與監視相關聯的成本
  • 在 Azure 中收集的監視資料
  • 設定資料收集
  • Azure 中用來分析和警示監視資料的標準工具

下列各節將以此文章為基礎來描述為 Azure Container Registry 收集的特定資料,並提供如何使用 Azure 工具來設定資料收集和分析此資料的範例。

監視資料

Azure Container Registry 會收集與其他 Azure 資源相同類型的監視資料,如監視 Azure 資源中的資料 (部分機器翻譯) 中所述。

如需 Azure Container Registry 建立的計量和記錄的詳細資訊,請參閱 監視 Azure Container Registry 資料參考 (部分機器翻譯)。

收集和路由傳送

系統會自動收集和儲存平台計量和活動記錄,但是可以使用診斷設定將資料路由傳送至其他位置。

在您建立診斷設定並將其路由傳送至一個或多個位置之前,系統不會收集和儲存資源記錄。

如需使用 Azure 入口網站、Azure CLI 或 PowerShell 建立診斷設定的詳細程序,請參閱建立診斷設定以在 Azure 中收集平台記錄和計量。 在建立診斷設定時,您可以指定要收集的記錄類別。 Azure Container Registry 的類別會列於 Azure Container Registry 監視資料參考 (部分機器翻譯)。

提示

您也可以瀏覽至入口網站中的登錄,來建立登錄診斷設定。 在功能表中,選取 [監視] 下的 [診斷設定]

下圖顯示當您啟用登錄的診斷設定時的選項。

Diagnostic settings for container registry

下列各節將討論您可以收集的計量和記錄。

分析計量

您可以從 [Azure 監視器] 功能表開啟 [計量],以透過計量瀏覽器使用其他 Azure 服務中的計量來分析 Azure Container Registry 的計量。 如需使用此工具的詳細資料,請參閱使用 Azure 監視器計量瀏覽器分析計量

提示

您也可以先瀏覽至入口網站中的登錄,再移至計量總管。 在功能表的 [監視] 底下,選取 [計量]

如需針對 Azure Container Registry 收集的平台計量清單,請參閱監視 Azure Container Registry 資料參考計量 (部分機器翻譯)

如需參考,您可以查看 Azure 監視器中支援的所有資源計量清單。

Azure CLI

下列 Azure CLI 命令可用來取得 Azure Container Registry 計量的相關資訊。

REST API

您可以使用 Azure 監視器 REST API,取得 Azure Container Registry 計量的程式設計相關資訊。

分析記錄

Azure 監視器記錄中的資料會儲存在資料表中,其中每個資料表都有一組專屬的唯一屬性。

Azure 監視器中的所有資源記錄都有相同的欄位,後面接著服務特定的欄位。 一般結構描述如 Azure 監視器資源記錄結構描述中所述。 在 Azure Container Registry 資料參考 (部分機器翻譯) 中找到 Azure Container Registry 資源記錄的結構描述。

活動記錄 是 Azure 中的平台記錄,可提供訂用帳戶層級事件的深入解析。 您可以獨立檢視活動記錄,或將記錄路由至 Azure 監視器記錄,以便使用 Log Analytics 處理更為複雜的查詢作業。

如需針對 Azure Container Registry 收集的資源記錄類型清單,請參閱監視 Azure Container Registry 資料參考 (部分機器翻譯)。

如需 Azure 監視器記錄所使用且可由 Log Analytics 查詢的資料表清單,請參閱監視 Azure Container 參考資料參考 (部分機器翻譯)。

範例 Kusto 查詢

重要

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

例如,下列查詢會從 ContainerRegistryRepositoryEvents 資料表中擷取最近 24 小時的資料:

ContainerRegistryRepositoryEvents
| where TimeGenerated > ago(1d) 

下圖顯示範例輸出:

Query log data

以下是可用來協助您監視登錄資源的查詢。

過去一小時內的錯誤事件

union Event, Syslog // Event table stores Windows event records, Syslog stores Linux records
| where TimeGenerated > ago(1h)
| where EventLevelName == "Error" // EventLevelName is used in the Event (Windows) records
	or SeverityLevel== "err" // SeverityLevel is used in Syslog (Linux) records

100 個最新的登錄事件

ContainerRegistryRepositoryEvents
| union ContainerRegistryLoginEvents
| top 100 by TimeGenerated
| project TimeGenerated, LoginServer, OperationName, Identity, Repository, DurationMs, Region , ResultType

刪除存放庫的使用者或物件身分識別

ContainerRegistryRepositoryEvents
| where OperationName contains "Delete"
| project LoginServer, OperationName, Repository, Identity, CallerIpAddress

刪除標記的使用者或物件身分識別

ContainerRegistryRepositoryEvents
| where OperationName contains "Untag"
| project LoginServer, OperationName, Repository, Tag, Identity, CallerIpAddress

存放庫層級的作業失敗

ContainerRegistryRepositoryEvents 
| where ResultDescription contains "40"
| project TimeGenerated, OperationName, Repository, Tag, ResultDescription

登錄驗證失敗

ContainerRegistryLoginEvents 
| where ResultDescription != "200"
| project TimeGenerated, Identity, CallerIpAddress, ResultDescription

警示

在監視資料中發現重大狀況時,Azure 監視器會主動通知您。 如此便能在您的客戶注意到之前,先在您的系統中識別問題並加以對應。 可在 [計量]、[記錄]、[活動記錄] 中設定警示。 不同類型的警示各有優缺點。

下表列出 Azure Container Registry 常見和建議的警示規則。

警示類型 Condition 描述
計量 訊號:使用的儲存空間
運算子:大於
彙總類型:平均
閾值:5 GB
如果使用的登錄儲存體超過指定的值,就會發出警示。

範例:使用的登錄儲存體超過某一值時,傳送電子郵件警示

  1. 在 Azure 入口網站中,瀏覽至您的登錄。
  2. 在 [監視] 下,選取 [計量]
  3. 在計量總管的 [計量] 中,選取 [已使用的儲存體]
  4. 選取 [新增警示規則]。
  5. 在 [範圍] 中,確認您要為其建立警示規則的登錄資源。
  6. 在 [條件] 中,選取 [新增條件]
    1. 在[訊號名稱] 中,選取[已使用的儲存體]
    2. 在 [圖表期間] 中,選取 [過去 24 小時內]
    3. 在 [警示邏輯] 的 [閾值]] 中選取值,例如 5。 在 [單位] 中選取值,例如 GB
    4. 接受其餘設定的預設值,並選取 [完成]
  7. 在 [動作] 中,選取 [新增動作群組]> [+ 建立動作群組]
    1. 輸入動作群組的詳細資料。
    2. 在 [通知] 索引標籤上,選取 [電子郵件/簡訊/推播/語音],接著輸入收件者,例如 admin@contoso.com。 選取 [檢閱 + 建立]。
  8. 輸入警示規則的名稱和說明,然後選取嚴重性層級。
  9. 選取 [建立警示規則]

下一步