Einrichten von Diagnoseprotokollen über die Azure Monitor-REST-API
In diesem Artikel wird beschrieben, wie Sie Diagnoseprotokolle für Azure Data Factory mithilfe der Azure Monitor-REST-API einrichten.
Diagnoseeinstellungen
Verwenden Sie Diagnoseeinstellungen, um Diagnoseprotokolle für Nicht-Computeressourcen zu konfigurieren. Die Einstellungen für eine Ressourcensteuerung verfügen über die folgenden Features:
- Sie geben an, wohin Diagnoseprotokolle gesendet werden, z. B. an ein Azure Storage-Konto, an einen Azure Event Hub oder an Monitor-Protokolle.
- Sie geben an, welche Protokollkategorien gesendet werden.
- Sie geben an, wie lange die einzelnen Protokollkategorien in einem Speicherkonto aufbewahrt werden.
- Wenn für die Beibehaltungsdauer 0 Tage festgelegt sind, bedeutet dies, dass Protokolle unbegrenzt beibehalten werden. Andernfalls kann als Wert die Anzahl von Tagen (1 bis 2.147.483.647) festgelegt werden.
- Wenn Aufbewahrungsrichtlinien festgelegt werden, aber das Speichern von Protokollen in einem Speicherkonto deaktiviert ist, werden die Aufbewahrungsrichtlinien ignoriert. Diese Bedingung kann z. B. auftreten, wenn nur die Optionen „Event Hubs“ oder „Überwachungsprotokolle“ ausgewählt sind.
- Aufbewahrungsrichtlinien werden pro Tag angewendet. Die Grenze zwischen Tagen liegt um Mitternacht (Koordinierte Weltzeit, UTC). Jeweils am Ende eines Tages werden die Protokolle der Tage gelöscht, deren Aufbewahrungsdauer abgelaufen ist. Beispiel: Wenn Sie eine Aufbewahrungsrichtlinie für einen Tag verwenden, werden heute am Anfang des Tages die Protokolle von vorgestern gelöscht.
Aktivieren von Diagnoseprotokollen über die Monitor-REST-API
Verwenden Sie die Monitor-REST-API, um Diagnoseprotokolle zu aktivieren.
Erstellen oder Aktualisieren einer Diagnoseeinstellung in der REST-API von Azure Monitor
Anforderung
PUT
https://management.azure.com/{resource-id}/providers/microsoft.insights/diagnosticSettings/service?api-version={api-version}
Header
- Ersetzen Sie
{api-version}
durch2016-09-01
. - Ersetzen Sie
{resource-id}
durch die ID der Ressource, deren Diagnoseeinstellungen Sie bearbeiten möchten. Weitere Informationen finden Sie unter Verwenden von Ressourcengruppen zum Verwalten von Azure-Ressourcen. - Legen Sie den Header
Content-Type
aufapplication/json
fest. - Legen Sie den Autorisierungsheader auf das JSON-Webtoken fest, das Sie von Microsoft Entra ID erhalten haben. Weitere Informationen finden Sie unter Authentifizieren von Anforderungen.
Body
{
"properties": {
"storageAccountId": "/subscriptions/<subID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Storage/storageAccounts/<storageAccountName>",
"serviceBusRuleId": "/subscriptions/<subID>/resourceGroups/<resourceGroupName>/providers/Microsoft.EventHub/namespaces/<eventHubName>/authorizationrules/RootManageSharedAccessKey",
"workspaceId": "/subscriptions/<subID>/resourceGroups/<resourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<LogAnalyticsName>",
"metrics": [
],
"logs": [
{
"category": "PipelineRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "TriggerRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "ActivityRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
},
"location": ""
}
Eigenschaft | Type | BESCHREIBUNG |
---|---|---|
storageAccountId | String | Die Ressourcen-ID des Speicherkontos, an das Diagnoseprotokolle gesendet werden sollen. |
serviceBusRuleId | String | Die Service Bus-Regel-ID des Service Bus-Namespace, in dem Event Hubs für das Streaming von Diagnoseprotokollen erstellt werden sollen. Die Regel-ID weist das Format {service bus resource ID}/authorizationrules/{key name} auf. |
workspaceId | String | Die ID des Arbeitsbereichs, in dem die Protokolle gespeichert werden. |
metrics | Parameterwerte der Pipelineausführung, die an die aufgerufene Pipeline übergeben werden sollen | Ein JSON-Objekt, das Parameternamen Argumentwerten zuordnet. |
logs | Komplexer Typ | Der Name einer Diagnoseprotokollkategorie für einen Ressourcentyp. Um die Liste der Diagnoseprotokollkategorien für eine Ressource zu erhalten, führen Sie einen GET-Vorgang zum Abrufen von Diagnoseeinstellungen aus. |
category | String | Ein Array von Protokollkategorien und ihrer Aufbewahrungsrichtlinien. |
timeGrain | String | Die Granularität von Metriken, die im Zeitformat ISO 8601 erfasst werden. Der Eigenschaftswert muss PT1M sein, was eine Minute angibt. |
enabled | Boolean | Gibt an, ob die Sammlung der Metrik- oder Protokollkategorie für diese Ressource aktiviert ist. |
retentionPolicy | Komplexer Typ | Beschreibt die Aufbewahrungsrichtlinie für eine Metrik- oder Protokollkategorie. Diese Eigenschaft wird nur für Speicherkonten verwendet. |
days | Int | Die Anzahl der Tage, die Metriken oder Protokolle aufbewahrt werden sollen. Wenn der Eigenschaftswert „0“ ist, werden die Protokolle dauerhaft aufbewahrt. Diese Eigenschaft wird nur für Speicherkonten verwendet. |
Antwort
200 OK.
{
"id": "/subscriptions/<subID>/resourcegroups/adf/providers/microsoft.datafactory/factories/shloadobetest2/providers/microsoft.insights/diagnosticSettings/service",
"type": null,
"name": "service",
"location": null,
"kind": null,
"tags": null,
"properties": {
"storageAccountId": "/subscriptions/<subID>/resourceGroups/<resourceGroupName>//providers/Microsoft.Storage/storageAccounts/<storageAccountName>",
"serviceBusRuleId": "/subscriptions/<subID>/resourceGroups/<resourceGroupName>//providers/Microsoft.EventHub/namespaces/<eventHubName>/authorizationrules/RootManageSharedAccessKey",
"workspaceId": "/subscriptions/<subID>/resourceGroups/<resourceGroupName>//providers/Microsoft.OperationalInsights/workspaces/<LogAnalyticsName>",
"eventHubAuthorizationRuleId": null,
"eventHubName": null,
"metrics": [],
"logs": [
{
"category": "PipelineRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "TriggerRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "ActivityRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
},
"identity": null
}
Abrufen von Informationen zu Diagnoseeinstellungen in der Monitor-REST-API
Anforderung
GET
https://management.azure.com/{resource-id}/providers/microsoft.insights/diagnosticSettings/service?api-version={api-version}
Header
- Ersetzen Sie
{api-version}
durch2016-09-01
. - Ersetzen Sie
{resource-id}
durch die ID der Ressource, deren Diagnoseeinstellungen Sie bearbeiten möchten. Weitere Informationen finden Sie unter Verwenden von Ressourcengruppen zum Verwalten von Azure-Ressourcen. - Legen Sie den Header
Content-Type
aufapplication/json
fest. - Legen Sie den Autorisierungsheader auf ein JSON-Webtoken fest, das Sie von Microsoft Entra ID erhalten haben. Weitere Informationen finden Sie unter Authentifizieren von Anforderungen.
Antwort
200 OK.
{
"id": "/subscriptions/<subID>/resourcegroups/adf/providers/microsoft.datafactory/factories/shloadobetest2/providers/microsoft.insights/diagnosticSettings/service",
"type": null,
"name": "service",
"location": null,
"kind": null,
"tags": null,
"properties": {
"storageAccountId": "/subscriptions/<subID>/resourceGroups/shloprivate/providers/Microsoft.Storage/storageAccounts/azmonlogs",
"serviceBusRuleId": "/subscriptions/<subID>/resourceGroups/shloprivate/providers/Microsoft.EventHub/namespaces/shloeventhub/authorizationrules/RootManageSharedAccessKey",
"workspaceId": "/subscriptions/<subID>/resourceGroups/ADF/providers/Microsoft.OperationalInsights/workspaces/mihaipie",
"eventHubAuthorizationRuleId": null,
"eventHubName": null,
"metrics": [],
"logs": [
{
"category": "PipelineRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "TriggerRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
},
{
"category": "ActivityRuns",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
},
"identity": null
}
Weitere Informationen finden Sie unter Diagnoseeinstellungen.