Freigeben über


Upload usage data to Azure in indirect mode

Sie können regelmäßig Informationen zur Nutzung exportieren. Der Export und Upload dieser Informationen erstellt und aktualisiert den Datenverantwortlichen und die von SQL verwaltete Instanz.

Note

Usage information is automatically uploaded for Azure Arc data controller deployed in direct connectivity mode. The instructions in this article only apply to uploading usage information for Azure Arc data controller deployed in indirect connectivity mode..

Warten Sie nach dem Erstellen des Azure Arc-Datencontrollers mindestens 24 Stunden, bevor Sie Nutzungsdaten hochladen.

Erstellen des Dienstprinzipals und Zuweisen von Rollen

Vergewissern Sie sich zunächst, dass Sie den erforderlichen Dienstprinzipal erstellt und einer geeigneten Rolle zugewiesen haben. Einzelheiten dazu finden Sie unter:

Beispiele in diesem Artikel verwenden eckige Klammern < ... >, um Werte zu identifizieren, die Sie ersetzen müssen, bevor Sie das Skript ausführen. Ersetzen Sie die Klammern und die Werte in den Klammern.

Hochladen von Nutzungsdaten

Nutzungsdaten wie Bestand und Ressourcenverbrauch können wie folgt in zwei Schritten in Azure hochgeladen werden:

  1. Exportieren Sie die Nutzungsdaten wie folgt mit dem Befehl az arcdata dc export:

Note

Das Exportieren von Nutzungs-/Abrechnungsinformationen, Metriken und Protokollen mithilfe des Befehls az arcdata dc export erfordert vorerst die Umgehung der SSL-Überprüfung. Sie werden aufgefordert, die SSL-Überprüfung zu umgehen, oder Sie können die Umgebungsvariable AZDATA_VERIFY_SSL=no festlegen, um Aufforderungen zu vermeiden. Derzeit gibt es keine Möglichkeit, ein SSL-Zertifikat für die Datencontroller-Export-API zu konfigurieren.

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

Mit diesem Befehl wird eine usage.json Datei mit allen Azure Arc-fähigen Datenressourcen wie SQL Managed Instances erstellt, die auf dem Datencontroller erstellt werden.

Vorerst ist die Datei nicht verschlüsselt, sodass der Inhalt angezeigt werden kann. Sie können sie in einem Text-Editor öffnen, um den Inhalt anzuzeigen.

Sie werden feststellen, dass es zwei Datensätze gibt: resources und data. resources sind der Datencontroller sowie die Instanzen von SQL Managed Instance. Die resources-Datensätze in den Daten erfassen die relevanten Ereignisse im Verlauf einer Ressource: wann sie erstellt, aktualisiert und gelöscht wurde. Mit den data-Datensätzen wird erfasst, wie viele Kerne für eine bestimmte Instanz pro Stunde verfügbar waren.

Beispiel für einen resource-Eintrag:

    {
        "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"
    }

Beispiel für einen data-Eintrag:

        {
          "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. Laden Sie die Nutzungsdaten mit dem Befehl upload hoch.

    az arcdata dc upload --path usage.json
    

Upload frequency

In the indirect mode, usage information needs to be uploaded to Azure at least once in every 30 days. Es wird dringend empfohlen, die Informationen häufiger hochzuladen, z. B. täglich. Wenn in den letzten 32 Tagen keine Nutzungsinformationen hochgeladen wurden, kommt es zu einer Beeinträchtigung des Diensts, da beispielsweise keine neuen Ressourcen bereitgestellt werden können.

Es gibt zwei Arten von Benachrichtigungen für verzögerte Nutzungsuploads: eine für die Warnungsphase und eine für die Beeinträchtigungsphase. In der Warnungsphase wird beispielsweise eine Meldung wie Billing data for the Azure Arc data controller has not been uploaded in {0} hours. Please upload billing data as soon as possible. angezeigt.

In der Beeinträchtigungsphase sieht die Meldung wie folgt aus: 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..

Note

Die Warnmeldung wird angezeigt, wenn die Nutzung seit mehr als 48 Stunden nicht hochgeladen wurde.

Auf der Übersichtsseite des Azure-Portals für den Datencontroller und den Status der benutzerdefinierten Ressource des Datencontrollers in Ihrem Kubernetes-Cluster ist sowohl das letzte Uploaddatum als auch die Statusnachricht angegeben.

Automatisieren von Uploads (optional)

Wenn Sie Metriken und Protokolle nach einem Zeitplan hochladen möchten, können Sie ein Skript erstellen und es mit einem Timer alle paar Minuten ausführen. Im Folgenden finden Sie ein Beispiel für die Automatisierung der Uploads mithilfe eines Linux-Shellskripts.

Fügen Sie in dem von Ihnen bevorzugten Text- oder Code-Editor das folgende Skript in eine Datei ein, und speichern Sie die Datei als ausführbare Skriptdatei, z. B. .sh (Linux/Mac) oder .cmd, .bat oder .ps1.

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

Ausführen der Skriptdatei

chmod +x myuploadscript.sh

Führen Sie das Skript täglich für die Nutzung aus:

watch -n 1200 ./myuploadscript.sh

Sie können auch einen Auftragsplaner wie cron oder den Windows-Taskplaner bzw. einen Orchestrator wie Ansible, Puppet oder Chef verwenden.

Hochladen von Metriken in Azure Monitor

Hochladen von Protokollen in Azure Monitor

Hochladen von Abrechnungsdaten in Azure und Anzeigen im Azure-Portal

Anzeigen der Azure Arc-Datencontrollerressource im Azure-Portal