Skip to content

Latest commit

 

History

History
163 lines (123 loc) · 9.25 KB

File metadata and controls

163 lines (123 loc) · 9.25 KB

Managed by Monitoring Artist: DevOps / Docker / Kubernetes / AWS ECS / Zabbix / Zenoss / Terraform / Monitoring

Grafana dashboards for AWS CloudWatch

Set of AWS Grafana dashboards published on grafana.com - 100k+ downloads.

Doc:

Feel free to create pull request for additional AWS resources/printscreens/...

Please set your dashboard variables (Region, ...) after dashboard import. Empty dashboard variables are reason of initial "Unable to call AWS API" or "Metric request error" error.

Import all Monitoring Artist AWS dashboards in one go (example script, bash/curl/jq required):

#!/bin/bash
### Please edit grafana_* variables to match your Grafana setup:
grafana_host="http://localhost:3000"
grafana_cred="admin:admin"
grafana_datasource="cloudwatch"
ds=(1516 677 139 674 590 659 758 623 617 551 653 969 650 644 607 593 707 575 1519 581 584 2969 8050 11099 11154 11155);
for d in "${ds[@]}"; do
  echo -n "Processing $d: "
  j=$(curl -s -k -u "$grafana_cred" $grafana_host/api/gnet/dashboards/$d | jq .json)
  curl -s -k -u "$grafana_cred" -XPOST -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "{\"dashboard\":$j,\"overwrite\":true, \
        \"inputs\":[{\"name\":\"DS_CLOUDWATCH\",\"type\":\"datasource\", \
        \"pluginId\":\"cloudwatch\",\"value\":\"$grafana_datasource\"}]}" \
    $grafana_host/api/dashboards/import; echo ""
done

Use AWS Policy Generator, which fits your needs. Example of minimal IAM role for Grafana (CloudWatch + EC2 metrics):

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

AWS API Gateway

AWS Billing

AWS Cloudwatch Browser

AWS EBS

AWS EC2

AWS EFS

AWS ElastiCache Redis

AWS ELB Classic Load Balancer

AWS ELB Application Load Balancer

AWS EMR Hadoop 2

AWS Events

AWS Lambda

AWS Logs

AWS CodeBuild

AWS Redshift

AWS S3

AWS SNS

AWS SQS

AWS SNS

Author

Devops Monitoring Expert, who loves monitoring systems and cutting/bleeding edge technologies: Docker, Kubernetes, ECS, AWS, Google GCP, Terraform, Lambda, Zabbix, Grafana, Elasticsearch, Kibana, Prometheus, Sysdig,...

Summary:

Professional devops / monitoring / consulting services:

Monitoring Artist