직접 EventBridge 통합으로 APM에서 경보 수집
다음 항목에서는 Amazon EventBridge와 직접 통합된 애플리케이션 성능 모니터링(APM) 도구에서 AWS 사고 탐지 및 대응으로 경보를 전송하는 프로세스를 보여 줍니다. Amazon EventBridge와 직접 통합되는 전체 APM 목록은 Amazon EventBridge 통합
제공된 CloudFormation 템플릿을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"]를 원하는 값으로 설정해야 합니다.
사전 요구 사항 단계:
-
EventBridge 콘솔을 엽니다. 통합 메뉴에서 파트너 이벤트 소스를 선택합니다.
-
Amazon EventBridge 파트너 상자에서 APM을 검색합니다.
-
설정을 선택한 다음 제공된 지침을 따릅니다.
-
참고: 마지막 단계는 파트너 이벤트 소스에 대해 콘솔에서 이벤트 버스와 연결을 선택하는 것입니다. 이 옵션을 선택하면 파트너 이벤트 소스와 이름이 동일한 파트너 이벤트 버스가 자동으로 생성됩니다(이름이 일치해야 함).
-
-
파트너 이벤트 버스 또는 소스의 이름을 복사합니다. 이벤트 버스 또는 소스는 CloudFormation 템플릿을 배포할 때
PartnerEventBusNameParameter라는 파라미터로 사용됩니다.-
New Relic의 예제:
aws.partner/newrelic.com/1234567/source_name
-
-
CloudFormation 템플릿을 배포할 때
PartnerEventBusPrefixParameter에 입력할 파트너 이벤트 버스 또는 소스의 첫 번째 부분을 복사합니다.-
New Relic의 예제는
aws.partner/newrelic.com입니다.
-
-
-
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 템플릿 배포:
-
대상 계정 및 리전에서 CloudFormation 콘솔을 엽니다.
-
스택 생성, 새 리소스 사용(표준)을 선택합니다.
-
기존 템플릿 선택, 템플릿 파일 업로드, 파일 선택을 선택한 다음 로컬로 저장한 CloudFormation 템플릿을 업로드합니다.
-
-
다음과 같이 스택 세부 정보를 지정합니다.
-
스택 이름을 입력합니다(예:
NewRelicIntegrationForIDR). -
사전 조건 완료 중에 얻은 파라미터 값을 지정합니다.
-
APMNameParameter(예:
NewRelic) -
PartnerEventBusNameParameter(예:
aws.partner/newrelic.com/1234567/source_name) -
PartnerEventBusPrefixParameter(예:
aws.partner/newrelic.com)
-
-
다음을 선택합니다.
-
-
다음과 같이 스택 옵션을 구성합니다.
-
페이지 하단으로 스크롤하고 확인란을 선택하여 CloudFormation이 사용자 지정 이름으로 IAM 리소스를 생성하도록 허용합니다.
-
-
검토 및 생성
-
파라미터 값이 올바르게 구성되었는지 확인하고 제출을 선택합니다.
-
-
CloudFormation 스택은 APM 이벤트를 AWS 사고 탐지 및 대응에 통합하는 데 필요한 리소스를 배포합니다. 스택 상태에
CREATE_COMPLETE가 표시될 때까지 기다립니다. -
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에서 테스트 페이로드를 전송하여 통합을 테스트합니다.
-
Lambda 콘솔로 이동하여
APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transform함수를 선택합니다. 모니터링 탭을 선택합니다. -
지표 그래프에서 성공적인 간접 호출을 찾습니다.
-
Amazon CloudWatch Logs 보기를 선택하여 테스트 페이로드 또는 오류가 있는지 로그 스트림을 확인합니다.
이벤트 버스 ARN을 AWS 사고 탐지 및 대응과 공유
-
Amazon EventBridge 콘솔을 엽니다. 이벤트 버스를 선택합니다.
-
CloudFormation 스택의 일부로 생성된 사용자 지정 이벤트 버스의 ARN을 복사합니다(예:
arn:aws:events:us-east-1:123456789123:event-bus/NewRelic-AWSIncidentDetectionResponse-EventBus).-
경보 수집 설문지 - 개요의 ‘타사 APM 경보’ 섹션에 있는 ‘EventBridge 이벤트 버스 ARN’ 필드에 이 ARN을 추가합니다.
-
-
온보딩 프로세스 중에 AWS 사고 탐지 및 대응은 이 사용자 지정 이벤트 버스에 관리형 EventBridge 규칙을 생성하여 APM 경보를 수집합니다.
옵션 2: 수동 통합
AWS 사고 탐지 및 대응이 경보를 수집해야 하는 각 AWS 계정 및 AWS 리전에 대해 다음 단계를 완료합니다. AWS 사고 탐지 및 대응은 영향을 받는 리소스를 더 빠르게 식별하고 조사할 수 있도록 애플리케이션 리소스와 동일한 AWS 계정 및 리전에 경보를 설정할 것을 권장합니다. 인시던트 및 지원 사례는 APM 알림을 받은 AWS 계정에서 열립니다.
-
APM을 Amazon EventBridge 파트너 이벤트 소스(예:
aws.partner/apm_name/integrationName)로 설정하여 EventBridge 파트너 이벤트 버스를 생성합니다. APM을 이벤트 소스로 설정하는 방법에 대한 지침은 Amazon EventBridge를 사용하여 SaaS 파트너로부터 이벤트 수신을 참조하세요. -
다음 중 하나를 수행합니다.
-
(권장 방법) 이름이
$YourApmName-AWSIncidentDetectionResponse-EventBus인 EventBridge 사용자 지정 이벤트 버스를 만듭니다. -
(대체 방법) 사용자 지정 이벤트 버스 대신 기본 EventBridge 이벤트 버스를 사용합니다.
AWS 사고 탐지 및 대응은
AWSHealthEventProcessorEventSource-DO-NOT-DELETESLR을 통해 사용자 지정 또는 기본 이벤트 버스에 관리형 규칙(AWSServiceRoleForHealth_EventProcessor)을 설치합니다. 규칙 소스는 사용자 지정 또는 기본 이벤트 버스이고, 규칙 대상은 AWS 사고 탐지 및 대응이며, 규칙은 타사 APM 이벤트 수집 패턴과 일치합니다. -
-
이름이
$YourApmName-AWSIncidentDetectionResponse-LambdaFunction인 Lambda 함수를 만들어 파트너 이벤트 버스 이벤트를 변환합니다. 변환된 이벤트는 관리형 규칙AWSHealthEventProcessorEventSource-DO-NOT-DELETE와 일치합니다.-
변환된 이벤트에는 고유한 AWS 사고 탐지 및 대응 식별자가 포함되며 이벤트의 소스 및 세부 정보 유형을 필요한 값으로 설정합니다. 이렇게 하면 변환된 JSON 페이로드 구조가 관리형 규칙 패턴과 일치할 수 있습니다.
-
Lambda 함수의 대상을 2단계에서 생성한 사용자 지정 이벤트 버스(권장) 또는 기본 이벤트 버스로 설정합니다.
-
-
EventBridge 규칙을 생성하고 AWS 사고 탐지 및 대응에 푸시하려는 이벤트 목록과 일치하는 이벤트 패턴을 정의합니다. 규칙의 소스는 1단계에서 생성한 파트너 이벤트 버스(
aws.partner/apm_name/integrationName)입니다. 규칙의 대상은 3단계에서 생성한 Lambda 함수([apm_name]-AWSIncidentDetectionResponse-LambdaFunction)입니다. EventBridge 규칙 정의에 대한 지침은 Amazon EventBridge 규칙을 참조하세요.
AWS 사고 탐지 및 대응과 파트너 이벤트 버스 통합을 수동으로 설정하는 방법에 대한 단계별 예제는 Datadog 및 Splunk의 알림 통합을 참조하세요.