opção
LarLar Skill Infraestrutura em nuvem cloud-integrations

cloud-integrations

grafana/skills grafana/skills

Configurar, ajustar e solucionar problemas nas integrações do Grafana Cloud com AWS, Azure e outros provedores de nuvem. Utilizar quando o usuário solicitar conectar ao AWS CloudWatch, configurar o Azure Monitor, ajustar a funcionalidade de observabilidade do Confluent Cloud, instalar uma integração do Grafana, configurar exportadores hospedados, usar o AWS Firehose para logs do CloudWatch ou resolver problemas em alguma integração de nuvem. É acionado em frases como “AWS CloudWatch”, “Azure Monitor”, “integração Confluent”, “integração de nuvem”, “exportador hospedado”, “AWS Firehose” e “instalar”.

...Expandir tudo
12
Tempo atualizado 25 de Agosto de 2026

Sobre integrações em nuvem

O cloud-integrations auxilia na configuração, ajuste e solução de problemas das integrações do Grafana Cloud com provedores de nuvem, conectando as APIs de monitoramento dos provedores a um ambiente Grafana sem a necessidade de utilizar exportadores próprios. Ele resolve o desafio de inserir métricas e logs da nuvem no Grafana Cloud por meio de exportadores hospedados, que coletam dados das APIs dos provedores em nome do usuário e os enviam ao ambiente, ou por meio de um fluxo de transmissão em tempo real para reduzir a latência.

Os documentos técnicos abordam exportadores hospedados como o AWS CloudWatch (todos os namespaces por meio de YACE), Azure Monitor (por meio da API do Azure Monitor), Confluent Cloud (métricas do Kafka por meio da API Confluent Metrics), além de um endpoint HTTP no formato Prometheus genérico. Também são mencionados o receptor AWS Firehose para métricas e logs do CloudWatch em tempo quase real, via Kinesis Firehose. São fornecidas instruções passo a passo: como navegar nas conexões no Grafana Cloud, qual política mínima do AWS IAM é necessária (GetMetricData, GetMetricStatistics, ListMetrics, tag:GetResources e permissões EC2 describe), as opções de coleta periódica versus transmissão por Firehose com Terraform para o fluxo de métricas e o fluxo de entrega, como criar um service principal do Azure com a função Monitoring Reader, e como gerar uma chave da API Confluent Metrics com a função MetricsViewer. O material também aborda a verificação — consultando as etiquetas das tarefas no Explore, conferindo a chegada das etiquetas por meio do endpoint Prometheus e analisando indicadores de saúde da integração (última coleta bem-sucedida, número de séries e taxa de erros) — além de indicar painéis e alertas prontos para uso. Todas as credenciais (chaves de acesso do AWS, segredos do cliente do Azure, chaves da Confluent e tokens de API) são apresentadas como instruções padrão de configuração, com placeholders, seguindo o princípio do menor privilégio possível.

O material é voltado para engenheiros de plataforma, SREs e equipes de observabilidade que desejam integrar dados de telemetria da nuvem ao Grafana Cloud. Os casos de uso incluem conexão com o AWS CloudWatch, configuração do Azure Monitor, ajuste das funcionalidades de observabilidade do Confluent Cloud, escolha entre coleta periódica e transmissão por Firehose, e solução de problemas em integrações que não estão funcionando corretamente.

Perguntas frequentes

Quais provedores de nuvem e fontes são suportados?

Exportadores hospedados para AWS CloudWatch (por meio de YACE), Azure Monitor, Confluent Cloud e qualquer endpoint HTTP no formato Prometheus genérico, além de um receptor AWS Firehose para métricas e logs do CloudWatch em tempo quase real, via Kinesis Firehose.

Quais permissões do AWS são necessárias?

Uma política IAM mínima que permita as ações cloudwatch:GetMetricData, GetMetricStatistics e ListMetrics, tag:GetResources, bem como ec2:DescribeInstances e DescribeRegions, associada a um usuário IAM ou a uma função entre contas.

Qual é a diferença entre o exportador hospedado e o receptor Firehose?

O exportador hospedado faz consultas à API do CloudWatch a cada aproximadamente 60 segundos, com uma latência de 1 a 5 minutos; já o receptor Firehose transmite os dados dos CloudWatch Metric Streams e Logs por meio do Kinesis Firehose, oferecendo entrega em tempo quase real com menor latência.

Como verificar se uma integração está funcionando?

Consulte a etiqueta da tarefa da integração no Explore do Grafana (por exemplo, integrations/cloudwatch), verifique a chegada das etiquetas por meio do endpoint de etiquetas Prometheus do ambiente e analise os indicadores de saúde — última coleta bem-sucedida em aproximadamente 2 minutos, número positivo de séries estáveis e taxa de erros de 0% — em Connections > [Integration] > Status.

Quais credenciais do Azure e da Confluent são necessárias?

