Skip to content

ObservabilityConfiguration

The ObservabilityConfiguration resource allows you to manage the observability settings for AWS AppRunner services, enabling you to configure tracing and monitoring features. For more information, visit the AWS AppRunner ObservabilityConfigurations documentation.

Minimal Example

Create a basic ObservabilityConfiguration with a trace configuration.

ts
import AWS from "alchemy/aws/control";

const basicObservabilityConfig = await AWS.AppRunner.ObservabilityConfiguration("basicObservabilityConfig", {
  ObservabilityConfigurationName: "BasicConfig",
  TraceConfiguration: {
    Vendor: "AWS_XRAY",
    SamplingRule: {
      Name: "DefaultSamplingRule",
      Priority: 100,
      FixedRate: 0.05,
      ReservoirSize: 100
    }
  },
  Tags: [
    { Key: "Environment", Value: "Development" },
    { Key: "Project", Value: "MyApp" }
  ]
});

Advanced Configuration

Configure an ObservabilityConfiguration with additional tracing options and multiple tags.

ts
const advancedObservabilityConfig = await AWS.AppRunner.ObservabilityConfiguration("advancedObservabilityConfig", {
  ObservabilityConfigurationName: "AdvancedConfig",
  TraceConfiguration: {
    Vendor: "AWS_XRAY",
    SamplingRule: {
      Name: "CustomSamplingRule",
      Priority: 200,
      FixedRate: 0.1,
      ReservoirSize: 200
    }
  },
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Project", Value: "MyApp" },
    { Key: "Team", Value: "DevOps" }
  ]
});

Adoption of Existing Resource

If you need to adopt an existing ObservabilityConfiguration instead of creating a new one, set the adopt property to true.

ts
const adoptExistingObservabilityConfig = await AWS.AppRunner.ObservabilityConfiguration("adoptExistingObservabilityConfig", {
  ObservabilityConfigurationName: "ExistingConfig",
  adopt: true
});