Azure 모니터링 데이터를 이벤트 허브 또는 외부 파트너로 스트리밍

대부분의 경우 Azure Monitor에서 외부 도구로 데이터를 스트리밍하는 가장 효과적인 방법은 Azure Event Hubs를 사용하는 것입니다. 이 문서에서는 데이터를 스트리밍하는 방법에 대한 간략한 설명을 제공하고 데이터를 보낼 수 있는 일부 파트너를 나열합니다. 일부 파트너는 Azure Monitor와 특별한 통합을 가지고 있으며 Azure에서 호스트될 수 있습니다.

Event Hubs 네임스페이스 만들기

데이터 원본의 스트리밍을 구성하기 전에 Event Hubs 네임스페이스와 이벤트 허브를 만들어야 합니다. 이 네임스페이스 및 이벤트 허브는 모든 모니터링 데이터에 대한 대상입니다. Event Hubs 네임스페이스는 같은 액세스 정책을 공유하는 Event Hubs의 논리적 그룹으로, 스토리지 계정은 해당 스토리지 계정 내에서 개별 Blob을 갖기 쉽습니다. 스트리밍 모니터링 데이터에 사용하는 Event Hubs 네임스페이스 및 이벤트 허브에 대한 다음 세부 정보를 고려합니다.

  • 처리량 단위 수를 사용하면 이벤트 허브에 대한 처리량 규모를 늘릴 수 있습니다. 일반적으로 처리량 단위는 하나만 필요합니다. 로그 사용량이 증가함에 따라 강화해야 하는 경우 네임스페이스의 처리량 단위 수를 수동으로 늘리거나 자동 인플레이션을 사용하도록 설정할 수 있습니다.
  • 파티션 수를 사용하면 많은 소비자에서 소비량을 병렬화할 수 있습니다. 단일 파티션으로 최대 20MBps, 초당 약 20,000개의 메시지까지 지원할 수 있습니다. 데이터를 사용하는 도구에 따라 여러 파티션에서의 사용이 지원되거나 지원되지 않을 수 있습니다. 설정할 파티션 수를 잘 모를 경우 4개의 파티션으로 시작하는 것이 좋습니다.
  • 이벤트 허브에서 메시지 보존을 최소 7일로 설정합니다. 소비 도구가 하루 이상 중단된 경우 이 보존을 통해 도구는 최대 7일 이전의 이벤트에 대해 중단된 부분부터 다시 시작할 수 있습니다.
  • 이벤트 허브의 기본 소비자 그룹을 사용하는 것이 좋습니다. 2개의 다른 도구에서 동일한 이벤트 허브의 동일한 데이터를 소비하려는 경우가 아니면, 다른 소비자 그룹을 만들거나 별도의 소비자 그룹을 사용할 필요가 없습니다.
  • Azure 활동 로그의 경우 Event Hubs 네임스페이스를 선택하고, Azure Monitor는 insights-logs-operational-logs라는 네임스페이스 내에 이벤트 허브를 만듭니다. 다른 로그 유형의 경우 기존 이벤트 허브를 선택하거나 Azure Monitor에서 로그 범주별로 이벤트 허브를 만들 수 있습니다.
  • 아웃바운드 포트 5671 및 5672는 일반적으로 이벤트 허브에서 데이터를 사용하는 컴퓨터 또는 가상 네트워크에서 열어야 합니다.

사용 가능한 데이터 모니터링

Azure Monitor의 모니터링 데이터 원본 및 해당 데이터 수집 방법은 Azure Monitor에서 수집한 다양한 종류의 데이터와 이를 수집하는 데 사용되는 방법을 설명합니다. 이벤트 허브 및 구성 세부 정보에 대한 링크로 스트리밍할 수 있는 해당 데이터에 대한 문서를 참조하세요.

진단 데이터 스트리밍

진단 설정을 사용하여 로그 및 메트릭을 Event Hubs로 스트리밍합니다. 진단 설정을 설정하는 방법에 대한 자세한 내용은 진단 설정 만들기를 참조 하세요.

다음 JSON은 이벤트 허브로 전송되는 메트릭 데이터의 예입니다.

[
  {
    "records": [
      {
        "count": 2,
        "total": 0.217,
        "minimum": 0.042,
        "maximum": 0.175,
        "average": 0.1085,
        "resourceId": "/SUBSCRIPTIONS/ABCDEF12-3456-78AB-CD12-34567890ABCD/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
        "time": "2023-04-18T09:03:00.0000000Z",
        "metricName": "CpuTime",
        "timeGrain": "PT1M"
      },
      {
        "count": 2,
        "total": 0.284,
        "minimum": 0.053,
        "maximum": 0.231,
        "average": 0.142,
        "resourceId": "/SUBSCRIPTIONS/ABCDEF12-3456-78AB-CD12-34567890ABCD/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
        "time": "2023-04-18T09:04:00.0000000Z",
        "metricName": "CpuTime",
        "timeGrain": "PT1M"
      },
      {
        "count": 1,
        "total": 1,
        "minimum": 1,
        "maximum": 1,
        "average": 1,
        "resourceId": "/SUBSCRIPTIONS/ABCDEF12-3456-78AB-CD12-34567890ABCD/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
        "time": "2023-04-18T09:03:00.0000000Z",
        "metricName": "Requests",
        "timeGrain": "PT1M"
      },
    ...
    ]
  }
]

