Infrastructure Monitoring
OpsPilot collects infrastructure metrics, logs, and traces using Grafana Alloy — a lightweight, vendor-neutral collector that runs on your hosts and pipelines telemetry signals to OpsPilot in a single agent.
Grafana Alloy is the recommended approach for infrastructure monitoring. It replaces the need for separate scraping agents by combining metric collection, log tailing, and trace forwarding into one configurable pipeline.
What is Grafana Alloy?
Grafana Alloy is an OpenTelemetry-compatible collector built on the Grafana Agent Flow architecture. It uses a component-based configuration model where you chain together sources, processors, and exporters to define exactly how telemetry flows through your infrastructure.
Key features:
- Scrapes Prometheus-compatible metrics from exporters and services
- Tails and forwards log files using Loki-compatible pipelines
- Receives and forwards traces via OTLP
- Runs on Linux, Windows, macOS, Kubernetes, and Docker
- Supports auto-discovery of targets in dynamic environments
Kubernetes
Alloy is the recommended way to collect infrastructure telemetry from Kubernetes clusters. Deploy it as a DaemonSet to collect node-level metrics and logs, or as a Deployment for cluster-level scraping.
What it collects
| Signal | Source |
|---|---|
| Node metrics | cAdvisor, kubelet /metrics, Node Exporter |
| Pod/container logs | /var/log/pods/ via loki.source.kubernetes |
| Cluster metrics | kube-state-metrics |
| Traces | OTLP receiver forwarded from instrumented workloads |
Deployment options
- Helm chart — the Grafana k8s-monitoring Helm chart bundles Alloy with pre-built pipelines for all signal types
- Operator — the Grafana Agent Operator manages Alloy deployments via Kubernetes CRDs
- Manual manifest — deploy Alloy directly using a DaemonSet manifest and configure it with a ConfigMap
Cloud providers
Alloy can be deployed on cloud VMs and managed services to collect infrastructure signals alongside your application telemetry.
AWS
| What to collect | How |
|---|---|
| EC2 instance metrics | Node Exporter + Alloy on each instance |
| RDS / Aurora metrics | prometheus.scrape targeting the RDS exporter |
| CloudWatch metrics | otelcol.receiver.awscloudwatch component (via OTel Collector) |
| Application logs | loki.source.file tailing CloudWatch-synced log files or direct file tailing on instances |
GCP
| What to collect | How |
|---|---|
| GCE instance metrics | Node Exporter + Alloy on each VM |
| GKE cluster metrics | Alloy DaemonSet with kubelet + cAdvisor scraping |
| Cloud Logging | Export logs to a Pub/Sub topic and consume via otelcol.receiver.googlecloudpubsub |
Azure
| What to collect | How |
|---|---|
| Azure VM metrics | Node Exporter + Alloy on each VM or VMSS instance |
| AKS cluster metrics | Alloy DaemonSet (same as standard Kubernetes setup) |
| Azure Monitor metrics | otelcol.receiver.azuremonitor component |
Other environments
Alloy runs anywhere you can install a binary or container:
- Bare metal / on-premise — install Alloy as a systemd service on Linux or a Windows service, point it at your exporters and log files
- Docker / Docker Compose — run Alloy as a sidecar or standalone container with a mounted config file
- VMs (any cloud) — deploy via your standard provisioning tooling (Ansible, Terraform, cloud-init)
Getting started with Alloy
- Install Grafana Alloy on your target hosts
- Configure an Alloy pipeline for your signals — see the Grafana Alloy shipping guide for OpsPilot-specific configuration
- Point the OTLP exporter at your OpsPilot endpoint using your API key
- Verify data is flowing in the Overview page
Tip
The OTel Collector is a valid alternative if you are already running a collector fleet or prefer the standard OpenTelemetry distribution.
Need more help?
Contact support in the chat bubble and let us know how we can assist.