Hochladen von Protokollen in Azure Monitor

Sie können Protokolle in regelmäßigen Abständen exportieren und dann in Azure hochladen. Beim Exportieren und Hochladen von Protokollen werden auch die Ressourcen des Datencontrollers, der verwalteten SQL-Instanz und des PostgreSQL-Servers in Azure erstellt und aktualisiert.

Voraussetzungen

Bevor Sie Protokolle hochladen können, müssen die folgenden Schritte erfolgen:

  1. Erstellen eines Log Analytics-Arbeitsbereichs
  2. Zuweisen von ID und gemeinsam verwendetem Schlüssel zu Umgebungsvariablen

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.

Erstellen eines Log Analytics-Arbeitsbereichs

Führen Sie zum Erstellen eines Arbeitsbereichs für die Protokollanalyse diese Befehle aus, um einen Log Analytics-Arbeitsbereich zu erstellen und die Zugriffsinformationen in Umgebungsvariablen festzulegen.

Hinweis

Überspringen Sie diesen Schritt,wenn Sie bereits über einen Arbeitsbereich verfügen.

az monitor log-analytics workspace create --resource-group <resource group name> --workspace-name <some name you choose>

Beispielausgabe:

{
  "customerId": "d6abb435-2626-4df1-b887-445fe44a4123",
  "eTag": null,
  "id": "/subscriptions/<Subscription ID>/resourcegroups/user-arc-demo/providers/microsoft.operationalinsights/workspaces/user-logworkspace",
  "location": "eastus",
  "name": "user-logworkspace",
  "portalUrl": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "user-arc-demo",
  "retentionInDays": 30,
  "sku": {
    "lastSkuUpdate": "Thu, 30 Jul 2020 22:37:53 GMT",
    "maxCapacityReservationLevel": 3000,
    "name": "pergb2018"
  },
  "source": "Azure",
  "tags": null,
  "type": "Microsoft.OperationalInsights/workspaces"
}

Zuweisen von ID und gemeinsam verwendetem Schlüssel zu Umgebungsvariablen

Speichern Sie die customerId des Arbeitsbereichs für die Protokollanalyse als Umgebungsvariable zur späteren Verwendung:

SET WORKSPACE_ID=<customerId>

Mit diesem Befehl werden die Zugriffsschlüssel zurückgegeben, die für die Verbindung mit Ihrem Arbeitsbereich für die Protokollanalyse erforderlich sind:

az monitor log-analytics workspace get-shared-keys --resource-group MyResourceGroup --workspace-name MyLogsWorkpace

Beispielausgabe:

{
  "primarySharedKey": "JXzQp1RcGgjXFCDS3v0sXoxPvbgCoGaIv35lf11Km2WbdGFvLXqaydpaj1ByWGvKoCghL8hL4BRoypXxkLr123==",
  "secondarySharedKey": "p2XHSxLJ4o9IAqm2zINcEmx0UWU5Z5EZz8PQC0OHpFjdpuVaI0zsPbTv5VyPFgaCUlCZb2yEbkiR4eTuTSF123=="
}

Speichern Sie den Primärschlüssel zur späteren Verwendung in einer Umgebungsvariablen:

SET WORKSPACE_SHARED_KEY=<primarySharedKey>

Überprüfen von Umgebungsvariablen

Stellen Sie sicher, dass alle erforderlichen Umgebungsvariablen festgelegt sind:

echo %WORKSPACE_ID%
echo %WORKSPACE_SHARED_KEY%

Nach Festlegen der Umgebungsvariablen können Sie Protokolle in den Arbeitsbereich für die Protokollanalyse hochladen.

Konfigurieren des automatischen Uploads von Protokollen in Azure Log Analytics Workspace im direkten Modus mithilfe der az CLI

Im direkt verbundenen Modus kann der Protokollupload nur im automatischen Modus eingerichtet werden. Dieser automatische Upload von Metrikdaten kann entweder während oder nach der Bereitstellung des Azure Arc-Datencontrollers eingerichtet werden.

Automatisches Hochladen von Protokollen zum Azure Log Analytics-Arbeitsbereich aktivieren

Wenn das automatische Hochladen von Protokollen bei der Azure Arc-Datencontrollerbereitstellung deaktiviert wurde, führen Sie den folgenden Befehl aus, um das automatische Hochladen von Protokollen zu aktivieren.

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-logs true
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-logs true

Automatisches Hochladen von Protokollen zum Azure Log Analytics-Arbeitsbereich aktivieren

Wenn das automatische Hochladen von Protokollen bei der Azure Arc-Datencontrollerbereitstellung aktiviert wurde, führen Sie den folgenden Befehl aus, um das automatische Hochladen von Protokollen zu deaktivieren.

