You will set up one central account that can see the agent traces and metrics from every other account. AWS calls this cross-account observability: the central account makes a sink, each team account makes a link to it, then one console shows everything. Terms: monitoring account = the central one; source account = a team's account; OAM = Observability Access Manager (the sink/link plumbing); StackSets = deploy one template to many accounts at once.
# CloudFormation, in the central monitoring account Resources: ObservabilitySink: Type: AWS::Oam::Sink Properties: Name: AgentCoreObservabilitySink Policy: Version: '2012-10-17' Statement: - Effect: Allow Principal: '*' Action: ['oam:CreateLink', 'oam:UpdateLink'] Resource: '*' Condition: StringEquals: { aws:PrincipalOrgID: '<your-org-id>' } # all accounts in your org ForAllValues:StringEquals: oam:ResourceTypes: ['AWS::Logs::LogGroup', 'AWS::CloudWatch::Metric'] Outputs: SinkArn: { Value: !GetAtt ObservabilitySink.Arn } # share this ARN with source accounts
# CloudFormation, in every team (source) account Resources: ObservabilityLink: Type: AWS::Oam::Link Properties: LabelTemplate: '$AccountName' ResourceTypes: ['AWS::Logs::LogGroup', 'AWS::CloudWatch::Metric'] SinkIdentifier: '<sink-arn-from-monitoring-account>'