다음을 통해 공유


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

Azure Monitor에서 외부 도구로 데이터를 스트리밍하는 효과적인 방법은 Azure Event Hubs를 사용하는 것입니다. 이 문서에서는 Event Hubs로 데이터를 스트리밍하는 방법에 대한 설명을 제공하고 허브에서 해당 데이터를 사용할 수 있는 파트너 중 일부를 나열합니다. 일부 파트너는 Azure Monitor와 통합되고 Azure 호스티드 서비스를 제공합니다.

Event Hubs 네임스페이스 만들기

데이터 원본에 대한 스트리밍을 구성하기 전에 Event Hubs 네임스페이스 및 이벤트 허브를 만들어야 합니다. 이 네임스페이스 및 이벤트 허브는 모든 모니터링 데이터에 대한 대상입니다. Event Hubs 네임스페이스는 스토리지 계정에 스토리지 계정 내의 Blob에 대한 개별 컨테이너가 있는 것처럼 동일한 액세스 정책을 공유하는 이벤트 허브의 논리적 그룹화입니다. 모니터링 데이터를 스트리밍하기 위해 사용하는 이벤트 허브 네임스페이스 및 이벤트 허브에 대한 다음 정보를 고려하세요.

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

스트리밍 메서드

Azure Monitor에서 다음 방법을 사용하여 Event Hubs로 데이터를 보낼 수 있습니다.

  • 데이터 수집 규칙
    데이터 수집 규칙은 Event Hubs, Log Analytics 작업 영역 및 Azure Storage로 로그 및 메트릭을 스트리밍하는 데 사용됩니다. 데이터 수집 규칙을 설정하는 방법에 대한 자세한 내용은 Azure Monitor의 데이터 수집 규칙 및 데이터 수집 규칙 만들기 및 편집을 참조하세요.

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

  • Logic Apps를 사용하여 수동으로 스트리밍
    이벤트 허브로 직접 스트리밍할 수 없는 데이터의 경우 Azure Storage에 작성한 다음, 시간으로 트리거되는 Azure Blob Storage에서 데이터를 풀하고 이것을 이벤트 허브에 메시지로 푸시하는 논리 앱을 사용할 수 있습니다. 자세한 내용은 Azure Logic Apps의 워크플로에서 이벤트 허브에 연결을 참조 하세요.

데이터 형식

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

[
  {
    "records": [
      {
        "count": 2,
        "total": 0.217,
        "minimum": 0.042,
        "maximum": 0.175,
        "average": 0.1085,
        "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/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/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/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/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/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": "cccc2222-dd33-4444-55ee-666666ffffff",
        "callerIpAddress": "10.0.0.10",
        "identity": {
          "claim": {
            "http://schemas.microsoft.com/identity/claims/objectidentifier": "dddddddd-3333-4444-5555-eeeeeeeeeeee",
            "appid": "44445555-eeee-6666-ffff-7777aaaa8888"
          }
        },
        "properties": {
          "id": "https://mykeyvault.vault.azure.net/",
          "clientInfo": "AzureResourceGraph.IngestionWorkerService.global/1.23.1.224",
          "requestUri": "https://northeurope.management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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": "bbbbcccc-1111-dddd-2222-eeee3333ffff",
            "networkAcls": null,
            "enabledForDeployment": 0,
            "enabledForDiskEncryption": 0,
            "enabledForTemplateDeployment": 0,
            "enableSoftDelete": 1,
            "softDeleteRetentionInDays": 90,
            "enableRbacAuthorization": 0,
            "enablePurgeProtection": null
          }
        },
        "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/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 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를 사용하여 모니터링 및 로깅 시작을 참조하세요.

다음 단계