az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-logs false
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-logs false

Konfigurieren des automatischen Uploads von Protokollen in Azure Log Analytics Workspace im direkten Modus mithilfe der kubectl CLI

Automatisches Hochladen von Protokollen zum Azure Log Analytics-Arbeitsbereich aktivieren

So konfigurieren Sie den automatischen Upload von Protokollen mithilfe von kubectl:

  • Stellen Sie sicher, dass der Log Analytics-Arbeitsbereich wie im vorherigen Abschnitt beschrieben erstellt wird
  • Erstellen Sie ein Kubernetes-Geheimnis für den Log Analytics-Arbeitsbereich, indem Sie die WorkspaceID und den SharedAccessKey wie folgt verwenden:
apiVersion: v1
data:
  primaryKey: <base64 encoding of Azure Log Analytics workspace primary key>
  workspaceId: <base64 encoding of Azure Log Analytics workspace Id>
kind: Secret
metadata:
  name: log-workspace-secret
  namespace: <your datacontroller namespace>
type: Opaque
  • Führen Sie dies zum Erstellen des Geheimnisses aus:

    kubectl apply -f <myLogAnalyticssecret.yaml> --namespace <mynamespace>
    
  • Zum Öffnen der Einstellungen als Yaml-Datei im Standard-Editor führen Sie Folgendes aus:

    kubectl edit datacontroller <DC name> --name <namespace>
    
  • Aktualisieren Sie die autoUploadLogs-Eigenschaft auf "true", und speichern Sie die Datei

Automatisches Hochladen von Protokollen zum Azure Log Analytics-Arbeitsbereich aktivieren

Zum Deaktivieren des automatischen Uploads von Protokollen führen Sie Folgendes aus:

kubectl edit datacontroller <DC name> --name <namespace>
  • Aktualisieren Sie die autoUploadLogs-Eigenschaft auf "false", und speichern Sie die Datei

Hochladen von Protokollen zu Azure Monitor im indirekten Modus

Führen Sie die folgenden CLI-Befehle aus, um Protokolle für die von Azure Arc und Azure Arc aktivierte Azure Arc-aktivierte PostgreSQL-Server hochzuladen:

  1. Exportieren Sie alle Protokolle in die angegebene Datei:

    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 logs --path logs.json  --k8s-namespace arc
    
  2. Laden Sie die Protokolle in einen Log Analytics-Arbeitsbereich in Azure Monitor hoch:

    az arcdata dc upload --path logs.json
    

Anzeigen Ihrer Protokolle im Azure-Portal

Nachdem Ihre Protokolle hochgeladen wurden, sollten Sie sie mit dem Abfrage-Explorer für Protokolle wie folgt abfragen können:

  1. Öffnen Sie das Azure-Portal. Suchen Sie dann oben in der Suchleiste anhand des Namens nach Ihrem Arbeitsbereich, und wählen Sie ihn aus.
  2. Wählen Sie im linken Bereich „Protokolle“ aus.
  3. Wählen Sie „Erste Schritte“ aus (bzw. die Links auf der Seite „Erste Schritte“, um mehr über Log Analytics zu erfahren, falls Sie noch nicht damit vertraut sind).
  4. Wenn Sie Log Analytics erstmals verwenden, arbeiten Sie das Tutorial durch, um weitere Informationen zu Log Analytics zu erfahren.
  5. Erweitern Sie benutzerdefinierte Protokolle unten in der Liste der Tabellen, und Sie sehen eine Tabelle mit dem Namen „sql_instance_logs_CL“ oder „postgresInstances_postgresql_logs_CL“.
  6. Wählen Sie neben dem Tabellennamen das Augensymbol aus.
  7. Wählen Sie die Schaltfläche „View in query editor“ (Im Abfrage-Editor anzeigen) aus.
  8. Sie verfügen nun über eine Abfrage im Abfrage-Editor, mit der die letzten 10 Ereignisse im Protokoll angezeigt werden.
  9. Sie können jetzt mit Abfragen für die Protokolle experimentieren, indem Sie den Abfrage-Editor verwenden, Warnungen festlegen usw.

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 (Windows).

az arcdata dc export --type logs --path logs.json --force --k8s-namespace arc
az arcdata dc upload --path logs.json

Ausführen der Skriptdatei

chmod +x myuploadscript.sh

Führen Sie das Skript alle 20 Minuten 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 Nutzungsdaten, Metriken und Protokollen in Azure Monitor

Hochladen von Abrechnungsdaten in Azure und Anzeigen im Azure-Portal

Anzeigen der Azure Arc-Datencontrollerressource im Azure-Portal