다음 JSON은 이벤트 허브로 전송된 로그 데이터의 예입니다.

[
  {
    "records": [
      {
        "time": "2023-04-18T09:39:56.5027358Z",
        "category": "AuditEvent",
        "operationName": "VaultGet",
        "resultType": "Success",
        "correlationId": "12345678-abc-4bc5-9f31-950eaf3bfcb4",
        "callerIpAddress": "10.0.0.10",
        "identity": {
          "claim": {
            "http://schemas.microsoft.com/identity/claims/objectidentifier": "123abc12-abcd-9876-cdef-123abc456def",
            "appid": "12345678-a1a1-b2b2-c3c3-9876543210ab"
          }
        },
        "properties": {
          "id": "https://mykeyvault.vault.azure.net/",
          "clientInfo": "AzureResourceGraph.IngestionWorkerService.global/1.23.1.224",
          "requestUri": "https://northeurope.management.azure.com/subscriptions/ABCDEF12-3456-78AB-CD12-34567890ABCD/resourceGroups/rg-001/providers/Microsoft.KeyVault/vaults/mykeyvault?api-version=2023-02-01&MaskCMKEnabledProperties=true",
          "httpStatusCode": 200,
          "properties": {
            "sku": {
              "Family": "A",
              "Name": "Standard",
              "Capacity": null
            },
            "tenantId": "12345678-abcd-1234-abcd-1234567890ab",
            "networkAcls": null,
            "enabledForDeployment": 0,
            "enabledForDiskEncryption": 0,
            "enabledForTemplateDeployment": 0,
            "enableSoftDelete": 1,
            "softDeleteRetentionInDays": 90,
            "enableRbacAuthorization": 0,
            "enablePurgeProtection": null
          }
        },
        "resourceId": "/SUBSCRIPTIONS/ABCDEF12-3456-78AB-CD12-34567890ABCD/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/mykeyvault",
        "operationVersion": "2023-02-01",
        "resultSignature": "OK",
        "durationMs": "16"
      }
    ],
    "EventProcessedUtcTime": "2023-04-18T09:42:07.0944007Z",
    "PartitionId": 1,
    "EventEnqueuedUtcTime": "2023-04-18T09:41:14.9410000Z"
  },
...

논리 앱을 사용한 수동 스트리밍

이벤트 허브로 직접 스트리밍할 수 없는 데이터의 경우 Azure Storage에 쓴 다음 Azure Blob Storage 에서 데이터를 끌어와 이벤트 허브에 메시지로 푸시하는 시간 트리거 논리 앱을 사용할 수 있습니다.

Azure Monitor 통합을 사용하는 파트너 도구

Azure Monitor를 사용하여 모니터링 데이터를 이벤트 허브로 라우팅하면 외부 SIEM 및 모니터링 도구와 쉽게 통합할 수 있습니다. 다음 표에서는 Azure Monitor 통합을 사용하는 도구의 예를 나열합니다.

도구 Azure에서 호스트 설명
IBM QRadar 아니요 Microsoft Azure DSM 및 Microsoft Azure Event Hubs 프로토콜은 IBM 지원 웹 사이트에서 다운로드할 수 있습니다.
Splunk 아니요 Microsoft Cloud Services용 Splunk 추가 기능은 Splunkbase에서 사용할 수 있는 오픈 소스 프로젝트입니다.

Splunk 인스턴스에 추가 기능을 설치할 수 없고 예를 들어 프록시를 사용하거나 Splunk Cloud에서 실행 중인 경우 Splunk용 Azure Function을 사용하여 이러한 이벤트를 Splunk HTTP 이벤트 수집기로 전달할 수 있습니다. 이 도구는 이벤트 허브의 새 메시지에 의해 트리거됩니다.
sumologic 아니요 이벤트 허브에서 데이터를 사용하도록 SumoLogic을 설정하는 방법에 대한 지침은 Event Hubs에서 Azure 감사 앱에 대한 로그 수집에서 사용할 수 있습니다.
ArcSight 아니요 ArcSight Azure Event Hub 스마트 커넥터는 ArcSight 스마트 커넥터 컬렉션의 일부로 사용할 수 있습니다.
Syslog 서버 아니요 Azure Monitor 데이터를 Syslog 서버로 직접 스트리밍하려는 경우 Azure 함수를 기반으로 솔루션을 사용할 수 있습니다.
LogRhythm 아니요 이벤트 허브에서 로그를 수집하도록 LogRhythm을 설정하는 지침은 이 LogRhythm 웹 사이트에서 확인할 수 있습니다.
Logz.io 자세한 내용은 Azure에서 실행되는 Java 앱용 Logz.io 사용하여 모니터링 및 로깅 시작 방법을 참조하세요.

다음 단계