Para o Azure, é preciso um service principal com a função Monitoring Reader nas assinaturas-alvo (tenant, client ID e client secret). Para a Confluent, é necessária uma chave da API Metrics (não uma chave Kafka) com a função MetricsViewer.

Ver no GitHub

Grafana Cloud Integrations connect cloud provider monitoring APIs to your Grafana stack withoutrunning your own exporters. Hosted exporters scrape cloud APIs on your behalf and push metricsto your Grafana Cloud stack.

Supported hosted exporters:

  • AWS CloudWatch - all CloudWatch namespaces via YACE (Yet Another CloudWatch Exporter)
  • Azure Monitor - Azure resource metrics via the Azure Monitor API
  • Confluent Cloud - Kafka cluster metrics via the Confluent Metrics API
  • Generic HTTP endpoint - any Prometheus-format /metrics endpoint behind auth

AWS Firehose receiver - ingests CloudWatch Logs and Metrics Streams pushed via KinesisFirehose (near real-time, lower latency than API scraping).

Step 1: Navigate to Connections

In Grafana Cloud: Connections > Add new connection (or Connections > Cloud Provider).

Available paths:

  • AWS CloudWatch - hosted exporter + optional Firehose receiver
  • Azure Monitor - hosted exporter
  • Confluent Cloud - hosted exporter
  • All integrations - full catalog including Linux, MySQL, Kubernetes, etc.

Step 2: AWS CloudWatch integration

Option A: Hosted exporter (polling)

The hosted exporter scrapes CloudWatch API every 60s. Latency: ~1-5 minutes.

Required IAM permissions (minimum):

{  "Version": "2012-10-17",  "Statement": [    {      "Effect": "Allow",      "Action": [        "cloudwatch:GetMetricData",        "cloudwatch:GetMetricStatistics",        "cloudwatch:ListMetrics",        "tag:GetResources",        "ec2:DescribeInstances",        "ec2:DescribeRegions"      ],      "Resource": "*"    }  ]}

Setup steps:

  1. Create an IAM user or role with the policy above
  2. Generate an access key pair (for IAM user) or configure cross-account role assumption
  3. In Grafana Cloud: Connections > AWS > Configure hosted exporter
  4. Enter: AWS Access Key ID, Secret Access Key, region(s), CloudWatch namespaces to scrape
  5. Grafana provisions the exporter and begins scraping within 2-3 minutes

Supported namespaces: EC2, RDS, ELB/ALB, S3, Lambda, ECS, SQS, SNS, ElastiCache,Kinesis, DynamoDB, and 50+ others.

Option B: AWS Firehose receiver (streaming)

Near-real-time metrics and logs via CloudWatch Metric Streams and CloudWatch Logs subscriptions.

Architecture:

CloudWatch Metric Streams → Kinesis Firehose → Grafana Cloud Firehose ReceiverCloudWatch Logs (subscription filter) → Kinesis Firehose → Grafana Cloud Firehose Receiver

Setup:

  1. In Grafana Cloud: Connections > AWS > Firehose receiver
  2. Grafana provides an HTTPS endpoint URL and access token
  3. In AWS, create a Kinesis Firehose delivery stream:
    • Destination: HTTP endpoint
    • Endpoint URL: (from step 2)
    • Access key: (from step 2)
    • Content encoding: GZIP
  4. Create a CloudWatch Metric Stream pointing at the Firehose stream:
    • Output format: OpenTelemetry 1.0
    • Namespaces: select or include all
  5. For logs: add a CloudWatch Logs subscription filter pointing at the Firehose stream

Terraform for Firehose setup:

