Überwachen von Azure Key Vault

Wenn Sie über unternehmenskritische Anwendungen und Geschäftsprozesse verfügen, die auf Azure-Ressourcen beruhen, sollten Sie Verfügbarkeit, Leistung und Betrieb dieser Ressourcen überwachen. Für Azure Key Vault ist es wichtig, Ihren Dienst zu überwachen, wenn Sie mit der Skalierung beginnen, da die Anzahl der an Ihren Schlüsseltresor gesendeten Anforderungen steigt. Dies kann die Latenzzeit Ihrer Anforderungen erhöhen und in extremen Fällen zu einer Drosselung Ihrer Anforderungen führen – was sich auf die Leistung Ihres Diensts auswirkt.

In diesem Artikel werden die von Key Vault generierten Überwachungsdaten erläutert. Key Vault verwendet Azure Monitor. Wenn Sie nicht mit den Features von Azure Monitor vertraut sind, die Bestandteil aller Azure-Dienste sind, für die Azure Monitor verwendet wird, lesen Sie den Artikel Überwachen von Azure-Ressourcen mit Azure Monitor.

Übersichtsseite zur Überwachung im Azure-Portal

Die Seite Übersicht im Azure-Portal für den jeweiligen Schlüsseltresor enthält die folgenden Metriken auf der Registerkarte „Überwachung“:

  • Anforderungen gesamt
  • Durchschnittliche Latenz
  • Erfolgsquote

Sie können „Zusätzliche Metriken“ (oder die Registerkarte „Metriken“ auf der linken Randleiste unter „Überwachung“) auswählen, um auch die folgenden Metriken anzuzeigen:

  • Wartezeit für Dienst-API gesamt
  • Tresorverfügbarkeit gesamt
  • Tresorauslastung gesamt
  • Dienst-API-Treffer gesamt
  • Dienst-API-Ergebnisse gesamt

Key Vault-Erkenntnisse

Für einige Dienste in Azure enthält das Azure-Portal ein spezielles, vorgefertigtes Überwachungsdashboard, das als Ausgangspunkt für die Überwachung Ihres Diensts dient. Diese speziellen Dashboards werden als „Insights“ (Erkenntnisse) bezeichnet.

Key Vault Insights ermöglicht eine umfassende Überwachung Ihrer Schlüsseltresore. Zu diesem Zweck wird eine einheitliche Darstellung der Anforderungen, Leistung, Fehler und Wartezeit im Zusammenhang mit Key Vault bereitgestellt. Ausführliche Informationen finden Sie unter Überwachen Ihres Schlüsseltresordiensts mit Key Vault-Erkenntnissen.

Überwachungsdaten

Key Vault erfasst dieselben Arten von Überwachungsdaten wie andere Azure-Ressourcen, die unter Überwachen von Daten aus Azure-Ressourcen beschrieben werden.

Ausführliche Informationen zu den von Key Vault erstellten Metriken und Protokollmetriken finden Sie in der Referenz für Key Vault-Überwachungsdaten.

Sammlung und Routing

Plattformmetriken und das Aktivitätsprotokoll werden automatisch erfasst und gespeichert, können jedoch mithilfe einer Diagnoseeinstellung an andere Speicherorte weitergeleitet werden.

Ressourcenprotokolle werden erst erfasst und gespeichert, sobald Sie eine Diagnoseeinstellung erstellt und an einen oder mehrere Standorte weitergeleitet haben.

Ausführliche Informationen zum Erstellen einer Diagnoseeinstellung über das Azure-Portal, die Befehlszeilenschnittstelle oder PowerShell finden Sie unter Erstellen einer Diagnoseeinstellung zum Sammeln von Plattformprotokollen und Metriken in Azure. Wenn Sie eine Diagnoseeinstellung erstellen, legen Sie fest, welche Kategorien von Protokollen gesammelt werden sollen. Die Kategorien für Key Vault werden in der Referenz für Key Vault-Überwachungsdaten aufgeführt.

