Code Monkey home page Code Monkey logo

ginkgodia / grafana-aws-cloudwatch-dashboards Goto Github PK

View Code? Open in Web Editor NEW

This project forked from monitoringartist/grafana-aws-cloudwatch-dashboards

0.0 0.0 0.0 14.52 MB

:cloud: 30+ Grafana dashboards for AWS CloudWatch metrics: EC2, Lambda, S3, ELB, EMR, EBS, SNS, SES, SQS, RDS, EFS, ElastiCache, Billing, API Gateway, VPN, Step Functions, Route 53, CodeBuild, ...

Home Page: https://grafana.com/orgs/monitoringartist/dashboards

License: GNU General Public License v3.0

Jsonnet 61.10% Python 38.90%

grafana-aws-cloudwatch-dashboards's Introduction

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 - 10M+ 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
jq --version >/dev/null 2>&1 || { echo >&2 "I require jq but it's not installed.  Aborting."; exit 1; }
### Please edit grafana_* variables to match your Grafana setup:
grafana_host="http://localhost:3000"
grafana_cred="admin:admin"
# Keep grafana_folder empty for adding the dashboards in "General" folder
grafana_folder="AWS 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 12979 13018 13040 13104 13892 14189 14391 14392);
folderId=$(curl -s -k -u "$grafana_cred" $grafana_host/api/folders | jq -r --arg grafana_folder  "$grafana_folder" '.[] | select(.title==$grafana_folder).id')
if [ -z "$folderId" ] ; then echo "Didn't get folderId" ; else echo "Got folderId $folderId" ; fi
for d in "${ds[@]}"; do
  echo -n "Processing $d: "
  j=$(curl -s -k -u "$grafana_cred" $grafana_host/api/gnet/dashboards/$d | jq .json)
  payload="{\"dashboard\":$j,\"overwrite\":true"
  if [ ! -z "$folderId" ] ; then payload="${payload}, \"folderId\": $folderId }";  else payload="${payload} }" ; fi
  curl -s -k -u "$grafana_cred" -XPOST -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "$payload" \
    $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:DescribeAlarmHistory",
                "cloudwatch:DescribeAlarms",
                "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" : "*"
        }
    ]
}

You can also install this project as a Jsonnet library with jsonnet-bundler:

$ jb install github.com/monitoringartist/grafana-aws-cloudwatch-dashboards
$ cat > aws-cloudwatch-dashboards.jsonnet <<EOF
local awsCloudWatch = import 'github.com/monitoringartist/grafana-aws-cloudwatch-dashboards/dashboards.libsonnet';

awsCloudWatch.grafanaDashboards
EOF
$ jsonnet -J vendor aws-cloudwatch-dashboards.jsonnet

Single click provisioning Gitpod ready-to-test - login as admin/admin and create CloudWatch datasource from your Access & secret key to see all dashboards with your data.

AWS API Gateway

AWS Billing

AWS Certificate Manager

AWS CloudFront

AWS Cloudwatch Browser

AWS Cloudwatch Synthetics

AWS Cloudwatch Browser

AWS CodeBuild

AWS EBS

AWS EC2

AWS ECS

AWS EFS

AWS ElastiCache Redis

AWS ELB Classic Load Balancer

AWS ELB Application Load Balancer

AWS EMR Hadoop 2

AWS Events

AWS Inspector

AWS Kinesis

AWS Lambda

AWS Logs

AWS RDS

AWS Redshift

AWS S3

AWS SNS

AWS SQS

AWS SNS

AWS Storage Gateway

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

grafana-aws-cloudwatch-dashboards's People

Contributors

andrew80k avatar ankon avatar anthonywc avatar bokker avatar dominikhahn avatar fleaz avatar franciscocpg avatar jangaraj avatar jho2dot0 avatar jong82 avatar jonseymour avatar ksanjay7 avatar lusitaniae avatar maxbrunet avatar mitchellrj avatar paschdan avatar shubhamc183 avatar stephengoodall avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.