resource "aws_cloudwatch_metric_stream" "grafana_cloud" {  name          = "grafana-cloud-metrics"  role_arn      = aws_iam_role.firehose_role.arn  firehose_arn  = aws_kinesis_firehose_delivery_stream.grafana.arn  output_format = "opentelemetry1.0"  # Optionally scope to specific namespaces  # include_filter { namespace = "AWS/EC2" }  # include_filter { namespace = "AWS/RDS" }}resource "aws_kinesis_firehose_delivery_stream" "grafana" {  name        = "grafana-cloud-stream"  destination = "http_endpoint"  http_endpoint_configuration {    url            = var.grafana_firehose_endpoint    access_key     = var.grafana_firehose_access_key    name           = "Grafana Cloud"    content_encoding = "GZIP"    s3_configuration {      role_arn   = aws_iam_role.firehose_role.arn      bucket_arn = aws_s3_bucket.firehose_backup.arn    }  }}

Step 3: Azure Monitor integration

Required Azure permissions:

Create a service principal with the Monitoring Reader role on the subscription(s) to monitor.

# Create service principalaz ad sp create-for-rbac --name grafana-cloud-monitoring \  --role "Monitoring Reader" \  --scopes /subscriptions/<SUBSCRIPTION_ID># Output: appId (client ID), password (client secret), tenant

Setup in Grafana Cloud:

  1. Connections > Azure > Configure hosted exporter
  2. Enter: Tenant ID, Client ID, Client Secret, Subscription IDs
  3. Select resource types to monitor (VMs, App Services, AKS, SQL, etc.)
  4. The exporter begins scraping within 2-3 minutes

Supported resource types: Virtual Machines, App Service Plans, AKS, Azure SQL, CosmosDB,Storage Accounts, Event Hubs, Service Bus, Application Gateway, and others.

Step 4: Confluent Cloud integration

Required Confluent API credentials:

  1. In Confluent Cloud: Environment > API Keys (or Cloud API Keys for organization-level)
  2. Create a Metrics API key (not a Kafka API key) with MetricsViewer role
  3. Note the API Key and Secret

Setup in Grafana Cloud:

  1. Connections > Confluent > Configure hosted exporter
  2. Enter: Confluent API Key, API Secret, Environment ID(s), Cluster ID(s)
  3. The exporter scrapes the Confluent Metrics API every 60s

Available metrics: Consumer lag, broker request rates, partition counts, replication lag,active controller count, and cluster-level health metrics.

Step 5: Verify the integration is working

# Check in Grafana Explore — query for the integration's job label# For AWS:{job="integrations/cloudwatch"}# For Azure:{job="integrations/azure-monitor"}# Check metric arrival (replace with your stack's Prometheus endpoint)curl -s -H "Authorization: Bearer <USER>:<API_KEY>" \  "https://prometheus-prod-XX-XX-X.grafana.net/api/prom/api/v1/labels" | \  jq '.data | map(select(startswith("aws_") or startswith("azure_")))'

The integration status is also visible in: Connections > [Integration name] > Status

Integration health indicators:

  • Last successful scrape - should be within the last 2 minutes
  • Series count - should be non-zero and stable
  • Error rate - should be 0%

Step 6: Pre-built dashboards and alerts

Every integration installs a set of pre-configured dashboards and alert rules automatically.

Find installed dashboards:

  • Dashboards > Browse > folder named after the integration (e.g. "AWS CloudWatch")

Find installed alert rules:

  • Alerting > Alert rules > filter by datasource or folder

Modify without losing updates:

  1. Do not edit the provisioned dashboards directly (they may be overwritten on updates)
  2. Duplicate the dashboard (Dashboard settings > Save as copy)
  3. Edit the copy

Step 7: Troubleshoot integration failures

Hosted exporter not receiving data:

# Check the integration status via Grafana Cloud APIcurl -s -H "Authorization: Bearer <STACK_ID>:<API_TOKEN>" \  "https://integrations-api.grafana.net/api/v1/integrations" | \  jq '.integrations[] | {name, status, lastScrapeTime, errorMessage}'

Common errors:

ErrorCauseFix
AccessDenied (AWS)IAM policy missing permissionsAdd required actions to the IAM policy
AuthorizationFailed (Azure)Service principal missing roleGrant Monitoring Reader on the subscription
401 Unauthorized (Confluent)Wrong API credentialsRe-enter credentials; confirm Metrics API key (not Kafka key)
No metrics foundWrong namespace/resource type selectedAdd the namespace in integration settings
Scrape timeoutNetwork restrictionEnsure Grafana Cloud's IPs can reach the cloud provider API

AWS-specific: CloudWatch API rate limiting

CloudWatch GetMetricData has a rate limit. If you have many resources, enable Metric Streams(Option B) instead of API polling to avoid throttling.

Step 8: Reduce costs with metric filtering

Hosted exporters scrape all metrics by default. Filter to reduce series count and cost.

AWS - select specific namespaces:In integration settings, switch from "All namespaces" to specific ones (e.g. EC2, RDS only).

AWS - filter by resource tags:

# In exporter configuration, add tag filtersdiscovery:  - type: AWS/EC2    filters:      - key: Environment        values: ["production"]

Azure - select specific resource types:Only enable the resource types you actually have dashboards for.

Use Adaptive Metrics to aggregate away unused label dimensions:See the grafana-cloud/adaptive-metrics skill.

References

  • Grafana Cloud Connections documentation
  • AWS CloudWatch integration
  • Azure Monitor integration
  • YACE (Yet Another CloudWatch Exporter)
  • CloudWatch Metric Streams

Todos os arquivos

0 arquivos

Instalar cloud-integrations

Baixe e extraia os arquivos de habilidade para o seu diretório .claude/skills/.

Baixar ZIP

Clone o repositório e copie os arquivos da habilidade para o seu projeto.

git clone https://github.com/grafana/skills/blob/main/skills/grafana-cloud/cloud-integrations/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copiar Copiar
Configuração rápida: Copie a pasta da habilidade para .claude/skills/Claude, que detectará e utilizará automaticamente essa habilidade.
Repositório grafana/skills

Habilidades relacionadas

Cloudflare Manager
Tempo atualizado 29 de Junho de 2026
pinecone
Tempo atualizado 29 de Junho de 2026
sentry-architecture-variants
Tempo atualizado 29 de Junho de 2026
azure-setup-guide
Tempo atualizado 29 de Junho de 2026
OR