Informationen zum Erstellen einer Diagnoseeinstellung für Ihren Schlüsseltresor finden Sie unter Aktivieren von Key Vault Protokollierung. In den folgenden Abschnitten werden die Metriken und Protokolle behandelt, die Sie erfassen können.

Analysieren von Metriken

Sie können im Metrik-Explorer Metriken für Key Vault mit Metriken aus anderen Azure-Diensten analysieren, indem Sie im Menü Azure Monitor die Option Metriken öffnen. Ausführliche Informationen zur Verwendung dieses Tools finden Sie unter Analysieren von Metriken mit Azure Metrik-Explorer.

Eine Liste mit den für Key Vault erfassten Plattformmetriken finden Sie in der Referenz der Metriken zur Überwachung von Key Vault-Daten.

Analysieren von Protokollen

Daten in Azure Monitor-Protokollen werden in Tabellen gespeichert, wobei jede Tabelle ihren eigenen Satz an eindeutigen Eigenschaften hat.

Alle Ressourcenprotokolle in Azure Monitor enthalten dieselben Felder, gefolgt von dienstspezifischen Feldern. Das allgemeine Schema wird unter Azure Monitor-Ressourcenprotokollschema beschrieben.

Das Aktivitätsprotokoll ist ein Plattformprotokolltyp in Azure, das Erkenntnisse zu Ereignissen auf Abonnementebene liefert. Sie können es unabhängig anzeigen oder an Azure Monitor-Protokolle weiterleiten, in denen Sie mithilfe von Log Analytics viel komplexere Abfragen durchführen können.

Eine Liste der Typen von Ressourcenprotokollen, die für Key Vault erfasst werden, finden Sie in der Referenz zur Überwachung von Key Vault-Daten.

Eine Liste der Tabellen, die von Azure Monitor-Protokollen verwendet und von Log Analytics abgefragt werden können, finden Sie in der Referenz zur Überwachung von Key Vault-Daten.

Kusto-Beispielabfragen

Wichtig

Wenn Sie im Menü von Key Vault Protokolle auswählen, wird Log Analytics geöffnet, wobei der Abfragebereich auf die aktuelle Key Vault-Instanz festgelegt ist. Dies bedeutet, dass Protokollabfragen nur Daten aus dieser Ressource umfassen. Wenn Sie eine Abfrage ausführen möchten, die Daten aus anderen Schlüsseltresoren oder Daten aus anderen Azure-Diensten enthält, wählen Sie im Menü Azure Monitor die Option Protokolle aus. Ausführliche Informationen finden Sie unter Protokollabfragebereich und Zeitbereich in Azure Monitor Log Analytics.

