共用方式為


間接模式將使用量資料上傳至 Azure

您可以定期匯出使用量資訊。 匯出和上傳此資訊時,系統也會在 Azure 中建立和更新資料控制器、SQL 受控執行個體和 PostgreSQL 資源。

注意

針對以直接連線模式部署的 Azure Arc 資料控制器,系統會自動上傳使用量資訊。 本文中的說明僅適用於上傳以間接連線模式部署的 Azure Arc 資料控制器之使用量資訊。

建立 Azure Arc 資料控制器之後,請先等候至少 24 小時,再上傳使用量資料。

建立服務主體並指派角色

繼續之前,請確定您已建立必要的服務主體,並將它指派給適當的角色。 如需詳細資料,請參閱:

本文中的範例會使用角括弧 < ... > 來識別您需要在執行指令碼之前取代的值。 取代括弧和括弧內的值。

上傳使用量資料

庫存和資源使用量等使用量資訊,可以透過下列兩步驟方式上傳至 Azure:

  1. 使用 az arcdata dc export 命令匯出使用量資料,如下所示:

注意

使用 az arcdata dc export 命令匯出使用量/帳單資訊、計量和記錄需要暫時略過 SSL 驗證。 系統會提示您略過 SSL 驗證,或者您可以設定 AZDATA_VERIFY_SSL=no 環境變數以避免出現提示。 目前無法設定資料控制器匯出 API 的 SSL 憑證。

az arcdata dc export --type usage --path usage.json --k8s-namespace <namespace> --use-k8s

此命令會建立一個 usage.json 檔案,內含所有已啟用 Azure Arc 且建立在資料控制器上的資料資源,例如 SQL 受控執行個體和 PostgreSQL 執行個體等。

檔案目前並未加密,因此您可以看到內容。 您可以在文字編輯器中開啟並查看內容。

您會注意到有兩組資料:resourcesdataresources 包含資料控制器、PostgreSQL 和 SQL 受控執行個體。 資料中的 resources 記錄會擷取資源歷程中的相關事件 - 建立、更新和刪除的時間。 data 記錄會擷取指定執行個體每小時可供使用的核心數量。

resource 項目的範例:

    {
        "customObjectName": "<resource type>-2020-29-5-23-13-17-164711",
        "uid": "4bc3dc6b-9148-4c7a-b7dc-01afc1ef5373",
        "instanceName": "sqlInstance001",
        "instanceNamespace": "arc",
        "instanceType": "<resource>",
        "location": "eastus",
        "resourceGroupName": "production-resources",
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "isDeleted": false,
        "externalEndpoint": "32.191.39.83:1433",
        "vCores": "2",
        "createTimestamp": "05/29/2020 23:13:17",
        "updateTimestamp": "05/29/2020 23:13:17"
    }

data 項目的範例:

        {
          "requestType": "usageUpload",
          "clusterId": "4b0917dd-e003-480e-ae74-1a8bb5e36b5d",
          "name": "DataControllerTestName",
          "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
          "resourceGroup": "production-resources",
          "location": "eastus",
          "uploadRequest": {
            "exportType": "usages",
            "dataTimestamp": "2020-06-17T22:32:24Z",
            "data": "[{\"name\":\"sqlInstance001\",
                       \"namespace\":\"arc\",
                       \"type\":\"<resource type>\",
                       \"eventSequence\":1, 
                       \"eventId\":\"50DF90E8-FC2C-4BBF-B245-CB20DC97FF24\",
                       \"startTime\":\"2020-06-17T19:11:47.7533333\",
                       \"endTime\":\"2020-06-17T19:59:00\",
                       \"quantity\":1,
                       \"id\":\"4BC3DC6B-9148-4C7A-B7DC-01AFC1EF5373\"}]",
           "signature":"MIIE7gYJKoZIhvcNAQ...2xXqkK"
          }
        }
  1. 使用 upload 命令上傳使用量資料。

    az arcdata dc upload --path usage.json
    

上傳頻率

間接模式中,必須至少每隔 30 天將使用量資訊上傳至 Azure 一次。 強烈建議您提高上傳頻率,例如每日一次。 如果未上傳過去 32 天的使用量資訊,您會發現服務遭到降級,例如無法佈建任何新資源。

針對使用量上傳延遲,您將收到兩種類型的通知 - 警告階段和降級階段。 在警告階段中,您會收到如 Billing data for the Azure Arc data controller has not been uploaded in {0} hours. Please upload billing data as soon as possible. 的訊息。

在降級階段中,該訊息看起來會如 Billing data for the Azure Arc data controller has not been uploaded in {0} hours. Some functionality will not be available until the billing data is uploaded. 所示。

注意

如果超過 48 小時都尚未上傳使用量,您將會看到警告訊息。

Azure 入口網站資料控制器的 [概觀] 頁面,以及 Kubernetes 叢集中資料控制器的 [自訂資源] 狀態,兩處都會顯示上次上傳日期和狀態訊息。

自動上傳 (選用)

若要依照排程上傳計量和記錄,您可建立指令碼,並根據計時器每隔幾分鐘執行一次。 以下是使用 Linux 殼層指令碼來自動上傳的範例。

在慣用的文字/程式碼編輯器中,將下列指令碼新增至檔案,並另存為指令碼可執行檔,例如 .sh (Linux/Mac) 或 .cmd.bat.ps1

az arcdata dc export --type usage --path usage.json --force --k8s-namespace <namespace> --use-k8s
az arcdata dc upload --path usage.json

讓指令檔可執行

chmod +x myuploadscript.sh

每天執行指令碼以便使用:

watch -n 1200 ./myuploadscript.sh

您也可使用工作排程器 (例如 cron 或 Windows 工作排程器) 或協調器 (例如 Ansible、Puppet 或 Chef)。

將計量和記錄上傳至 Azure 監視器

將記錄上傳至 Azure 監視器

將計費資料上傳至 Azure,並在 Azure 入口網站中檢視

在 Azure 入口網站中檢視 Azure Arc 資料控制器資源