다음을 통해 공유


스토리지 계정에 보관된 Azure Monitor 플랫폼 로그의 형식 변경 준비

경고

로그 프로필을 사용하여 진단 설정 또는 활동 로그를 사용하여 스토리지 계정에 Azure 리소스 로그 또는 메트릭전송하는 경우 스토리지 계정의 데이터 형식이 2018년 11월 1일에 JSON 줄로 변경되었습니다. 아래 지침에서는 새 형식을 처리하도록 도구를 업데이트하는 방법과 영향을 설명합니다.

변경 내용

Azure Monitor는 리소스 로그 및 활동 로그를 Azure Storage 계정, Event Hubs 네임스페이스 또는 Azure Monitor의 Log Analytics 작업 영역으로 보낼 수 있는 기능을 제공합니다. 시스템 성능 문제를 해결하기 위해 2018년 11월 1일 자정 12:00 UTC 에서 Blob Storage로 보내는 로그 데이터의 형식이 변경되었습니다. Blob Storage에서 데이터를 읽는 도구가 있는 경우 새 데이터 형식을 이해하도록 도구를 업데이트해야 합니다.

  • 2018년 11월 1일 목요일 자정 UTC 12:00에 Blob 형식이 JSON 선으로 변경되었습니다. 즉, 각 레코드는 외부 레코드 배열 없이 JSON 레코드 간에 쉼표 없이 줄 바꿈으로 구분됩니다.
  • 모든 구독의 진단 설정에서 Blob 형식이 동시에 변경되었습니다. 11월 1일로 내보낸 첫 번째 PT1H.json 파일은 이 새 형식을 사용했습니다. Blob 및 컨테이너 이름은 동일하게 유지됩니다.
  • 11월 1일 이전 사이에 진단 설정을 설정하면 11월 1일까지 현재 형식으로 데이터를 계속 내보냅니다.
  • 이 변경은 모든 퍼블릭 클라우드 지역에서 한 번에 발생했습니다. 21Vianet, Azure 독일 또는 Azure Government 클라우드에서 운영하는 Microsoft Azure에서는 아직 변경되지 않습니다.
  • 이 변경 내용은 다음 데이터 형식에 영향을 줍니다.
  • 이 변경 내용은 영향을 주지 않습니다.
    • 네트워크 흐름 로그
    • Azure 서비스 로그는 아직 Azure Monitor를 통해 사용할 수 없습니다(예: Azure App Service 리소스 로그, 스토리지 분석 로그)
    • Azure 리소스 로그 및 활동 로그를 다른 대상으로 라우팅(Event Hubs, Log Analytics)

영향을 받은지 확인하는 방법

다음과 같은 경우에만 이 변경 내용의 영향을 받습니다.

  1. 진단 설정을 사용하여 Azure Storage 계정에 로그 데이터를 보내고 있으며,
  2. 스토리지에서 이러한 로그의 JSON 구조에 따라 달라지는 도구가 있습니다.

Azure Storage 계정으로 데이터를 보내는 진단 설정이 있는지 확인하려면 포털의 모니터 섹션으로 이동하여 진단 설정을 클릭하고 진단 상태가사용으로 설정된 리소스를 식별할 수 있습니다.

Azure Monitor 진단 설정 창

진단 상태를 사용하도록 설정된 경우 해당 리소스에 대한 활성 진단 설정이 있습니다. 리소스를 클릭하여 진단 설정이 스토리지 계정으로 데이터를 보내는지 확인합니다.

스토리지 계정 사용

이러한 리소스 진단 설정을 사용하여 스토리지 계정에 데이터를 보내는 리소스가 있는 경우 해당 스토리지 계정의 데이터 형식은 이 변경의 영향을 받습니다. 이러한 스토리지 계정에서 작동하는 사용자 지정 도구가 없는 한 형식 변경은 영향을 주지 않습니다.

형식 변경에 대한 세부 정보

Azure Blob Storage의 PT1H.json 파일의 현재 형식은 JSON 레코드 배열을 사용합니다. 다음은 KeyVault 로그 파일의 샘플입니다.