Hier sind einige Abfragen, die Sie in die Protokollsuchleiste eingeben können, um die Überwachung Ihrer Key Vault-Ressourcen zu vereinfachen. Diese Abfragen arbeiten mit der neuen Sprache.

  • Gibt es Clients, die die alte TLS-Version (<1.2) verwenden?

    AzureDiagnostics
    | where TimeGenerated > ago(90d) 
    | where ResourceProvider =="MICROSOFT.KEYVAULT" 
    | where isnotempty(tlsVersion_s) and strcmp(tlsVersion_s,"TLS1_2") <0
    | project TimeGenerated,Resource, OperationName, requestUri_s, CallerIPAddress, OperationVersion,clientInfo_s,tlsVersion_s,todouble(tlsVersion_s)
    | sort by TimeGenerated desc
    
  • Gibt es langsame Anforderungen?

    // List of KeyVault requests that took longer than 1sec. 
    // To create an alert for this query, click '+ New alert rule'
    let threshold=1000; // let operator defines a constant that can be further used in the query
    
    AzureDiagnostics
    | where ResourceProvider =="MICROSOFT.KEYVAULT" 
    | where DurationMs > threshold
    | summarize count() by OperationName, _ResourceId
    
  • Gibt es Fehler?

    // Count of failed KeyVault requests by status code. 
    // To create an alert for this query, click '+ New alert rule'
    
    AzureDiagnostics
    | where ResourceProvider =="MICROSOFT.KEYVAULT" 
    | where httpStatusCode_d >= 300 and not(OperationName == "Authentication" and httpStatusCode_d == 401)
    | summarize count() by requestUri_s, ResultSignature, _ResourceId
    // ResultSignature contains HTTP status, e.g. "OK" or "Forbidden"
    // httpStatusCode_d contains HTTP status code returned
    
  • Eingabefehler bei Deserialisierung

    // Shows errors caused due to malformed events that could not be deserialized by the job. 
    // To create an alert for this query, click '+ New alert rule'
    
    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.KEYVAULT" and parse_json(properties_s).DataErrorType in ("InputDeserializerError.InvalidData", "InputDeserializerError.TypeConversionError", "InputDeserializerError.MissingColumns", "InputDeserializerError.InvalidHeader", "InputDeserializerError.InvalidCompressionType")
    | project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
    
  • Wie aktiv war dieser KeyVault?

    // Line chart showing trend of KeyVault requests volume, per operation over time. 
    // KeyVault diagnostic currently stores logs in AzureDiagnostics table which stores logs for multiple services. 
    // Filter on ResourceProvider for logs specific to a service.
    
    AzureDiagnostics
    | where ResourceProvider =="MICROSOFT.KEYVAULT" 
    | summarize count() by bin(TimeGenerated, 1h), OperationName // Aggregate by hour
    | render timechart
    
    
  • Wer ruft diesen KeyVault auf?

    // List of callers identified by their IP address with their request count.  
    // KeyVault diagnostic currently stores logs in AzureDiagnostics table which stores logs for multiple services. 
    // Filter on ResourceProvider for logs specific to a service.
    
    AzureDiagnostics
    | where ResourceProvider =="MICROSOFT.KEYVAULT"
    | summarize count() by CallerIPAddress
    
  • Wie schnell verarbeitet dieser KeyVault Anforderungen?

    // Line chart showing trend of request duration over time using different aggregations. 
    
    AzureDiagnostics
    | where ResourceProvider =="MICROSOFT.KEYVAULT" 
    | summarize avg(DurationMs) by requestUri_s, bin(TimeGenerated, 1h) // requestUri_s contains the URI of the request
    | render timechart
    
  • Welche Änderungen sind im letzten Monat aufgetreten?

    // Lists all update and patch requests from the last 30 days. 
    // KeyVault diagnostic currently stores logs in AzureDiagnostics table which stores logs for multiple services. 
    // Filter on ResourceProvider for logs specific to a service.
    
    AzureDiagnostics
    | where TimeGenerated > ago(30d) // Time range specified in the query. Overrides time picker in portal.
    | where ResourceProvider =="MICROSOFT.KEYVAULT" 
    | where OperationName == "VaultPut" or OperationName == "VaultPatch"
    | sort by TimeGenerated desc
    

Alerts

Azure Monitor-Warnungen informieren Sie proaktiv, wenn wichtige Bedingungen in Ihren Überwachungsdaten gefunden werden. Sie ermöglichen Ihnen, Probleme in Ihrem System im Vorfeld zu identifizieren und zu beheben. Sie können Warnungen für Metriken, Protokolle und das Aktivitätsprotokoll festlegen.

Wenn Sie eine Anwendung erstellen oder ausführen, die in Azure Key Vault ausgeführt wird, bietet Azure Monitor Application Insights möglicherweise zusätzliche Warnungen.

Hier sind einige allgemeine und empfohlene Warnungsregeln für Azure Key Vault.

  • Key Vault-Verfügbarkeit fällt unter 100 % (statischer Schwellenwert)
  • „Key Vault-Wartezeit“ übersteigt 1000 ms (statischer Schwellenwert)
  • „Tresorauslastung insgesamt“ übersteigt 75 % (statischer Schwellenwert)
  • „Tresorauslastung insgesamt“ überschreitet den Durchschnitt (dynamischer Schwellenwert)
  • „Fehlercodes gesamt“ liegt über dem Durchschnitt (dynamischer Schwellenwert)

Weitere Informationen finden Sie unter Warnungen für Azure Key Vault.

Nächste Schritte