View a markdown version of this page

직접 EventBridge 통합으로 APM에서 경보 수집 - AWS 사고 탐지 및 대응 사용 설명서

직접 EventBridge 통합으로 APM에서 경보 수집

다음 항목에서는 Amazon EventBridge와 직접 통합된 애플리케이션 성능 모니터링(APM) 도구에서 AWS 사고 탐지 및 대응으로 경보를 전송하는 프로세스를 보여 줍니다. Amazon EventBridge와 직접 통합되는 전체 APM 목록은 Amazon EventBridge 통합을 참조하세요.

제공된 CloudFormation 템플릿을 배포하거나 이 통합을 수동으로 설정할 수 있습니다. 통합을 설정하기 전에 AWS 서비스 연결 역할(SLR) AWSServiceRoleForHealth_EventProcessor가 계정에 생성되었는지 확인합니다.

옵션 1: 사용CloudFormation

CloudFormation 템플릿을 사용하면 Amazon EventBridge 통합을 통해 APM에서 AWS 사고 탐지 및 대응에 경보를 수집하는 데 필요한 통합 인프라를 생성하는 프로세스를 간소화할 수 있습니다.

참고
  • 이 CloudFormation 템플릿을 통해 배포된 리소스(예: Lambda 및 EventBridge)에 대해 추가 비용이 발생합니다. 이러한 서비스의 가격에 대한 자세한 내용은 AWS 가격을 참조하세요.

  • AWS 사고 탐지 및 대응에서 경보를 수집해야 하는 모든 AWS 계정 및 리전에 이 CloudFormation 템플릿을 배포합니다. 인시던트 및 지원 사례는 APM 알림을 받은 AWS 계정에서 열립니다.

  • 이 문서에서는 New Relic을 예로 사용하지만, CloudFormation 템플릿은 Amazon EventBridge와 SaaS 통합이 있는 모든 APM에 사용할 수 있습니다.

  • 통합을 테스트한 후 TransformLambdaFunction에서 logger.info() 문을 제거하여 Amazon CloudWatch Logs에 페이로드가 표시되지 않도록 합니다.

이 CloudFormation 템플릿을 배포하기 위한 사전 조건:

  • 파트너 이벤트 소스는 Amazon EventBridge에서 설정해야 합니다. APM을 이벤트 소스로 설정하는 방법에 대한 자세한 내용은 Amazon EventBridge 사용 설명서Amazon EventBridge를 사용하여 SaaS 파트너로부터 이벤트 수신을 참조하세요.

  • 템플릿의 TransformLambdaFunction(Lambda 함수)을 수정하여 APM 페이로드에서 알림 이름의 JSON 경로를 기반으로 ["detail"]["incident-detection-response-identifier"]를 원하는 값으로 설정해야 합니다.

사전 요구 사항 단계:

  1. EventBridge 콘솔을 엽니다. 통합 메뉴에서 파트너 이벤트 소스를 선택합니다.

    • Amazon EventBridge 파트너 상자에서 APM을 검색합니다.

    • 설정을 선택한 다음 제공된 지침을 따릅니다.

      • 참고: 마지막 단계는 파트너 이벤트 소스에 대해 콘솔에서 이벤트 버스와 연결을 선택하는 것입니다. 이 옵션을 선택하면 파트너 이벤트 소스와 이름이 동일한 파트너 이벤트 버스가 자동으로 생성됩니다(이름이 일치해야 함).

    • 파트너 이벤트 버스 또는 소스의 이름을 복사합니다. 이벤트 버스 또는 소스는 CloudFormation 템플릿을 배포할 때 PartnerEventBusNameParameter라는 파라미터로 사용됩니다.

      • New Relic의 예제: aws.partner/newrelic.com/1234567/source_name

    • CloudFormation 템플릿을 배포할 때 PartnerEventBusPrefixParameter에 입력할 파트너 이벤트 버스 또는 소스의 첫 번째 부분을 복사합니다.

      • New Relic의 예제는 aws.partner/newrelic.com입니다.

  2. CloudFormation 템플릿을 다운로드하고 편집합니다.

    • 템플릿에서 TransformLambdaFunction을 찾습니다.

    • def lambda_handler(event, context)에서 경보 이름이 APM 경보의 JSON 페이로드에 표시되는 json 경로로 event["detail"]["incident-detection-response-identifier"]를 설정합니다. 모든 APM의 경로는 다릅니다. 아래에서 몇 가지 예를 볼 수 있지만 특정 페이로드는 다를 수 있습니다.

      • New Relic 예제: event["detail"]["incident-detection-response-identifier"] = event["detail"]["workflowName"].

      • Datadog 예제: event["detail"]["incident-detection-response-identifier"] = event["detail"]["meta"]["monitor"]["name"]

      • Splunk 예제: event["detail"]["incident-detection-response-identifier"] = event["detail"]["ruleName"]

    • CloudFormation 템플릿을 저장합니다.

