共用方式為


使用診斷設定監視 Azure Cache for Redis

重要

Azure Cache for Redis 宣布了所有 SKU 的淘汰時間表。 建議您儘快將現有的 Azure Cache for Redis 執行個體移至 Azure 受控 Redis

有關退休的更多詳細資訊:

Azure Cache for Redis 在 診斷設定中提供兩個監視選項:

  • 快取計量 會記錄有關快取作業的 Azure 監視器計量。
  • 連線記錄會記錄與快取的連線。 Azure 會依要求擷取這些記錄,也稱為 數據平面記錄。 線上記錄的內容會因資源類型而異。

如需 Azure 監視器監視和記錄功能的概觀,請參閱 Azure 監視器中的診斷設定

可用性範圍

基本、標準與進階 Enterprise 和 Enterprise Flash
快取度量 是的 是的
連線記錄 是的 是的

快取度量

Azure Redis 會發出許多有用的計量,例如 每秒的伺服器負載連線。 如需 Azure Redis 計量的完整清單,請參閱 計量

若要記錄快取計量,請根據您的階層指示,在您的快取診斷設定中啟用 AllMetrics 選項。 您可以設定保留計量的時間長度。 如需記錄和導出計量的詳細資訊,請參閱 Azure Cache for Redis 計量

連線記錄

Azure Cache for Redis 會使用 Azure 診斷設定來記錄有關快取的用戶端連線資訊。 在診斷設定中記錄和分析這項資訊,可協助您瞭解誰連線到您的快取和何時。 您可以使用記錄數據進行安全性稽核,或識別安全性問題的範圍。

附註

您一律可以使用 redis-cli INFOCLIENT LIST 命令來檢查誰隨選連線到快取實例。

連線記錄的實作和產生的記錄在 Azure Redis 的各層級中類似,但基本、標準和進階層與 Enterprise 和 Enterprise Flash 層存在一些差異。

重要

  • 基本、標準和進階層中,連線記錄會輪詢快取中的目前用戶端連線。 只要相同的用戶端 IP 位址持續連線,就可以重複出現。
  • 在 Enterprise 和 Enterprise Flash 層中,記錄著重於連線 事件。 只有在連線事件或其他連線相關事件第一次發生時,才會進行記錄。

需求和限制

基本、標準和進階層快取會依 IP 位址輪詢用戶端連線,包括源自每個唯一 IP 位址的連線數目。 這些記錄不是累積的,而是代表以10秒間隔拍攝的時間點快照集。 這些層不會記錄成功或失敗的驗證事件或中斷連線事件。

請記住下列限制:

  • 由於這些層中的連線記錄包含每隔 10 秒拍攝的時間點快照集,因此不會記錄在 10 秒間隔內建立和移除的連接。
  • 不會記錄驗證和中斷連線事件。
  • 診斷設定最多可能需要 90 分鐘 的時間,才能開始流向您選取的目的地。
  • 連線記錄可能會導致快取效能略有下降。
  • 若要將記錄串流至Log Analytics,僅支援 Analytics 記錄定價方案。 如需詳細資訊,請參閱 Azure 監視器計量價格

重要

當您選取記錄時,可以選擇 [類別 ] 或 [ 類別] 群組,這是跨 Azure 服務預先定義的記錄群組。 如果您使用 類別群組,則無法設定保留設定。 如果您需要設定連線記錄的保留期間,請改為選取 [類別 ] 中的專案。 如需詳細資訊,請參閱 類別目錄群組

記錄目的地

當您啟用 Azure Redis 實例的診斷設定時,您可以將資源記錄傳送至下列目的地:

  • 傳送至 Log Analytics 工作區。 工作區不必位於與受監視資源相同的區域中。

  • 封存至儲存體帳戶。 儲存體帳戶必須位於與快取相同的區域中。

  • 串流處理至事件中樞。 事件中樞所在的區域必須與快取相同。

    如果已啟用虛擬網路,診斷設定就無法存取事件中樞資源。 啟用 允許受信任的 Microsoft 服務略過此防火牆設定,以授予 Azure 事件中樞資源的存取權。

  • 傳送至合作夥伴解決方案。 如需潛在的合作夥伴記錄解決方案清單,請參閱 使用 Azure 原生整合擴充 Azure - 資料和記憶體

當您將診斷記錄傳送至記憶體帳戶或事件中樞時,您會針對任一目的地收取一般數據費率。 您的計費會使用 Azure 監視器,而不是 Azure Cache for Redis。 當您將記錄傳送至 Log Analytics 時,您只需支付 Log Analytics 數據擷取的費用。 如需詳細資訊,請參閱 Azure 監視器定價

