Azure API Management에서 Azure Event Hubs에 이벤트를 기록하는 방법

Azure Event Hubs는 초당 수백만 개의 이벤트를 수집할 수 있는 확장성이 뛰어난 데이터 수집 서비스이므로 연결된 디바이스와 애플리케이션이 생성하는 대량의 데이터를 처리하고 분석할 수 있습니다. Event Hubs는 이벤트 파이프라인에 대한 "현관"의 역할을 하고 데이터가 이벤트 허브에 수집되면 실시간 분석 공급자 또는 일괄 처리/스토리지 어댑터를 사용하여 변환 및 저장될 수 있습니다. Event Hubs는 이러한 이벤트를 소비하는 데에서 이벤트 스트림의 프로덕션을 분리하므로 이벤트 소비자가 자신의 개인 일정에 이벤트를 액세스할 수 있습니다.

이 문서에서는 Azure Event Hubs를 사용하여 API Management 이벤트를 로그하는 방법을 설명합니다.

Azure 이벤트 허브 만들기

Event Hub를 만들고 Event Hub 간에 이벤트를 송신 및 수신해야 하는 연결 문자열을 가져오는 방법에 대한 자세한 내용은 Azure Portal을 사용하여 Event Hubs 네임스페이스 및 Event Hub 만들기를 참조하세요.

참고

이벤트 허브 리소스는 API Management 리소스와 다른 구독 또는 다른 테넌트에 있을 수 있습니다.

API Management 로거 만들기

이제 이벤트 허브를 만들었으므로 다음 단계는 API Management 서비스에서 로거 를 구성하여 이벤트 허브에 이벤트를 기록할 수 있도록 하는 것입니다.

API Management 로거는 API Management REST API를 사용하여 구성됩니다. 자세한 요청 예제는 로거를 만드는 방법을 참조하세요.

log-to-eventhub 정책 구성

API Management에서 로거를 구성한 후에는 원하는 이벤트를 로깅하도록 log-to-eventhub 정책을 구성할 수 있습니다. log-to-eventhub 정책은 인바운드 정책 섹션 또는 아웃바운드 정책 섹션에서 사용할 수 있습니다.

  1. APIM 인스턴스로 이동합니다.
  2. API 탭을 선택합니다.
  3. 정책을 추가하려는 API를 선택합니다. 이 예제에서는 무제한 제품의 Echo API에 정책을 추가합니다.
  4. 모든 작업을 선택합니다.
  5. 화면 맨 위에서 디자인 탭을 선택합니다.
  6. 인바운드 또는 아웃바운드 처리 창에서 삼각형(연필 옆에 있는)을 클릭합니다.
  7. 코드 편집기를 선택합니다. 자세한 내용은 정책을 설정하거나 편집하는 방법을 참조하세요.
  8. 커서를 inbound 또는 outbound 정책 섹션에 둡니다.
  9. 오른쪽 창에서 고급 정책>EventHub에 대한 로그를 선택합니다. 그러면 log-to-eventhub 정책 문 템플릿을 삽입합니다.
<log-to-eventhub logger-id="logger-id">
    @{
        return new JObject(
            new JProperty("EventTime", DateTime.UtcNow.ToString()),
            new JProperty("ServiceName", context.Deployment.ServiceName),
            new JProperty("RequestId", context.RequestId),
            new JProperty("RequestIp", context.Request.IpAddress),
            new JProperty("OperationName", context.Operation.Name)
        ).ToString();
    }
</log-to-eventhub>

이전 단계에서 로거를 만들기 위해 요청 URL의 {loggerId}에 사용한 값으로 logger-id를 바꿉니다.

문자열을 log-to-eventhub 요소에 대한 값으로 반환하는 모든 식을 사용할 수 있습니다. 이 예제에서는 날짜 및 시간, 서비스 이름, 요청 ID, 요청 IP 주소, 작업 이름을 포함하는 JSON 형식의 문자열이 로깅됩니다.

저장 을 클릭하여 업데이트된 정책 구성을 저장합니다. 저장되는 즉시 정책이 활성화되며 지정된 이벤트 허브에 이벤트가 기록됩니다.

참고

이 API Management 정책에서 이벤트 허브로 보낼 수 있는 지원되는 최대 메시지 크기는 200KB(킬로바이트)입니다. 이벤트 허브로 전송된 메시지가 200KB보다 큰 경우 자동으로 잘리고, 잘린 메시지는 이벤트 허브로 전송됩니다.

Azure Stream Analytics를 사용하여 Event Hubs의 로그 미리 보기

Azure Stream Analytics 쿼리를 사용하여 Event Hubs의 로그를 미리 볼 수 있습니다.

  1. Azure Portal에서 로거가 이벤트를 전송하는 이벤트 허브로 이동합니다.
  2. 기능에서 데이터 처리 탭을 선택합니다.
  3. 이벤트에서 실시간 인사이트 사용 카드에서 탐색을 선택합니다.
  4. 입력 미리 보기 탭에서 로그를 미리 볼 수 있습니다. 표시된 데이터가 최신 상태가 아니면 새로 고침을 선택하여 최신 이벤트를 확인합니다.

다음 단계