透過 Azure 監視器 REST API 設定診斷記錄
本文說明如何使用 Azure 監視器 REST API 設定 Azure Data Factory 的診斷記錄。
診斷設定
使用診斷設定,為非計算資源設定診斷記錄。 資源控制項的設定具有下列功能:
- 其會指定診斷記錄的傳送位置。 範例包括 Azure 儲存體帳戶、Azure 事件中樞或監視器記錄。
- 其會指定要傳送的記錄類別。
- 其會指定每個記錄類別應該在儲存體帳戶中保留多久。
- 保留期為 0 天表示會永遠保留記錄。 否則,此值可以是從 1 到 2,147,483,647 之間的任意天數。
- 如果已設定保留原則,但已停用儲存體帳戶中的記錄,則保留原則不會有任何作用。 例如,只選取事件中樞或監視器記錄選項時,才會發生這種情況。
- 保留原則是每天套用的。 日期之間的界限會發生在午夜國際標準時間 (UTC)。 在一天結束時,會刪除超過保留原則天數內的記錄。 例如,如果您的保留原則為一天,在今天一開始,昨天之前的記錄會被刪除。
透過監視器 REST API 啟用診斷記錄
使用監視器 REST API 來啟用診斷記錄。
在監視器 REST API 中建立或更新診斷設定
要求
PUT
https://management.azure.com/{resource-id}/providers/microsoft.insights/diagnosticSettings/service?api-version={api-version}
標頭
- 把
{api-version}
替換為2016-09-01
。 - 將
{resource-id}
取代為您要編輯診斷設定之資源的識別碼。 如需詳細資訊,請參閱 使用資源群組來管理您的 Azure 資源。 - 將
Content-Type
標頭設定為application/json
。 - 將授權標頭設定為您從 Microsoft Entra ID 取得的 JSON Web 權杖。 如需詳細資訊,請參閱驗證要求。
本文
{
"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": ""
}
屬性 | 類型 | 描述 |
---|---|---|
storageAccountId | String | 要將診斷記錄傳送至其中的儲存體帳戶資源識別碼。 |
serviceBusRuleId | String | 您為了串流診斷記錄而想要在其中建立事件中樞之服務匯流排命名空間的服務匯流排規則識別碼。 規則識別碼的格式如下:{service bus resource ID}/authorizationrules/{key name} 。 |
workspaceId | String | 在其中儲存記錄之工作區的工作區識別碼。 |
計量 | 要傳遞給已叫用之管線的管線執行參數值 | 將參數名稱對應到引數值的 JSON 物件。 |
記錄 | 複雜類型 | 資源類型的診斷記錄類別名稱。 若要取得資源的診斷記錄類別清單,請執行 GET 診斷設定作業。 |
category | String | 記錄類別和其保留原則的陣列。 |
timeGrain | String | 以 ISO 8601 持續時間格式擷取的計量細微性。 屬性值必須是 PT1M ,指定一分鐘。 |
「已啟用」 | 布林值 | 指定是否要為此資源啟用該計量或記錄類別的收集。 |
retentionPolicy | 複雜類型 | 描述計量或記錄類別的保留原則。 此屬性僅適用於儲存體帳戶。 |
days | int | 計量或記錄的保留天數。 如果屬性值為 0,則記錄會永久保留。 此屬性僅適用於儲存體帳戶。 |
回應
200 確定。
{
"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
}
在監視器 REST API 中取得診斷設定的相關資訊
要求
GET
https://management.azure.com/{resource-id}/providers/microsoft.insights/diagnosticSettings/service?api-version={api-version}
標頭
- 把
{api-version}
替換為2016-09-01
。 - 將
{resource-id}
取代為您要編輯診斷設定之資源的識別碼。 如需詳細資訊,請參閱 使用資源群組來管理您的 Azure 資源。 - 將
Content-Type
標頭設定為application/json
。 - 將授權標頭設定為您從 Microsoft Entra ID 取得的 JSON Web 權杖。 如需詳細資訊,請參閱驗證要求。
回應
200 確定。
{
"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
}
如需詳細資訊,請參閱診斷設定。