{
    "records": [
        {
            "time": "2016-01-05T01:32:01.2691226Z",
            "resourceId": "/SUBSCRIPTIONS/361DA5D4-A47A-4C79-AFDD-XXXXXXXXXXXX/RESOURCEGROUPS/CONTOSOGROUP/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/CONTOSOKEYVAULT",
            "operationName": "VaultGet",
            "operationVersion": "2015-06-01",
            "category": "AuditEvent",
            "resultType": "Success",
            "resultSignature": "OK",
            "resultDescription": "",
            "durationMs": "78",
            "callerIpAddress": "104.40.82.76",
            "correlationId": "",
            "identity": {
                "claim": {
                    "http://schemas.microsoft.com/identity/claims/objectidentifier": "d9da5048-2737-4770-bd64-XXXXXXXXXXXX",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "live.com#username@outlook.com",
                    "appid": "1950a258-227b-4e31-a9cf-XXXXXXXXXXXX"
                }
            },
            "properties": {
                "clientInfo": "azure-resource-manager/2.0",
                "requestUri": "https://control-prod-wus.vaultcore.azure.net/subscriptions/361da5d4-a47a-4c79-afdd-XXXXXXXXXXXX/resourcegroups/contosoresourcegroup/providers/Microsoft.KeyVault/vaults/contosokeyvault?api-version=2015-06-01",
                "id": "https://contosokeyvault.vault.azure.net/",
                "httpStatusCode": 200
            }
        },
        {
            "time": "2016-01-05T01:33:56.5264523Z",
            "resourceId": "/SUBSCRIPTIONS/361DA5D4-A47A-4C79-AFDD-XXXXXXXXXXXX/RESOURCEGROUPS/CONTOSOGROUP/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/CONTOSOKEYVAULT",
            "operationName": "VaultGet",
            "operationVersion": "2015-06-01",
            "category": "AuditEvent",
            "resultType": "Success",
            "resultSignature": "OK",
            "resultDescription": "",
            "durationMs": "83",
            "callerIpAddress": "104.40.82.76",
            "correlationId": "",
            "identity": {
                "claim": {
                    "http://schemas.microsoft.com/identity/claims/objectidentifier": "d9da5048-2737-4770-bd64-XXXXXXXXXXXX",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "live.com#username@outlook.com",
                    "appid": "1950a258-227b-4e31-a9cf-XXXXXXXXXXXX"
                }
            },
            "properties": {
                "clientInfo": "azure-resource-manager/2.0",
                "requestUri": "https://control-prod-wus.vaultcore.azure.net/subscriptions/361da5d4-a47a-4c79-afdd-XXXXXXXXXXXX/resourcegroups/contosoresourcegroup/providers/Microsoft.KeyVault/vaults/contosokeyvault?api-version=2015-06-01",
                "id": "https://contosokeyvault.vault.azure.net/",
                "httpStatusCode": 200
            }
        }
    ]
}

새 형식은 JSON 줄을 사용합니다. 여기서 각 이벤트는 선이고 줄 바꿈 문자는 새 이벤트를 나타냅니다. 변경 후 PT1H.json 파일에서 위의 샘플은 다음과 같습니다.

{"time": "2016-01-05T01:32:01.2691226Z","resourceId": "/SUBSCRIPTIONS/361DA5D4-A47A-4C79-AFDD-XXXXXXXXXXXX/RESOURCEGROUPS/CONTOSOGROUP/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/CONTOSOKEYVAULT","operationName": "VaultGet","operationVersion": "2015-06-01","category": "AuditEvent","resultType": "Success","resultSignature": "OK","resultDescription": "","durationMs": "78","callerIpAddress": "104.40.82.76","correlationId": "","identity": {"claim": {"http://schemas.microsoft.com/identity/claims/objectidentifier": "d9da5048-2737-4770-bd64-XXXXXXXXXXXX","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "live.com#username@outlook.com","appid": "1950a258-227b-4e31-a9cf-XXXXXXXXXXXX"}},"properties": {"clientInfo": "azure-resource-manager/2.0","requestUri": "https://control-prod-wus.vaultcore.azure.net/subscriptions/361da5d4-a47a-4c79-afdd-XXXXXXXXXXXX/resourcegroups/contosoresourcegroup/providers/Microsoft.KeyVault/vaults/contosokeyvault?api-version=2015-06-01","id": "https://contosokeyvault.vault.azure.net/","httpStatusCode": 200}}
{"time": "2016-01-05T01:33:56.5264523Z","resourceId": "/SUBSCRIPTIONS/361DA5D4-A47A-4C79-AFDD-XXXXXXXXXXXX/RESOURCEGROUPS/CONTOSOGROUP/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/CONTOSOKEYVAULT","operationName": "VaultGet","operationVersion": "2015-06-01","category": "AuditEvent","resultType": "Success","resultSignature": "OK","resultDescription": "","durationMs": "83","callerIpAddress": "104.40.82.76","correlationId": "","identity": {"claim": {"http://schemas.microsoft.com/identity/claims/objectidentifier": "d9da5048-2737-4770-bd64-XXXXXXXXXXXX","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "live.com#username@outlook.com","appid": "1950a258-227b-4e31-a9cf-XXXXXXXXXXXX"}},"properties": {"clientInfo": "azure-resource-manager/2.0","requestUri": "https://control-prod-wus.vaultcore.azure.net/subscriptions/361da5d4-a47a-4c79-afdd-XXXXXXXXXXXX/resourcegroups/contosoresourcegroup/providers/Microsoft.KeyVault/vaults/contosokeyvault?api-version=2015-06-01","id": "https://contosokeyvault.vault.azure.net/","httpStatusCode": 200}}

이 새로운 형식을 사용하면 Azure Monitor에서 추가 Blob을 사용하여 로그 파일을 푸시할 수 있으며, 이는 새 이벤트 데이터를 지속적으로 추가하는 데 더 효율적입니다.

업데이트 방법

추가 처리를 위해 이러한 로그 파일을 수집하는 사용자 지정 도구가 있는 경우에만 업데이트를 수행해야 합니다. 외부 로그 분석 또는 SIEM 도구를 사용하는 경우 이벤트 허브를 사용하여 이 데이터를 대신 수집하는 것이 좋습니다. 이벤트 허브 통합은 여러 서비스에서 로그를 처리하고 특정 로그에서 책갈피 위치를 지정하는 측면에서 더 쉽게 수행할 수 있습니다.

위에서 설명한 현재 형식과 JSON 줄 형식을 모두 처리하도록 사용자 지정 도구를 업데이트해야 합니다. 미리 이렇게 하면 데이터가 새 형식으로 표시될 때 도구에 문제가 발생하지 않습니다.

다음 단계