Hochladen von Nutzungsdaten in Azure im indirekten Modus

Sie können regelmäßig Informationen zur Nutzung exportieren. Beim Exportieren und Hochladen dieser Informationen werden der Datencontroller, die verwaltete SQL-Instanz und PostgreSQL-Ressourcen in Azure erstellt und aktualisiert.

Hinweis

Nutzungsinformationen werden automatisch für den Azure Arc-Datencontroller hochgeladen, der im direkten Konnektivitätsmodus bereitgestellt wird. Die Anleitungen in diesem Artikel gelten nur für das Hochladen von Nutzungsinformationen für den Azure Arc-Datencontroller, der im indirekten Konnektivitätsmodus bereitgestellt wird.

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

Erstellen des Dienstprinzipals und Zuweisen von Rollen

Stellen Sie vor dem Fortfahren sicher, 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:

Hinweis

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 die Datei usage.json mit allen Azure Arc-fähigen Datenressourcen erstellt (etwa verwaltete SQL-Instanzen und PostgreSQL-Instanzen), 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 Instanzen von PostgreSQL und 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
    

Uploadhäufigkeit

Im indirekten Modus müssen Nutzungsinformationen mindestens alle 30 Tage in Azure hochgeladen werden. 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..

Hinweis

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