オプション

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は、クラウドプロバイダ向けのGrafana Cloudインテグレーションの構築、設定、トラブルシューティングを支援します。独自のエクスポータを動作させることなく、プロバイダの監視APIをGrafanaスタックに接続できます。このツールは、プロバイダの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の権限)、メトリクスストリームとデリバリーストリームの構築におけるポーリングと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ストリーミングの選択、インテグレーションのトラブルシューティングなどが挙げられます。

よくある質問

どのクラウドプロバイダやソースがサポートされていますか?

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のメトリクスストリームやログサブスクリプションをストリーミングするため、ほぼリアルタイムでより低い遅延でデータが送信されます。

インテグレーションが正常に動作しているかどうかを確認するにはどうすればよいですか?

GrafanaのExplore画面でインテグレーションのジョブラベルを照会したり、スタックのPrometheusラベルエンドポイントを通じてラベルの到着状況を確認したり、「Connections」 > [Integration] > Statusで健全性指標(約2分以内に最後に成功したスクレイピング、ゼロでない安定したシリーズ数、0%のエラーレート)を確認することで判断できます。

AzureやConfluentで必要な認証情報は何ですか?

Azureの場合、対象となるサブスクリプションに対してMonitoring Readerロールを持つサービスプリンシパル(テナント、クライアントID、クライアントシークレット)が必要です。Confluentの場合は、MetricsViewerロールを持つMetrics APIキー(Kafkaキーではない)が必要です。

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