---
title: AWS App Runner
description: >-
  Quick, easy, and cost-effective deployment from source code or container
  images.
breadcrumbs: Docs > Integrations > AWS App Runner
---

# AWS App Runner

## Overview{% #overview %}

AWS App Runner enables you to deploy an application from source code or a container image to AWS.

Enable this integration to see all your App Runner metrics in Datadog.

## Setup{% #setup %}

### Installation{% #installation %}

If you haven't already, set up the [Amazon Web Services integration](https://docs.datadoghq.com/integrations/amazon_web_services/) first.

### Metric collection{% #metric-collection %}

1. In the [AWS integration page](https://app.datadoghq.com/integrations/amazon-web-services), ensure that `AppRunner`is enabled under the `Metric Collection` tab.
1. Install the [Datadog - AWS App Runner integration](https://app.datadoghq.com/integrations/amazon-app-runner).

### Log collection{% #log-collection %}

There are two types of logs you can integrate with Datadog from your applications managed by AWS App Runner. These logs are sent to CloudWatch under two different log groups. The first is the service log group that captures all lifecycle activity logs for your App Runner service such as application builds and deployments. The second is the application log group that contains log output from the code of your running application.

#### Send logs to Datadog{% #send-logs-to-datadog %}

1. If you haven't already, set up the [Datadog Forwarder Lambda function](https://docs.datadoghq.com/logs/guide/forwarder/).
1. Once the Lambda function is installed, manually add a trigger on the App Runner service or application CloudWatch log group in the AWS console:
   {% image
      source="https://datadog-docs.imgix.net/images/integrations/amazon_cloudwatch/cloudwatch_log_collection_1.1d2f689a3036a332f99cb7fc393263b4.png?auto=format"
      alt="cloudwatch log group" /%}
Select the corresponding CloudWatch Log group, add a filter name (but feel free to leave the filter empty) and add the trigger:
   {% image
      source="https://datadog-docs.imgix.net/images/integrations/amazon_cloudwatch/cloudwatch_log_collection_2.a61a759067e14e87fef7b3bc0d628bd5.png?auto=format"
      alt="cloudwatch trigger" /%}
1. Repeat step 2 to add the additional log group.
1. Once done, go in your [Datadog Log section](https://app.datadoghq.com/logs) to start exploring your logs!

### Event collection{% #event-collection %}

AWS App Runner sends both service and operation status change events to EventBridge, which you can forward to Datadog for viewing in the [Event Stream](https://app.datadoghq.com/event/stream). To send these events to Datadog, do the following:

1. Create an [EventBridge API Destination for Datadog Events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destination-partners.html#eb-api-destination-datadog).
1. Create an EventBridge rule to act on AWS App Runner events (see [Handling App Runner events in EventBridge](https://docs.aws.amazon.com/apprunner/latest/dg/monitor-ev.html)). Choose the API Destination as the target.
1. Start viewing new status change events in the Datadog Event Stream.

## Data Collected{% #data-collected %}

### Metrics{% #metrics %}

|  |
|  |
| **aws.apprunner.2xx\_status\_responses**(count) | The number of 2XX HTTP responses.*Shown as response*                                                 |
| **aws.apprunner.4xx\_status\_responses**(count) | The number of 4XX HTTP responses.*Shown as response*                                                 |
| **aws.apprunner.5xx\_status\_responses**(count) | The number of 5XX HTTP responses.*Shown as response*                                                 |
| **aws.apprunner.active\_instances**(gauge)      | The number of active instances.*Shown as instance*                                                   |
| **aws.apprunner.cpuutilization**(gauge)         | Average CPU usage over one-minute periods.*Shown as percent*                                         |
| **aws.apprunner.memory\_utilization**(gauge)    | Average memory usage over one-minute periods.*Shown as percent*                                      |
| **aws.apprunner.request\_latency**(gauge)       | The time it took your web service to process HTTP requests.*Shown as millisecond*                    |
| **aws.apprunner.request\_latency.p50**(gauge)   | 50th percentile of the time it took your web service to process HTTP requests.*Shown as millisecond* |
| **aws.apprunner.request\_latency.p95**(gauge)   | 95th percentile of the time it took your web service to process HTTP requests.*Shown as millisecond* |
| **aws.apprunner.request\_latency.p99**(gauge)   | 99th percentile of the time it took your web service to process HTTP requests.*Shown as millisecond* |
| **aws.apprunner.requests**(count)               | The number of HTTP requests that the service received.*Shown as request*                             |

### Events{% #events %}

The AWS App Runner integration supports both service and operation status change events from EventBridge.

### Service Checks{% #service-checks %}

The AWS App Runner integration does not include any service checks.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/).
