# Grafana Alloy (/docs/foundation/components/grafana-alloy)



## Component Category [#component-category]

Monitoring and debugging / telemetry collection

## Component Description [#component-description]

Grafana Alloy is a telemetry collector that can gather, process, and forward logs, metrics, traces, and related signals.

## Why It Is Used [#why-it-is-used]

In BullSequana AI Foundation, Alloy collects pod logs, applies tenant routing, and receives OpenTelemetry signals before sending them to the observability backends.

## Learn More [#learn-more]

* [Grafana Alloy documentation](https://grafana.com/docs/alloy/latest/)
* [grafana/alloy on GitHub](https://github.com/grafana/alloy)

## Deployment notes [#deployment-notes]

Alloy v1.12.2 runs per node to collect pod standard output and error. It parses each log body as JSON and, when a non-empty top-level `tenant_id` is present, uses that value as the Loki tenant for that entry. Non-JSON logs and JSON entries without `tenant_id` use the `platform` fallback.

A separate Alloy gateway receives application telemetry over OTLP/gRPC and OTLP/HTTP. It sends traces to Tempo, metrics to Prometheus, and logs to Loki under the `platform` tenant. KServe controller and model-workload metrics are scraped by this gateway; KServe is not configured as a general OTLP trace or log source.

## Interacts With [#interacts-with]

* `Grafana Loki`, which receives tenant-partitioned log streams collected by Alloy.
* `Grafana Tempo`, which receives traces routed through the Alloy gateway.
* `Prometheus`, which scrapes Alloy metrics through the service monitor setup.
* Kubernetes workloads across the platform, because Alloy runs as a daemonset and collects node and pod-level telemetry.
