Zugreifen auf Diagnoseprotokolle für Azure Data Lake Analytics
Wichtig
Azure Data Lake Analytics am 29. Februar 2024 eingestellt. In dieser Ankündigung erhalten Sie weitere Informationen.
Für Datenanalysen kann Ihr organization Azure Synapse Analytics oder Microsoft Fabric verwenden.
Die Diagnoseprotokollierung ermöglicht Ihnen das Erfassen von Zugriffsüberwachungspfaden. Diese Protokolle enthalten beispielsweise folgende Informationen:
- Liste der Benutzer, die auf die Daten zugegriffen haben
- Häufigkeit des Datenzugriffs
- Menge der im Konto gespeicherten Daten
Aktivieren der Protokollierung
Melden Sie sich beim Azure-Portalan.
Öffnen Sie Ihr Data Lake Analytics-Konto, und wählen Sie im Abschnitt Überwachung die Option Diagnoseeinstellungen aus. Wählen Sie dann + Diagnoseeinstellung hinzufügen aus.
Geben Sie unter Diagnoseeinstellungen einen Namen für diese Protokollierungskonfiguration ein, und wählen Sie dann Protokollierungsoptionen aus.
Sie können die Daten auf vier verschiedene Arten speichern/verarbeiten.
Wählen Sie In einem Speicherkonto archivieren, um Protokolle in einem Azure-Speicherkonto zu speichern. Verwenden Sie diese Option, wenn Sie die Daten archivieren möchten. Bei Auswahl dieser Option müssen Sie ein Azure-Speicherkonto zum Speichern der Protokolle angeben.
Wählen Sie Stream zu einem Event Hub aus, um Protokolldaten an eine Azure Event Hubs zu streamen. Wählen Sie diese Option, wenn Sie eine nachgelagerte Verarbeitungspipeline einsetzen, die eingehende Protokolle in Echtzeit analysiert. Wenn Sie diese Option auswählen, müssen Sie die Details für die Azure Event Hubs angeben, die Sie verwenden möchten.
Wählen Sie An Log Analytics-Arbeitsbereich senden aus, um die Daten an den Azure Monitor-Dienst zu senden. Verwenden Sie diese Option, wenn Sie Azure Monitor-Protokolle zum Erfassen und Analysieren von Protokollen verwenden möchten.
Wählen Sie An Partnerlösung senden aus, wenn Sie unsere Partnerintegration verwenden möchten. Weitere Informationen finden Sie unter diesem Link.
Geben Sie an, ob Sie Überwachungsprotokolle oder Anforderungsprotokolle oder beides abrufen möchten. Ein Anforderungsprotokoll erfasst jede API-Anforderung. Ein Überwachungsprotokoll zeichnet alle Vorgänge auf, die von dieser API-Anforderung ausgelöst werden.
Geben Sie für In einem Speicherkonto archivieren an, wie viele Tage lang die Daten beibehalten werden sollen.
Wählen Sie Speichern aus.
Hinweis
Wählen Sie entweder In einem Speicherkonto archivieren, An einen Event Hub streamen, An Log Analytics-Arbeitsbereich senden oder An Partnerlösung senden aus, bevor Sie die Schaltfläche Speichern auswählen.
Im Azure Storage-Konto, das die Protokolldaten enthält
Wenn Sie die Blobcontainer mit Protokollierungsdaten anzeigen möchten, öffnen Sie das für Data Lake Analytics für die Protokollierung verwendete Azure Storage-Konto, und wählen Sie Container aus.
- Der Container insights-logs-audit enthält die Überwachungsprotokolle.
- Der Container insights-logs-requests enthält die Anforderungsprotokolle.
Innerhalb der Container werden die Protokolle in der folgenden Dateistruktur gespeichert:
resourceId=/ SUBSCRIPTIONS/ <<SUBSCRIPTION_ID>>/ RESOURCEGROUPS/ <<RESOURCE_GRP_NAME>>/ PROVIDERS/ MICROSOFT.DATALAKEANALYTICS/ ACCOUNTS/ <DATA_LAKE_ANALYTICS_NAME>>/ y=####/ m=##/ d=##/ h=##/ m=00/ PT1H.json
Hinweis
Auf dem Blatt
##
-Einträge im Pfad enthalten Jahr, Monat, Tag und Stunde der Protokollerstellung. Data Lake Analytics erstellt eine Datei pro Stunde, sodassm=
immer den Wert00
enthält.Der vollständige Pfad zu einem Überwachungsprotokoll kann beispielsweise wie folgt lauten:
https://adllogs.blob.core.windows.net/insights-logs-audit/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/mydatalakeanalytics/y=2016/m=07/d=18/h=04/m=00/PT1H.json
Entsprechend kann der vollständige Pfad zu einem Anforderungsprotokoll wie folgt lauten:
https://adllogs.blob.core.windows.net/insights-logs-requests/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/mydatalakeanalytics/y=2016/m=07/d=18/h=14/m=00/PT1H.json
Verarbeitung der Protokolldaten
Azure Data Lake Analytics stellt ein Muster bereit, nach dem die Protokolldaten verarbeitet und analysiert werden sollen. Sie finden das Beispiel unter https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.
Protokollstruktur
Die Überwachungs- und Anforderungsprotokolle liegen in einem strukturierten JSON-Format vor.
Anforderungsprotokolle
Hier ist ein Beispiel für einen Eintrag im JSON-formatierten Anforderungsprotokoll. Jedes Blob hat ein Stammobjekt namens records , das ein Array mit Protokollobjekten enthält.
{
"records":
[
. . . .
,
{
"time": "2016-07-07T21:02:53.456Z",
"resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/<data_lake_analytics_account_name>",
"category": "Requests",
"operationName": "GetAggregatedJobHistory",
"resultType": "200",
"callerIpAddress": "::ffff:1.1.1.1",
"correlationId": "4a11c709-05f5-417c-a98d-6e81b3e29c58",
"identity": "1808bd5f-62af-45f4-89d8-03c5e81bac30",
"properties": {
"HttpMethod":"POST",
"Path":"/JobAggregatedHistory",
"RequestContentLength":122,
"ClientRequestId":"3b7adbd9-3519-4f28-a61c-bd89506163b8",
"StartTime":"2016-07-07T21:02:52.472Z",
"EndTime":"2016-07-07T21:02:53.456Z"
}
}
,
. . . .
]
}
Anforderungsprotokollschema
Name | Typ | BESCHREIBUNG |
---|---|---|
time | String | Der Zeitstempel (UTC) des Protokolls. |
resourceId | String | Die ID der Ressource, für die der Vorgang erfolgt ist |
category | String | Die Protokollkategorie. Beispiel: Anforderungen. |
operationName | String | Der Name des protokollierten Vorgangs. Beispiel: GetAggregatedJobHistory. |
resultType | String | Der Status des Vorgangs, beispielsweise 200. |
callerIpAddress | String | Die IP-Adresse des Clients, der die Anforderung gestellt hat. |
correlationId | String | Der Bezeichner des Protokolls. Dieser Wert kann verwendet werden, um einen Satz zusammengehöriger Protokolleinträgen zu gruppieren. |
identity | Object | Die Identität, die das Protokoll erstellt hat. |
properties | JSON | Details hierzu finden Sie im nächsten Abschnitt (Eigenschaftenschema des Anforderungsprotokolls). |
Eigenschaftenschema des Anforderungsprotokolls
Name | Typ | BESCHREIBUNG |
---|---|---|
HttpMethod | String | Die HTTP-Methode, die für den Vorgang verwendet werden. Beispiel: GET. |
`Path` | String | Der Pfad, in dem der Vorgang durchgeführt wurde. |
RequestContentLength | INT | Die Inhaltslänge der HTTP-Anforderung. |
ClientRequestId | String | Der Bezeichner, der diese Anforderung eindeutig identifiziert |
StartTime | String | Der Zeitpunkt, zu dem der Server die Anforderung empfangen hat |
EndTime | String | Der Zeitpunkt, zu dem der Server eine Antwort gesendet hat |
Überwachungsprotokolle
Hier ist ein Beispiel für einen Eintrag im JSON-formatierten Überwachungsprotokoll. Jedes Blob hat ein Stammobjekt namens records , das ein Array mit Protokollobjekten enthält.
{
"records":
[
{
"time": "2016-07-28T19:15:16.245Z",
"resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/<data_lake_ANALYTICS_account_name>",
"category": "Audit",
"operationName": "JobSubmitted",
"identity": "user@somewhere.com",
"properties": {
"JobId":"D74B928F-5194-4E6C-971F-C27026C290E6",
"JobName": "New Job",
"JobRuntimeName": "default",
"SubmitTime": "7/28/2016 7:14:57 PM"
}
}
]
}
Überwachungsprotokollschema
Name | Typ | BESCHREIBUNG |
---|---|---|
time | String | Der Zeitstempel (UTC) des Protokolls. |
resourceId | String | Die ID der Ressource, für die der Vorgang erfolgt ist |
category | String | Die Protokollkategorie. Beispiel: Überwachung. |
operationName | String | Der Name des protokollierten Vorgangs. Beispiel: JobSubmitted. |
resultType | String | Ein Unterstatus für den Auftragsstatus (operationName). |
resultSignature | String | Zusätzliche Details zum auftrag status (operationName). |
identity | String | Der Benutzer, der den Vorgang angefordert hat. Beispiel: susan@contoso.com. |
properties | JSON | Details hierzu finden Sie im nächsten Abschnitt (Eigenschaftenschema des Überwachungsprotokolls). |
Hinweis
Die Elemente resultType und resultSignature liefern Informationen zum Ergebnis eines Vorgangs und enthalten nur einen Wert, wenn ein Vorgang abgeschlossen wurde. Beispielsweise ist nur ein Wert vorhanden, wenn operationName den Wert JobStarted oder JobEnded enthält.
Eigenschaftenschema des Überwachungsprotokolls
Name | Typ | BESCHREIBUNG |
---|---|---|
JobId | String | Die ID, die dem Auftrag zugewiesen ist. |
JobName | String | Der Name, der für den Auftrag angegeben wurde. |
JobRunTime | String | Die zum Verarbeiten des Auftrags verwendete Laufzeit. |
SubmitTime | String | Der Zeitpunkt (UTC), zu dem der Auftrag übermittelt wurde. |
StartTime | String | Die Uhrzeit (UTC), zu der der Auftrag nach der Übermittlung gestartet wurde |
EndTime | String | Die Uhrzeit, zu der der Auftrag beendet wurde |
Parallelität | String | Die Anzahl von Data Lake Analytics-Einheiten, die für diesen Auftrag während der Übermittlung angefordert wurden |
Hinweis
SubmitTime, StartTime, EndTime und Parallelität bietet Informationen zu einem Vorgang. Diese Einträge enthalten nur dann einen Wert, wenn ein Vorgang gestartet oder beendet wurde. Beispiel: SubmitTime enthält nur einen Wert, sobald operationName den Wert JobSubmitted hat.