옵션
집 Skill 클라우드 인프라 cloud-integrations

cloud-integrations

grafana/skills grafana/skills

AWS, Azure 및 기타 클라우드 제공업체를 위한 Grafana Cloud 연동 기능을 설정하고, 구성하며, 문제를 해결합니다. 사용자가 AWS CloudWatch 연동, Azure Monitor 설정, Confluent Cloud 가시성 기능 구성, Grafana 연동 모듈 설치, 호스티드 익스포터 설정, CloudWatch 로그를 위한 AWS Firehose 활용, 또는 클라우드 연동 관련 문제 해결을 요청할 때 이 기능을 사용합니다. “AWS CloudWatch”, “Azure Monitor”, “Confluent integration”, “cloud integration”, “hosted exporter”, “AWS Firehose”, “install”와 같은 표현이 포함될 때 작동합니다.

...모든 것을 확장하십시오
12
업데이트 된 시간 2026년 8월 25일

cloud-integrations에 대하여

cloud-integrations는 자체 에кспор터를 운영하지 않고도 클라우드 제공업체의 모니터링 API를 Grafana 스택에 연결하여, 해당 클라우드 제공업체용 Grafana Cloud 인테그레이션을 설정하고 구성하며 문제를 해결하는 데 도움을 줍니다. 이 도구는 제공업체 측 API를 대신 스크랩하여 데이터를 Grafana 스택으로 전송하는 호스팅형 에кспор터나, 더 낮은 지연 시간을 위한 스트리밍 경로를 통해 클라우드 메트릭과 로그를 Grafana Cloud에 수집하는 문제를 해결해 줍니다.

이 문서에서는 호스팅형 에кспор터인 AWS CloudWatch(YACE를 통한 모든 네임스페이스), Azure Monitor(Azure Monitor API를 통한 연동), Confluent Cloud(Confluent Metrics API를 통한 Kafka 메트릭), 그리고 일반적인 Prometheus 형식의 HTTP 엔드포인트를 비롯해, Kinesis Firehose를 통해 거의 실시간으로 CloudWatch 메트릭과 로그를 전송하는 AWS Firehose 리시버에 대한 내용을 다룹니다. 또한 Grafana Cloud의 Connections 메뉴를 통한 설정 방법, 최소 필요한 AWS IAM 정책(GetMetricData, GetMetricStatistics, ListMetrics, tag:GetResources, EC2 describe 권한), Terraform을 활용한 폴링 방식과 Firehose 스트리밍 방식의 비교, Monitoring Reader 역할이 할당된 Azure 서비스 프린시펄 생성 방법, MetricsViewer 역할이 할당된 Confluent Metrics API 키 생성 방법 등 단계별 설명도 제공합니다. 이어서 확인 방법도 안내하는데, Explore 메뉴에서 인테그레이션의 작업 라벨을 조회하거나 Prometheus 엔드포인트를 통해 라벨 도착 여부를 확인하고, Connections > [Integration] > Status 메뉴에서 마지막 성공적인 스크랩 시간, 데이터 시리즈 수, 오류율과 같은 인테그레이션 상태 지표를 확인할 수 있습니다. 또한 사전에 구축된 대시보드와 알림 기능도 소개합니다. 모든 자격 증명(AWS 액세스 키, Azure 클라이언트 시크릿, Confluent 키, API 토큰)은 최소 권한 원칙에 따라 표준 설정 가이드 형태로, 장소 표시자가 포함된 상태로 제공됩니다.

이 자료는 Grafana Cloud에 클라우드 텔레메트리를 도입하려는 플랫폼 엔지니어, SRE, 옵저버빌리티 팀을 대상으로 합니다. 주요 활용 사례로는 AWS CloudWatch 연동, Azure Monitor 설정, Confluent Cloud 옵저버빌리티 구성, 폴링 방식과 Firehose 스트리밍 방식 중 적절한 방법 선택, 문제가 발생한 인테그레이션의 문제 해결 등이 있습니다.

FAQ

어떤 클라우드 제공업체와 데이터 소스가 지원되나요?

AWS CloudWatch(YACE를 통한 연동), Azure Monitor, Confluent Cloud, 그리고 일반적인 Prometheus 형식의 HTTP 엔드포인트를 위한 호스팅형 에кспор터와, Kinesis Firehose를 통해 거의 실시간으로 CloudWatch 메트릭과 로그를 전송하는 AWS Firehose 리시버가 지원됩니다.

어떤 AWS 권한이 필요한가요?

cloudwatch:GetMetricData, GetMetricStatistics, ListMetrics, tag:GetResources, ec2:DescribeInstances 및 DescribeRegions 권한이 포함된 최소 IAM 정책을 IAM 사용자나 크로스 계정 롤에 할당해야 합니다.

호스팅형 에кспор터와 Firehose 리시버의 차이점은 무엇인가요?

호스팅형 에кспор터는 약 60초 간격으로 CloudWatch API를 폴링하므로 약 1~5분의 지연 시간이 발생합니다. 반면 Firehose 리시버는 Kinesis Firehose를 통해 CloudWatch Metric Streams와 Logs 구독 데이터를 스트리밍하므로 거의 실시간으로 더 낮은 지연 시간에 데이터를 전송할 수 있습니다.

인테그레이션이 제대로 작동하는지 어떻게 확인하나요?

Grafana Explore에서 인테그레이션의 작업 라벨을 조회하고, 스택의 Prometheus 라벨 엔드포인트를 통해 라벨 도착 여부를 확인한 다음, Connections > [Integration] > Status 메뉴에서 마지막 성공적인 스크랩 시간이 약 2분 이내인지, 안정적인 데이터 시리즈 수가 0이 아닌지, 오류율이 0%인지와 같은 상태 지표를 확인하면 됩니다.

Azure와 Confluent에 필요한 자격 증명은 무엇인가요?

Azure의 경우, 대상 구독에 Monitoring Reader 역할이 할당된 서비스 프린시펄(테넌트, 클라이언트 ID, 클라이언트 시크릿)이 필요합니다. Confluent의 경우, MetricsViewer 역할이 할당된 Metrics API 키(Кafka 키가 아님)가 필요합니다.

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

모든 파일

0개 파일

cloud-integrations 설치

해당 스킬 파일들을 다운로드하여 .claude/skills/ 디렉터리에 압축을 풀어 저장해 주세요.

ZIP 다운로드

저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.

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

복사 복사
빠른 설정: 스킬 폴더를 .claude/skills/로 복사하면, Claude가 자동으로 해당 스킬을 인식하여 사용합니다.
저장소 grafana/skills

관련 스킬

Cloudflare Manager
업데이트 된 시간 2026년 6월 29일
pinecone
업데이트 된 시간 2026년 6월 29일
sentry-architecture-variants
업데이트 된 시간 2026년 6월 29일
azure-setup-guide
업데이트 된 시간 2026년 6월 29일
OR