CloudFormation 템플릿 배포:

  1. 대상 계정 및 리전에서 CloudFormation 콘솔을 엽니다.

  2. 스택 생성, 새 리소스 사용(표준)을 선택합니다.

    • 기존 템플릿 선택, 템플릿 파일 업로드, 파일 선택을 선택한 다음 로컬로 저장한 CloudFormation 템플릿을 업로드합니다.

  3. 다음과 같이 스택 세부 정보를 지정합니다.

    • 스택 이름을 입력합니다(예: NewRelicIntegrationForIDR).

    • 사전 조건 완료 중에 얻은 파라미터 값을 지정합니다.

      • APMNameParameter(: NewRelic)

      • PartnerEventBusNameParameter(: aws.partner/newrelic.com/1234567/source_name)

      • PartnerEventBusPrefixParameter(: aws.partner/newrelic.com)

    • 다음을 선택합니다.

  4. 다음과 같이 스택 옵션을 구성합니다.

    • 페이지 하단으로 스크롤하고 확인란을 선택하여 CloudFormation이 사용자 지정 이름으로 IAM 리소스를 생성하도록 허용합니다.

  5. 검토 및 생성

    • 파라미터 값이 올바르게 구성되었는지 확인하고 제출을 선택합니다.

  6. CloudFormation 스택은 APM 이벤트를 AWS 사고 탐지 및 대응에 통합하는 데 필요한 리소스를 배포합니다. 스택 상태에 CREATE_COMPLETE가 표시될 때까지 기다립니다.

  7. CloudFormation 스택은 예제 값이 New Relic의 파라미터에 입력되었고 US-EAST-1 리전에서 실행되었다고 가정하여 다음 리소스를 생성합니다.

    • CustomEventBus: NewRelic-AWSIncidentDetectionResponse-EventBus

    • EventBridgeRule: aws.partner/newrelic.com/1234567/source_name|NewRelic-AWSIncidentDetectionResponse-EventBridgeRule

    • TransformLambdaExecutionRole: IDR-TransformLambdaExecutionRole-us-east-1

    • TransformLambdaFunction: NewRelic-AWSIncidentDetectionResponse-Lambda-Transform

    • TransformLambdaPermission: NewRelicIntegrationForIDR-TransformLambdaPermission-[random_string]

통합 테스트하기

스택을 배포한 후 APM에서 테스트 페이로드를 전송하여 통합을 테스트합니다.

  1. Lambda 콘솔로 이동하여 APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transform 함수를 선택합니다. 모니터링 탭을 선택합니다.

  2. 지표 그래프에서 성공적인 간접 호출을 찾습니다.

  3. Amazon CloudWatch Logs 보기를 선택하여 테스트 페이로드 또는 오류가 있는지 로그 스트림을 확인합니다.

