

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon EventBridge 모니터링
<a name="eb-monitoring"></a>

EventBridge는 일치하는 [이벤트](eb-events.md) 수부터 [규칙](eb-rules.md)에 의해 [대상](eb-targets.md)이 간접 호출된 횟수까지 모든 항목에 대한 지표를 1분마다 Amazon CloudWatch에 전송합니다.

 다음 동영상에서는 CloudWatch를 통한 EventBridge 동작 모니터링 및 감사를 검토합니다.




**Topics**
+ [EventBridge 지표](#eb-metrics)
+ [EventBridge 지표의 차원](#eb-metrics-dimensions)
+ [Amazon EventBridge에서 이벤트 전송을 모니터링하는 모범 사례](eb-monitoring-events-best-practices.md)
+ [EventBridge는 Amazon CloudWatch Events의 진화입니다.](eb-cwe-now-eb.md)

## EventBridge 지표
<a name="eb-metrics"></a>

`AWS/Events` 네임스페이스에는 다음과 같은 지표가 포함됩니다.

Count를 단위로 사용하는 지표의 경우 Sum과 SampleCount는 대체적으로 가장 유용한 통계가 됩니다.

`RuleName` 차원만 지정하는 지표는 기본 이벤트 버스를 참조합니다. `EventBusName` 및 `RuleName` 차원을 모두 지정하는 지표는 사용자 지정 이벤트 버스를 참조합니다.


| 지표 | 설명 | 측정 기준 | 단위 | 
| --- | --- | --- | --- | 
|  DeadLetterInvocations  |  이벤트에 대한 응답으로 규칙 대상이 간접 호출되지 않은 횟수입니다. 여기에는 동일한 규칙을 다시 실행하여 무한 루프를 초래하는 간접 호출이 포함됩니다.  | RuleName | 개수 | 
|  Events  |  EventBridge에서 수집한 파트너 이벤트 수입니다.  | EventSourceName | 개수 | 
|  FailedInvocations  |  계속해서 실패한 간접 호출 수입니다. 여기에는 재시도된 간접 호출이나 재시도 이후 성공한 간접 호출은 포함되지 않습니다. 또한 `DeadLetterInvocations` 계산에 포함된 실패 간접 호출은 계산되지 않습니다.  EventBridge는 0이 아닌 값일 때만 이 지표를 CloudWatch에 전송합니다.   | RuleName | 개수 | 
|  Invocations  |  이벤트에 대한 응답으로 규칙에 의해 대상이 간접 호출된 횟수입니다. 여기에는 성공한 간접 호출과 실패한 간접 호출이 모두 포함되지만, 병목 현상에 걸리거나 재시도하여 계속해서 실패한 간접 호출은 포함되지 않습니다. `DeadLetterInvocations`는 포함되지 않습니다.  EventBridge는 0이 아닌 값일 때만 이 지표를 CloudWatch에 전송합니다.   | 없음, RuleName | 개수 | 
| InvocationAttempts | EventBridge가 대상 간접 호출을 시도한 횟수입니다.  | EventBusName, 없음, RuleName | 개수 | 
|  InvocationsCreated  |  각 이벤트에 대한 응답으로 생성된 총 간접 호출 수입니다. 이 지표는 [EventBridge 서비스 할당량](eb-quota.md#eb-limits)에서 **초당 트랜잭션 간접 호출 제한 한도**의 사용률을 모니터링하는 데 주로 사용됩니다.  | 없음 | 개수 | 
|  InvocationsFailedToBeSentToDlq  |  DLQ(Dead Letter Queue)로 이동할 수 없는 간접 호출 수입니다. DLQ(Dead Letter Queue) 오류는 권한 오류, 사용할 수 없는 리소스 또는 크기 제한으로 인해 발생합니다.  EventBridge는 0이 아닌 값일 때만 이 지표를 CloudWatch에 전송합니다.   | RuleName | 개수 | 
|  IngestiontoInvocationCompleteLatency  |  이벤트 수집부터 첫 번째 간접 호출 시도 완료까지 걸린 시간입니다.  | EventBusName, 없음, RuleName | 밀리초 | 
| IngestionToInvocationSuccessLatency | 간접 호출 종료 시간을 컷오프로 사용하여, 이벤트 수집에서 성공적인 대상 전달까지 걸린 시간입니다. 이 지표는 대상에 대한 첫 번째 전송 시도가 성공한 후에만 내보내집니다. | EventBusName, 없음, RuleName | 밀리초 | 
|  IngestiontoInvocationStartLatency  |  EventBridge에서 이벤트를 수집한 시점부터 대상을 처음 간접 호출할 때까지 측정한 이벤트 처리 시간입니다.  | EventBusName, 없음, RuleName | 밀리초 | 
|  InvocationsSentToDlq  |  DLQ(Dead Letter Queue)로 이동된 간접 호출 수입니다.  EventBridge는 0이 아닌 값일 때만 이 지표를 CloudWatch에 전송합니다.   | RuleName | 개수 | 
|  MatchedEvents  |  EventBusName 또는 EventSourceName이 지정된 경우 모든 규칙과 일치하는 이벤트 수입니다. RuleName이 지정된 경우 특정 규칙과 일치하는 이벤트 수입니다.  | EventBusName, EventSourceName, RuleName | 개수 | 
| RetryInvocationAttempts | 대상 간접 호출이 재시도된 횟수입니다. EventBridge는 0이 아닌 값일 때만 이 지표를 CloudWatch에 전송합니다.  | EventBusName, 없음, RuleName | 개수 | 
| SuccessfulInvocationAttempts | 대상이 성공적으로 간접 호출된 횟수입니다.  | EventBusName, 없음, RuleName | 개수 | 
|  ThrottledRules  |  규칙 실행이 제한된 횟수입니다. 해당 규칙에 대한 간접 호출이 지연될 수 있습니다. 자세한 내용은 [EventBridge 이벤트 버스 할당량](eb-quota.md#eb-limits)의 **Invocations throttle limit in transactions per second**를 참조하세요.  | EventBusName, 없음, RuleName | 개수 | 
|  TriggeredRules  |  실행되고 모든 이벤트와 일치하는 규칙 수입니다. 규칙이 트리거될 때까지 CloudWatch에서 이 지표를 볼 수 없습니다.  | EventBusName, 없음, RuleName | 개수 | 
|  EventBusEncryptionStarted  |  이벤트 버스에 대한 재암호화 작업이 시작된 횟수입니다. 이벤트 버스 구성을 업데이트하면 EventBridge에 저장된 정적 구성의 재암호화가 트리거됩니다.  | EventBusName | 개수 | 
|  EventBusEncryptionCompleted  |  이벤트 버스에 대한 재암호화 작업이 성공적으로 완료된 횟수입니다. 이벤트 버스 구성을 업데이트하면 EventBridge에 저장된 정적 구성의 재암호화가 트리거됩니다.  | EventBusName | 개수 | 
|  EventBusEncryptionFailed  |  이벤트 버스에 대한 재암호화 작업이 실패한 횟수입니다. 이벤트 버스 구성을 업데이트하면 EventBridge에 저장된 정적 구성의 재암호화가 트리거됩니다.  EventBridge는 0이 아닌 값일 때만 이 지표를 CloudWatch에 전송합니다.   | EventBusName | 개수 | 

### EventBridge PutEvents 지표
<a name="eb-metrics-putevents"></a>

`AWS/Events` 네임스페이스는 `[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)` API 요청과 관련된 다음 지표를 포함합니다.

Count를 단위로 사용하는 지표의 경우 Sum과 SampleCount는 대체적으로 가장 유용한 통계가 됩니다.


| 지표 | 설명 | 측정 기준 | 단위 | 
| --- | --- | --- | --- | 
| PutEventsApproximateCallCount | 수신된 `[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)` 요청의 대략적인 수입니다.  | 없음 | 개수 | 
|  PutEventsApproximateFailedCount  | 실패한 `[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)` 요청의 대략적인 수입니다.  | 없음 | 개수 | 
|  PutEventsApproximateSuccessCount  | 성공한 `[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)` 요청의 대략적인 수입니다.  | 없음 | 개수 | 
|  PutEventsApproximateThrottledCount  |  제한으로 인해 거부된 `[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)` 요청 수입니다.  | 없음 | 개수 | 
| PutEventsEntriesCount |  `[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)` 요청에 포함된 이벤트 항목 수입니다.  | 없음 | 개수 | 
| PutEventsFailedEntriesCount |  수집에 실패한 `[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)` 요청에 포함된 이벤트 항목 수입니다.  | 없음 | 개수 | 
|  PutEventsLatency  |  `[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)` 요청당 소요되는 시간입니다.  | 없음 | 밀리초 | 
|  PutEventsRequestSize  |  `[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)` 요청의 크기입니다.  | 없음 | 바이트 | 

### EventBridge PutPartnerEvents 지표
<a name="eb-metrics-putpartnerevents"></a>

`AWS/Events` 네임스페이스는 `[PutPartnerEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` API 요청과 관련된 다음 지표를 포함합니다.

**참고**  
EventBridge에는 이벤트를 보내는 SaaS 파트너 계정의 [PutPartnerEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPartnerEvents.html) 요청과 관련한 지표만 포함됩니다. 자세한 내용은 [Amazon EventBridge를 사용해 SaaS 파트너로부터 이벤트 수신](eb-saas.md) 섹션을 참조하세요.

Count를 단위로 사용하는 지표의 경우 Sum과 SampleCount는 대체적으로 가장 유용한 통계가 됩니다.


| 지표 | 설명 | 측정 기준 | 단위 | 
| --- | --- | --- | --- | 
| PutPartnerEventsApproximateCallCount | 수신된 `[PutPartnerEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 요청의 대략적인 수입니다.  | 없음 | 개수 | 
|  PutPartnerEventsApproximateFailedCount  | 실패한 `[PutPartnerEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 요청의 대략적인 수입니다.  | 없음 | 개수 | 
|  PutPartnerEventsApproximateThrottledCount  |  제한으로 인해 거부된 `[PutPartnerEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 요청 수입니다.  | 없음 | 개수 | 
|  PutPartnerEventsApproximateSuccessCount  | 성공한 `[PutPartnerEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 요청의 대략적인 수입니다.  | 없음 | 개수 | 
| PutPartnerEventsEntriesCount |  `[PutPartnerEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 요청에 포함된 이벤트 항목 수입니다.  | 없음 | 개수 | 
| PutPartnerEventsFailedEntriesCount |  수집에 실패한 `[PutPartnerEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 요청에 포함된 이벤트 항목 수입니다.  | 없음 | 개수 | 
|  PutPartnerEventsLatency  |  `[PutPartnerEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPartnerEvents.html)` 요청당 소요되는 시간입니다.  | 없음 | 밀리초 | 

## EventBridge 지표의 차원
<a name="eb-metrics-dimensions"></a>

EventBridge 지표에는 *차원* 또는 정렬 가능한 속성이 있으며, 이러한 속성은 다음과 같습니다.


|  차원  |  설명  | 
| --- | --- | 
|  EventBusName  |  이벤트 버스 이름을 기준으로 사용할 수 있는 지표를 필터링합니다.  | 
|  EventSourceName  |  파트너 이벤트 소스 이름을 기준으로 사용할 수 있는 지표를 필터링합니다.  | 
|  RuleName  |  규칙 이름을 기준으로 사용할 수 있는 지표를 필터링합니다.  | 

# Amazon EventBridge에서 이벤트 전송을 모니터링하는 모범 사례
<a name="eb-monitoring-events-best-practices"></a>

이벤트 기반 애플리케이션의 비즈니스 로직이 안정적으로 실행되도록 하려면 이벤트 전송 동작을 모니터링해야 합니다. EventBridge는 신뢰할 수 있는 이벤트 전송을 보장하기 위해, 문제를 조기에 모니터링, 감지 및 완화할 수 있는 지표를 제공합니다. 이러한 지표에는 다음이 포함됩니다.
+ `InvocationAttempts`, `SuccessfulInvocationAttempts`, `RetryInvocationAttempts`, `FailedInvocations` 등 카운터 기반 지표가 대상 스로틀링을 관찰하고 오류율을 계산할 수 있도록 합니다.
+ `IngestionToInvocationSuccessLatency`와 같은 지연 시간 기반 지표가 이벤트 전송 및 지연에 대한 인사이트를 제공합니다.

이러한 지표를 사용하면 이벤트 기반 아키텍처의 상태를 모니터링할 수 있으며, 성능이 저조하거나 크기가 작거나 응답이 없는 대상으로 인한 이벤트 전송 문제를 이해하고 완화할 수 있습니다. 예를 들어, 영구적으로 규모가 축소되거나 스로틀링된 대상은 과도한 재시도, 이벤트 전송 지연 및 영구적인 전송 실패로 이어질 수 있습니다.

여러 지표를 결합하여 전체적인 개요를 파악하고 이를 면밀히 모니터링하는 것이 좋습니다. 적절한 경보 및 대시보드를 설정하면 지속적인 문제를 조기에 해결할 수 있습니다.

특정 지표에 대한 자세한 내용은 [EventBridge 지표](eb-monitoring.md#eb-metrics) 섹션을 참조하세요.

## 이벤트 전송 실패 감지
<a name="eb-monitoring-events-best-practices-delivery-failures"></a>

EventBridge에는 규칙별로 대상 간접 호출, 즉 이벤트 전송 시도를 보고하도록 구성할 수 있는 지표가 포함되어 있습니다.

규칙 수준에서 다음 지표를 모니터링하는 것이 좋습니다.
+ `InvocationAttempts`로 이벤트 전달 재시도를 포함하여 EventBridge가 대상을 간접적으로 호출하려고 시도하는 총 횟수를 관찰합니다.
+ `SuccessfulInvocationAttempts`는 EventBridge가 이벤트를 대상에 성공적으로 전달한 간접 호출 시도 횟수입니다.
+ `RetryInvocationAttempts`는 이벤트 전송 재시도 횟수를 나타냅니다.

  `RetryInvocationAttempts`의 증가는 크기가 작은 대상의 초기 징후일 수 있습니다.

또한, 재시도 횟수가 증가하면 전송 문제의 첫 번째 징후가 될 수 있으므로, 모든 대상 간접 호출에 대한 성공적인 대상 간접 호출의 비율을 추적하는 단일 지표를 생성하는 것이 좋습니다. 예를 들어, CloudWatch에서는 다음 공식을 사용하여 `SuccessfulInvocationRate`라는 지표를 생성하는 지표 수학을 사용할 수 있습니다.

`SuccessfulInvocationRate` = `SuccessfulInvocationAttempts` / ` InvocationAttempts`

그런 다음, 요구 사항에 따라 특정 임곗값에 도달하면 알림을 생성하도록 CloudWatch 경보를 구성할 수 있습니다.

일시적인 트래픽 급증 또는 간접 호출 오류로 인해 `SuccessfulInvocationRate`가 가끔씩 감소하는 것은 정상으로 간주될 수 있지만, 지속적인 불일치는 잘못 구성된 대상을 나타내는 것이므로 공동 책임 모델의 일부로 해결해야 합니다.

지표 수학에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*에서 [CloudWatch 지표에 수학 표현식 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)을 참조하세요.

기본적으로 EventBridge는 24시간 동안 최대 185회까지 이벤트 전송을 재시도합니다. EventBridge는 이러한 재시도 횟수를 소진한 후, 이벤트를 삭제하거나 Dead Letter Queue(DLQ)가 지정된 경우 해당 DLQ로 전송합니다. 자세한 내용은 [이벤트 전송 재시도](eb-rule-retry-policy.md) 단원을 참조하십시오. 이벤트가 전달되지 않아 손실되는 것을 방지하려면, 각 규칙 대상에 대해 Dead Letter Queue(DLQ)를 구성하는 것이 좋습니다. 자세한 내용은 [DLQ(Dead Letter Queue) 사용](eb-rule-dlq.md) 섹션을 참조하세요.

EventBridge가 지정된 대상에 전달하지 못하는 이벤트는 대상에 대한 Dead Letter Queue(DLQ)를 구성한 경우 `FailedInvocations` 지표와 `InvocationsSentToDlq` 지표에 보고됩니다. 애플리케이션에 `FailedInvocations` 또는 `InvocationsSentToDlq` 보고의 수가 많은 경우, 대상의 규모가 적절하게 조정되고 지정된 트래픽을 수신할 수 있는지 조사하는 것이 좋습니다.

## 이벤트 전송 지연 감지
<a name="eb-monitoring-events-best-practices-delivery-latency"></a>

또한 EventBridge는 이벤트 수집부터 대상에 성공적으로 전송하기까지 걸리는 시간, 즉 엔드 투 엔드 지연 시간을 관찰할 수 있는 지표를 제공합니다. 이는 `IngestionToInvocationSuccessLatency` 지표를 통해 달성할 수 있습니다. 이 지표는 예를 들어, 시간 초과 및 대상의 느린 응답으로 인해 재시도 및 전송 지연에서 기인하는 영향을 드러냅니다. `IngestionToInvocationSuccessLatency`에는 대상이 이벤트 전송에 성공적으로 응답하는 데 걸리는 시간이 포함됩니다. 이를 통해 EventBridge와 대상 간의 엔드 투 엔드 지연 시간을 모니터링하고, 대상 스로틀링이나 오류가 없더라도 대상의 성능 변동 및 저하를 감지할 수 있습니다.

# EventBridge는 Amazon CloudWatch Events의 진화입니다.
<a name="eb-cwe-now-eb"></a>

이전에는 EventBridge를 Amazon CloudWatch Events라고 했습니다. 기본 이벤트 버스와 CloudWatch Events에서 생성한 규칙은 EventBridge 콘솔에도 표시됩니다. EventBridge는 동일한 CloudWatch Events API를 사용하므로 CloudWatch Events API를 사용하는 코드는 동일하게 유지됩니다.

EventBridge는 CloudWatch Events의 기능을 기반으로 파트너 이벤트, 스키마 레지스트리, EventBridge 파이프와 같은 기능을 제공합니다. EventBridge에 추가된 새 기능은 CloudWatch Events에 추가되지 않습니다. 자세한 내용은 [Amazon EventBridge란 무엇인가요?](eb-what-is.md) 섹션을 참조하세요.

CloudWatch Events에서 사용하던 모든 기능을 EventBridge에서도 사용할 수 있습니다. 여기에는 다음이 포함됩니다.
+ [Amazon EventBridge의 이벤트 버스](eb-event-bus.md)
+ [Amazon EventBridge의 규칙](eb-rules.md)
+ [Amazon EventBridge의 이벤트](eb-events.md)
+ [AWS 서비스의 이벤트](eb-events.md#eb-service-event)

이벤트 기능을 구축하고 확장하는 EventBridge 기능은 다음과 같습니다.
+ [Amazon EventBridge를 사용해 SaaS 파트너로부터 이벤트 수신](eb-saas.md)
+ [Amazon EventBridge Pipes](eb-pipes.md)
+ [Amazon EventBridge 스키마](eb-schema.md)
+ [Amazon EventBridge Scheduler](using-eventbridge-scheduler.md)