

# Logging and monitoring Amazon EventBridge Pipes using Amazon CloudWatch Logs
<a name="eb-pipes-monitoring"></a>

You can log EventBridge Pipes invocations using CloudTrail and monitor the health of your pipes using CloudWatch metrics.

## CloudWatch metrics
<a name="pipes-monitoring-cloudwatch"></a>

EventBridge Pipes sends metrics to Amazon CloudWatch every minute for everything from a pipe executions being throttled to a target successfully being invoked.

**Best-effort CloudWatch metrics delivery**  
CloudWatch metrics are delivered on a best-effort basis. Most EventBridge Pipes operations result in a data point being sent to CloudWatch. The completeness and timeliness of metrics are not guaranteed. A data point for a given minute might be delayed before being available through CloudWatch, or it might not be delivered at all. CloudWatch metrics give you an idea of the nature of activity in near-real time. They are not meant to be a complete accounting of all operations.


| Metric | Description | Dimensions | Units | 
| --- | --- | --- | --- | 
| `Concurrency` | The number of concurrent executions of a pipe. | AwsAccountId | None | 
| `Duration` | Length of time the pipe execution took. | PipeName | Milliseconds | 
| `EventCount` | The number of events a pipe has processed. | PipeName | None | 
| `EventSize` | The size of the payload of the event that invoked the pipe. | PipeName | Bytes | 
| `ExecutionThrottled` | How many executions of a pipe were throttled. This value will be `0` if no executions were throttled.  | AwsAccountId, PipeName | None | 
| `ExecutionTimeout` | How many executions of a pipe timed out before completing execution. This value will be `0` if no executions timed out.  | PipeName | None | 
| `ExecutionFailed` | How many executions of a pipe failed. This value will be `0` if no executions failed.  | PipeName | None | 
| `ExecutionPartiallyFailed` | How many executions of a pipe partially failed. This value will be `0` if no executions partially failed.  | PipeName | None | 
| `EnrichmentStageDuration` | How long the enrichment stage took to complete. | PipeName | Milliseconds | 
| `EnrichmentStageFailed` | How many executions of a pipe's enrichment stage failed. This value will be `0` if no executions failed.  | PipeName | None | 
| `Invocations` | Total number of invocations. | AwsAccountId, PipeName | None | 
| `TargetStageDuration` | How long the target stage took to complete. | PipeName | Milliseconds | 
| `TargetStageFailed` | How many executions of a pipe's target stage failed. This value will be `0` if no executions failed.  | PipeName | None | 
| `TargetStagePartiallyFailed` | How many executions of a pipe's target stage partially failed. This value will be `0` if no target stage executions partially failed.  | PipeName | None | 
| `TargetStageSkipped` | How many executions of a pipe's target stage were skipped (for example, due to the enrichment returning an empty payload). | PipeName | Count | 

## Dimensions for CloudWatch metrics
<a name="pipes-monitoring-cloudwatch-dimensions"></a>

CloudWatch metrics have *dimensions*, or sortable attributes, which are listed below.


|  Dimension  |  Description  | 
| --- | --- | 
|  AwsAccountId  | Filters the available metrics by account ID. | 
|  PipeName  | Filters the available metrics by pipe name. | 