Set up, configure, and troubleshoot Grafana Cloud integrations for AWS, Azure, and other cloud providers. Use when the user asks to connect AWS CloudWatch, set up Azure Monitor, configure Confluent Cloud observability, install a Grafana integration, set up hosted exporters, use AWS Firehose for CloudWatch logs, or troubleshoot a cloud integration. Triggers on phrases like "AWS CloudWatch", "Azure Monitor", "Confluent integration", "cloud integration", "hosted exporter", "AWS Firehose", "install
cloud-integrations helps set up, configure, and troubleshoot Grafana Cloud integrations for cloud providers, connecting provider monitoring APIs to a Grafana stack without running your own exporters. It solves the problem of getting cloud metrics and logs into Grafana Cloud via hosted exporters that scrape provider APIs on your behalf and push data to your stack, or via a streaming path for lower latency.
The skill documents supported hosted exporters — AWS CloudWatch (all namespaces via YACE), Azure Monitor (via the Azure Monitor API), Confluent Cloud (Kafka metrics via the Confluent Metrics API), and a generic Prometheus-format HTTP endpoint — plus the AWS Firehose receiver for near-real-time CloudWatch metrics and logs via Kinesis Firehose. It provides step-by-step setup: navigating Connections in Grafana Cloud, the minimum AWS IAM policy (GetMetricData, GetMetricStatistics, ListMetrics, tag:GetResources, and EC2 describe permissions), the polling versus Firehose streaming options with Terraform for the metric stream and delivery stream, Azure service-principal creation with the Monitoring Reader role, and Confluent Metrics API key creation with the MetricsViewer role. It then covers verification — querying job labels in Explore, checking label arrival via the Prometheus endpoint, and reading integration health indicators (last successful scrape, series count, error rate) — and points to pre-built dashboards and alerts. All credentials (AWS access keys, Azure client secrets, Confluent keys, API tokens) are presented as standard setup instructions with placeholders, following least-privilege roles.
It targets platform engineers, SREs, and observability teams onboarding cloud telemetry into Grafana Cloud. Use cases include connecting AWS CloudWatch, setting up Azure Monitor, configuring Confluent Cloud observability, choosing between polling and Firehose streaming, and troubleshooting a failing integration.
Hosted exporters for AWS CloudWatch (via YACE), Azure Monitor, Confluent Cloud, and any generic Prometheus-format HTTP endpoint, plus an AWS Firehose receiver for near-real-time CloudWatch metrics and logs via Kinesis Firehose.
A minimum IAM policy allowing cloudwatch:GetMetricData, GetMetricStatistics, and ListMetrics, tag:GetResources, and ec2:DescribeInstances and DescribeRegions, attached to an IAM user or a cross-account role.
The hosted exporter polls the CloudWatch API roughly every 60s with about 1–5 minutes latency; the Firehose receiver streams CloudWatch Metric Streams and Logs subscriptions through Kinesis Firehose for near-real-time, lower-latency delivery.
Query the integration's job label in Grafana Explore (for example integrations/cloudwatch), check label arrival via the stack's Prometheus labels endpoint, and review health indicators — last successful scrape within ~2 minutes, non-zero stable series count, and 0% error rate — under Connections > [Integration] > Status.
For Azure, a service principal with the Monitoring Reader role on the target subscriptions (tenant, client ID, client secret). For Confluent, a Metrics API key (not a Kafka key) with the MetricsViewer role.
Quick Setup:
.claude/skills/Repository
grafana/skills