使用 Azure 入口網站啟用診斷設定

  1. 在快取的 Azure 入口網站頁面上,選取左側瀏覽窗格中 [監視] 底下的 [診斷設定]

  2. 在 [診斷設定] 頁面上,選取 [新增診斷設定]

    顯示 [診斷設定] 頁面的螢幕快照,其中已醒目提示 [新增診斷設定]。

  3. 在 [ 診斷設定 ] 頁面上,輸入診斷設定的名稱,然後選取您想要的監視選項。 例如,選取 [AllMetrics ] 以記錄所有計量和 allLogs ,以記錄 連線的用戶端清單MSEntra 驗證稽核記錄

  4. 選取一或多個目的地和目的地詳細數據,然後選取 [ 儲存]。

    顯示進階快取之診斷設定頁面的螢幕快照。

使用 REST API 啟用連線記錄

若要建立診斷設定,請在互動式控制台中使用 Azure 監視器 REST API,如下所示。 如需詳細資訊,請參閱 診斷設定 - 建立或更新

請求

PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview

參數/標頭

  • Content-Typeapplication/json
  • name:診斷設定的名稱
  • resourceUrisubscriptions/<your subscription id>/resourceGroups/<cache resource group>/providers/Microsoft.Cache/Redis/<cache name>
  • api-version2017-05-01-preview

範例本文

{
    "properties": {
      "storageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1",
      "eventHubAuthorizationRuleId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule",
      "eventHubName": "myeventhub",
      "workspaceId": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/myworkspace",
      "logs": [
        {
          "category": "ConnectedClientList",
          "enabled": true,
          "retentionPolicy": {
            "enabled": false,
            "days": 0
          }
        }
      ]
    }
}

使用 Azure CLI 啟用連線記錄

使用 Azure CLI az monitor diagnostic-settings create 命令來建立診斷設定。 如需命令和參數描述的詳細資訊,請參閱 建立診斷設定,以將平台記錄和計量傳送至不同的目的地

下列範例示範如何使用 Azure CLI 將資料串流至四個不同的端點:

az monitor diagnostic-settings create 
    --resource /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupname}/providers/Microsoft.Cache/Redis/{cacheName}
    --name {logName}
    --logs '[{"category": "ConnectedClientList","enabled": true,"retentionPolicy": {"enabled": false,"days": 0}}]'    
    --event-hub {eventHubName}
    --event-hub-rule /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/microsoft.eventhub/namespaces/{eventHubNamespace}/authorizationrule/{ruleName}
    --storage-account /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}
    --workspace /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{logAnalyticsWorkspaceName}
    --marketplace-partner-id/subscriptions/{subscriptionID}/resourceGroups{resourceGroupname}/providers/Microsoft.Datadog/monitors/mydatadog

連線記錄檔內容

下列欄位和屬性會出現在記錄類別中 ConnectedClientList 。 在 Azure 監視器中,記錄會被收集在資源提供者名稱 ACRConnectedClientList 下的 MICROSOFT.CACHE 資料表中。

Azure 儲存體欄位或屬性 Azure 監視器記錄屬性 描述
time TimeGenerated 產生記錄檔時的 UTC 時間戳。
location Location 在其中存取 Azure Redis 快取的 Azure 區域。
category 不適用 可用的記錄類別 ConnectedClientList
resourceId _ResourceId 已啟用 Azure Redis 資源記錄。
operationName OperationName 與記錄檔記錄相關聯的 Redis 作業。
properties 不適用 請參閱下列數據列。
tenant CacheName Azure Redis 實例的名稱。
roleInstance RoleInstance 記錄用戶端清單的角色執行個體。
connectedClients.ip ClientIp Redis 用戶端 IP 位址。
connectedClients.privateLinkIpv6 PrivateLinkIpv6 Redis 用戶端私人連結 IPv6 位址 (如果適用的話)。
connectedClients.count ClientCount 相關 IP 位址的 Redis 用戶端連線數目。

範例儲存體帳戶記錄

傳送至記憶體帳戶的記錄內容可能如下列範例所示。

{
    "time": "2021-08-05T21:04:58.0466086Z",
    "location": "canadacentral",
    "category": "ConnectedClientList",
    "properties": {
        "tenant": "mycache", 
        "connectedClients": [
            {
                "ip": "192.123.43.36", 
                "count": 86
            },
            {
                "ip": "10.1.1.4",
                "privateLinkIpv6": "fd40:8913:31:6810:6c31:200:a01:104", 
                "count": 1
            }
        ],
        "roleInstance": "1"
    },
    "resourceId": "/SUBSCRIPTIONS/eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c/RESOURCEGROUPS/AZURE-CACHE/PROVIDERS/MICROSOFT.CACHE/REDIS/MYCACHE", 
    "Level": 4,
    "operationName": "Microsoft.Cache/ClientList"
}

如需如何使用 Azure 入口網站、Azure CLI 或 Azure PowerShell 建立診斷設定的詳細資訊,請參閱 建立診斷設定以收集 Azure 中的平台記錄和計量