> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bronto.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon Bedrock AgentCore Logs, Metrics and Traces

> Route the OpenTelemetry logs, metrics and traces an agent emits on Amazon Bedrock AgentCore Runtime to Bronto — via an OTel Collector or directly over OTLP.

Agents running on [Amazon Bedrock AgentCore](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html) Runtime emit OpenTelemetry telemetry through a **managed pipeline** that, by default, delivers to **Amazon CloudWatch**. To send that telemetry to Bronto you disable the managed pipeline and export OTLP to Bronto — either directly from the runtime or through an OTel Collector.

Unlike log-only AWS services, there is no CloudWatch log group or Firehose stream to point at Bronto for the rich agent signal. The nested GenAI traces — model calls, token usage, tool calls, and prompt/response content — are produced by the agent framework's instrumentation running inside the runtime.

## Two requirements

<Steps>
  <Step title="Instrument your agent and disable the managed pipeline">
    Configure the OpenTelemetry SDK inside your agent and take AWS's managed observability out of the way (`agentcore configure --disable-otel` plus `DISABLE_ADOT_OBSERVABILITY=true` at runtime), so your own exporters own the signal. For the full setup — the trace/metric/log providers, GenAI attributes, and making prompt/response content searchable — see [Amazon Bedrock AgentCore observability with OpenTelemetry](/ai-features/aws-agentcore).
  </Step>

  <Step title="Export OTLP to Bronto">
    The instrumented runtime exports OTLP to an OTel Collector, which holds the Bronto credential and forwards each signal to Bronto. Where you don't operate a Collector, the runtime can export straight to Bronto with the credential in the request header.
  </Step>
</Steps>

## Recommended method

[**ADOT**](./aws-adot) — the AWS Distro for OpenTelemetry Collector — receives OTLP from your agent and forwards logs, metrics and traces to Bronto over OTLP/HTTP. The Collector holds the Bronto credential so it never lives in the runtime config, and it keeps routing consistent via `service.name` / `service.namespace` (see [Data Organization](/Search-and-Visualize/Partitions)). It is also where you add processors, sampling, or fan-out to multiple backends; the [Self-Managed OTel Collector](./aws-custom-otel) is the same pattern for full-control deployments.

Point the agent's OTLP exporters at the Collector (`OTEL_EXPORTER_OTLP_ENDPOINT`) rather than at Bronto directly. AgentCore's managed public network mode requires an internet-reachable endpoint; a proven pattern is ADOT on ECS Fargate behind a public HTTPS ALB. Use the Collector health endpoint (port `13133`) for the ALB health check, not the OTLP receiver on `4318`. See [Amazon Bedrock AgentCore observability with OpenTelemetry](/ai-features/aws-agentcore) for the SDK bootstrap and environment variables.

<Note>
  The fully-managed AgentCore Runtime does not host a Collector sidecar and cannot reach a private VPC-only Collector in its public network mode. Expose the Collector securely over HTTPS, or use direct export below.
</Note>

## LLM observability for AgentCore

For the agent-specific signal — nested agent-loop traces, per-model token usage, tool calls, and prompt/response content following the OpenTelemetry GenAI semantic conventions — see [Amazon Bedrock AgentCore observability](/ai-features/aws-agentcore) under AI assisted observability.

## Alternatives

* **Direct OTLP export from the runtime** — for the fully-managed runtime with no Collector to hand, or for short-lived jobs, export OTLP straight to Bronto: set `OTEL_EXPORTER_OTLP_ENDPOINT` to the Bronto ingestion base and inject the `x-bronto-api-key` header, sourced from [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/) at startup. No Collector, VPC, NAT, or sidecar is required — the agent's telemetry ships at full fidelity straight from the runtime.
* **Keep the managed CloudWatch pipeline** — if you leave AgentCore's default observability enabled, its telemetry lands in CloudWatch; you can then forward those log groups with the [CloudWatch Log Forwarder](./aws-client-cloudwatch). This is a fallback: it does not preserve the nested trace fidelity that exporting OTLP to Bronto gives you.

See [Ingesting AWS Data into Bronto](./aws-overview) for the full service-to-method mapping.

## References

* [Amazon Bedrock AgentCore observability](/ai-features/aws-agentcore)
* [Amazon Bedrock AgentCore documentation](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html)
* [AWS Distro for OpenTelemetry](https://aws-otel.github.io/)
* [OpenTelemetry GenAI semantic conventions](https://github.com/open-telemetry/semantic-conventions-genai/blob/main/docs/gen-ai/gen-ai-spans.md)