이벤트 버스 ARN을 AWS 사고 탐지 및 대응과 공유

  1. Amazon EventBridge 콘솔을 엽니다. 이벤트 버스를 선택합니다.

  2. CloudFormation 스택의 일부로 생성된 사용자 지정 이벤트 버스의 ARN을 복사합니다(예: arn:aws:events:us-east-1:123456789123:event-bus/NewRelic-AWSIncidentDetectionResponse-EventBus).

  3. 온보딩 프로세스 중에 AWS 사고 탐지 및 대응은 이 사용자 지정 이벤트 버스에 관리형 EventBridge 규칙을 생성하여 APM 경보를 수집합니다.

옵션 2: 수동 통합

파트너 이벤트 버스 또는 기타 AWS 이벤트 버스 소스를 사용한 예제 통합을 보여 주는 다이어그램입니다.

AWS 사고 탐지 및 대응이 경보를 수집해야 하는 각 AWS 계정 및 AWS 리전에 대해 다음 단계를 완료합니다. AWS 사고 탐지 및 대응은 영향을 받는 리소스를 더 빠르게 식별하고 조사할 수 있도록 애플리케이션 리소스와 동일한 AWS 계정 및 리전에 경보를 설정할 것을 권장합니다. 인시던트 및 지원 사례는 APM 알림을 받은 AWS 계정에서 열립니다.

  1. APM을 Amazon EventBridge 파트너 이벤트 소스(예: aws.partner/apm_name/integrationName)로 설정하여 EventBridge 파트너 이벤트 버스를 생성합니다. APM을 이벤트 소스로 설정하는 방법에 대한 지침은 Amazon EventBridge를 사용하여 SaaS 파트너로부터 이벤트 수신을 참조하세요.

  2. 다음 중 하나를 수행합니다.

    • (권장 방법) 이름이 $YourApmName-AWSIncidentDetectionResponse-EventBus인 EventBridge 사용자 지정 이벤트 버스를 만듭니다.

    • (대체 방법) 사용자 지정 이벤트 버스 대신 기본 EventBridge 이벤트 버스를 사용합니다.

    AWS 사고 탐지 및 대응은 AWSHealthEventProcessorEventSource-DO-NOT-DELETE SLR을 통해 사용자 지정 또는 기본 이벤트 버스에 관리형 규칙(AWSServiceRoleForHealth_EventProcessor)을 설치합니다. 규칙 소스는 사용자 지정 또는 기본 이벤트 버스이고, 규칙 대상은 AWS 사고 탐지 및 대응이며, 규칙은 타사 APM 이벤트 수집 패턴과 일치합니다.

  3. 이름이 $YourApmName-AWSIncidentDetectionResponse-LambdaFunctionLambda 함수를 만들어 파트너 이벤트 버스 이벤트를 변환합니다. 변환된 이벤트는 관리형 규칙 AWSHealthEventProcessorEventSource-DO-NOT-DELETE와 일치합니다.

    • 변환된 이벤트에는 고유한 AWS 사고 탐지 및 대응 식별자가 포함되며 이벤트의 소스 및 세부 정보 유형을 필요한 값으로 설정합니다. 이렇게 하면 변환된 JSON 페이로드 구조가 관리형 규칙 패턴과 일치할 수 있습니다.

    • Lambda 함수의 대상을 2단계에서 생성한 사용자 지정 이벤트 버스(권장) 또는 기본 이벤트 버스로 설정합니다.

  4. EventBridge 규칙을 생성하고 AWS 사고 탐지 및 대응에 푸시하려는 이벤트 목록과 일치하는 이벤트 패턴을 정의합니다. 규칙의 소스는 1단계에서 생성한 파트너 이벤트 버스(aws.partner/apm_name/integrationName)입니다. 규칙의 대상은 3단계에서 생성한 Lambda 함수([apm_name]-AWSIncidentDetectionResponse-LambdaFunction)입니다. EventBridge 규칙 정의에 대한 지침은 Amazon EventBridge 규칙을 참조하세요.

AWS 사고 탐지 및 대응과 파트너 이벤트 버스 통합을 수동으로 설정하는 방법에 대한 단계별 예제는 Datadog 및 Splunk의 알림 통합을 참조하세요.