AWS CodeBuild monitoring

Dynatrace ingests metrics for multiple preselected namespaces, including AWS CodeBuild. You can view metrics for each service instance, split metrics into multiple dimensions, and create custom charts that you can pin to your dashboards.

Prerequisites

To enable monitoring for this service, you need

  • An Environment or Cluster ActiveGate version 1.197+
    Note: For role-based access (whether in a SaaS or Managed deployment), you need an Environment ActiveGate installed on an AWS EC2 host.
  • Dynatrace version 1.201+
  • An updated AWS monitoring policy to include the additional AWS services.

To update the AWS IAM policy, use the JSON below, containing the monitoring policy (permissions) for all supporting services.

If you don't want to add permissions to all services, and just select permissions for certain services, consult the table below. The table contains a set of permissions that are required for all services (All monitored Amazon services) and, for each supporting service, a list of optional permissions specific to that service.

Example of JSON policy for one single service.

In this example, from the complete list of permissions you need to select

  • "apigateway:GET" for Amazon API Gateway
  • "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "sts:GetCallerIdentity", "tag:GetResources", "tag:GetTagKeys", and "ec2:DescribeAvailabilityZones" for All monitored Amazon services.

Enable monitoring

To enable monitoring for this service, you first need to integrate Dynatrace with Amazon Web Services:

Add the service to monitoring

In order to view the service metrics, you must add the service to monitoring in your Dynatrace environment.

Cloud-service monitoring consumption

As of 2021, all cloud services consume Davis data units (DDUs). The amount of DDU consumption per service instance depends on the number of monitored metrics and their dimensions (each metric dimension results in the ingestion of 1 data point; 1 data point consumes 0.001 DDUs).

Monitor resources based on tags

You can choose to monitor resources based on existing AWS tags, as Dynatrace automatically imports them from service instances. Nevertheless, the transition from AWS to Dynatrace tagging isn't supported for all AWS services. Expand the table below to see which supporting services are filtered by tagging.

To monitor resources based on tags

  1. In the Dynatrace menu, go to Settings > Cloud and virtualization > AWS and select Edit for the desired AWS instance.
  2. For Resources to be monitored, select Monitor resources selected by tags.
  3. Enter the Key and Value.
  4. Select Save.

Configure service metrics

Once you add a service, Dynatrace starts automatically collecting a suite of metrics for this particular service. These are recommended metrics.

Recommended metrics:

  • Are enabled by default
  • Can't be disabled
  • Can have recommended dimensions (enabled by default, can't be disabled)
  • Can have optional dimensions (disabled by default, can be enabled)

Apart from the recommended metrics, most services have the possibility of enabling optional metrics.

Optional metrics:

  • Can be added and configured manually

View service metrics

You can view the service metrics in your Dynatrace environment either on the custom device overview page or on your Dashboards page.

View metrics on the custom device overview page

To access the custom device overview page

  1. In the Dynatrace menu, go to Technologies and processes.
  2. Filter by service name and select the relevant custom device group.
  3. Once you select the custom device group, you're on the custom device group overview page.
  4. The custom device group overview page lists all instances (custom devices) belonging to the group. Select an instance to view the custom device overview page.

View metrics on your dashboard

After you add the service to monitoring, a preset dashboard containing all recommended metrics is automatically listed on your Dashboards page. To look for specific dashboards, filter by Preset and then by Name.
aws-presets
Note: For existing monitored services, you might need to resave your credentials for the preset dashboard to appear on the Dashboards page. To resave your credentials, go to Settings > Cloud and virtualization > AWS, select the desired AWS instance, and then select Save.

You can't make changes on a preset dashboard directly, but you can clone and edit it. To clone a dashboard, open the browse menu () and select Clone.
To remove a dashboard from the dashboards page, you can hide it. To hide a dashboard, open the browse menu () and select Hide.
Note: Hiding a dashboard doesn't affect other users. clone-hide-aws

To check the availability of preset dashboards for each AWS service, see the list below.

codebuild

Available metrics

Name Description Unit Statistics Dimensions Recommended
BuildDuration Measures the duration of the build's BUILD phase Seconds Multi Region
BuildDuration Seconds Multi ProjectName ✔️
Builds Measures the number of builds triggered Count Sum Region ✔️
Builds Count Sum ProjectName ✔️
CPUUtilized The number of CPU units of allocated processing used by the build container None Multi ProjectName
CPUUtilized None Multi ProjectName, BuildId, BuildNumber
CPUUtilizedPercent The percentage of allocated processing used by the build container Percent Multi ProjectName
CPUUtilizedPercent Percent Multi ProjectName, BuildId, BuildNumber ✔️
DownloadSourceDuration Measures the duration of the build's DOWNLOAD_SOURCE phase Seconds Multi Region
DownloadSourceDuration Seconds Multi ProjectName
Duration Measures the duration of all builds over time Seconds Multi Region
Duration Seconds Multi ProjectName ✔️
FailedBuilds Measures the number of builds that failed because of client error or a timeout Count Sum Region ✔️
FailedBuilds Count Sum ProjectName ✔️
FinalizingDuration Measures the duration of the build's FINALIZING phase Seconds Multi Region
FinalizingDuration Seconds Multi ProjectName
InstallDuration Measures the duration of the build's INSTALL phase Seconds Multi Region
InstallDuration Seconds Multi ProjectName
MemoryUtilized The number of megabytes of memory used by the build container Megabytes Multi ProjectName
MemoryUtilized Megabytes Multi ProjectName, BuildId, BuildNumber
MemoryUtilizedPercent The percentage of allocated memory used by the build container Percent Multi ProjectName
MemoryUtilizedPercent Percent Multi ProjectName, BuildId, BuildNumber ✔️
PostBuildDuration Measures the duration of the build's POST_BUILD phase Seconds Multi Region
PostBuildDuration Seconds Multi ProjectName
PreBuildDuration Measures the duration of the build's PRE_BUILD phase Seconds Multi Region
PreBuildDuration Seconds Multi ProjectName
ProvisioningDuration Measures the duration of the build's PROVISIONING phase Seconds Multi Region
ProvisioningDuration Seconds Multi ProjectName
QueuedDuration Measures the duration of the build's QUEUED phase Seconds Multi Region
QueuedDuration Seconds Multi ProjectName ✔️
StorageReadBytes The storage read speed used by the build container Bytes/Second Multi ProjectName
StorageReadBytes Bytes/Second Multi ProjectName, BuildId, BuildNumber ✔️
StorageWriteBytes The storage write speed used by the build container Bytes/Second Multi ProjectName
StorageWriteBytes Bytes/Second Multi ProjectName, BuildId, BuildNumber ✔️
SubmittedDuration Measures the duration of the build's SUBMITTED phase Seconds Multi Region
SubmittedDuration Seconds Multi ProjectName
SucceededBuilds Measures the number of successful builds Count Sum Region ✔️
SucceededBuilds Count Sum ProjectName ✔️
UploadArtifactsDuration Measures the duration of the build's UPLOAD_ARTIFACTS phase Seconds Multi Region
UploadArtifactsDuration Seconds Multi ProjectName