다음을 통해 공유


Azure Monitor REST API를 통해 진단 로그 설정

이 문서에서는 Azure Monitor REST API를 사용하여 Azure Data Factory에 대한 진단 로그를 설정하는 방법을 설명합니다.

진단 설정

진단 설정을 사용하여 비 계산 리소스에 대한 진단 로그를 구성합니다. 리소스 컨트롤에 대한 설정에는 다음과 같은 기능이 있습니다.

  • 진단 로그를 보낼 위치를 지정합니다. 예를 들면 Azure 스토리지 계정, Azure 이벤트 허브 또는 모니터 로그가 있습니다.
  • 전송되는 로그 범주를 지정합니다.
  • 각 로그 범주를 스토리지 계정에 유지해야 하는 기간을 지정합니다.
  • 보존 기간이 0일이면 로그가 영구적으로 유지됩니다. 그렇지 않으면 값은 1에서 2,147,483,647 사이의 날짜 수일 수 있습니다.
  • 보존 정책이 설정되어도 스토리지 계정에 로그 저장이 가능하도록 설정되지 않으면 보존 정책은 효과가 없습니다. 예를 들어 이 조건은 이벤트 허브 또는 모니터 로그 옵션을 선택한 경우에만 발생할 수 있습니다.
  • 보존 정책은 하루 단위로 적용됩니다. 하루는 UTC(협정 세계시) 자정을 기준으로 구분됩니다. 하루가 끝날 때 경과 일수가 보존 정책을 초과한 로그는 삭제됩니다. 예를 들어, 보존 정책이 하루인 경우 오늘 날짜가 시작될 때 하루 전의 로그가 삭제됩니다.

Monitor REST API를 통해 진단 로그를 사용하도록 설정

Monitor REST API를 사용하여 진단 로그를 사용하도록 설정합니다.

Monitor 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}를 진단 설정을 편집하려는 리소스의 ID로 대체합니다. 자세한 내용은 리소스 그룹을 사용하여 Azure 리소스 관리를 참조하세요.
  • Content-Type 헤더를 application/json으로 설정합니다.
  • 인증 헤더를 Microsoft Entra ID에서 가져온 JSON 웹 토큰으로 설정합니다. 자세한 내용은 요청 인증을 참조하세요.

본문

{
    "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": ""
}
속성 Type 설명
storageAccountId 문자열 진단 로그를 보내려는 스토리지 계정의 리소스 ID입니다.
serviceBusRuleId 문자열 진단 로그 스트리밍을 위해 이벤트 허브를 만들려는 서비스 버스 네임스페이스의 서비스 버스 규칙 ID입니다. 규칙 ID의 형식은 {service bus resource ID}/authorizationrules/{key name}입니다.
workspaceId 문자열 로그가 저장될 작업 영역의 작업 영역 ID입니다.
메트릭 호출된 파이프라인에 전달될 파이프라인 실행의 매개 변수 값 매개 변수 이름을 인수 값에 매핑하는 JSON 개체입니다.
로그 복합 형식 리소스 유형에 대한 진단 로그 범주의 이름입니다. 리소스에 대한 진단 로그 범주 목록을 가져오려면 GET 진단 설정 작업을 수행합니다.
category 문자열 로그 범주 및 해당 보존 정책의 배열입니다.
timeGrain 문자열 ISO 8601 기간 형식으로 캡처되는 메트릭의 세분성입니다. 속성 값은 1분을 지정하는 PT1M이어야 합니다.
enabled 부울 이 리소스에 대해 메트릭 또는 로그 범주 수집을 사용할지 여부를 지정합니다.
retentionPolicy 복합 형식 메트릭 또는 로그 범주에 대한 보존 정책을 설명합니다. 이 속성은 스토리지 계정에만 사용됩니다.
정수 메트릭 또는 로그를 보관할 일 수입니다. 속성 값이 0이면 로그가 영구적으로 보관됩니다. 이 속성은 스토리지 계정에만 사용됩니다.

응답

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
}

Monitor 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}를 진단 설정을 편집하려는 리소스의 ID로 대체합니다. 자세한 내용은 리소스 그룹을 사용하여 Azure 리소스 관리를 참조하세요.
  • Content-Type 헤더를 application/json으로 설정합니다.
  • 인증 헤더를 Microsoft Entra ID에서 가져온 JSON 웹 토큰으로 설정합니다. 자세한 내용은 요청 인증을 참조하세요.

응답

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
}

자세한 내용은 진단 설정을 참조하세요.

Azure Monitor를 사용하여 SSIS 작업 모니터링