Grafana 系列-统一展示-5-AWS Cloudwatch 仪表板

文章介绍了如何使用GitHub上的monitoringartist/grafana-aws-cloudwatch-dashboards项目,特别是其EC2仪表板,强调了它比CloudWatch自带仪表板的优势,如通过ec2_instance_attribute查询获取更有意义的EC2信息,如实例名称、ID、类型和卷信息。读者需要确保IAMRole或User具有相应权限,如ec2:DescribeTags等。文章还提到了变量的使用,如Region和instancename,并提供了详细的操作示例。

系列文章

👍️强烈推荐

强烈推荐使用 GitHub 上的 monitoringartist/grafana-aws-cloudwatch-dashboards 仪表板。该 repo 有一系列 AWS 资源的仪表板,包括但不限于:

  • EC2
  • EBS
  • API GW
  • Autoscaling
  • Billing
  • EKS
  • Lambda
  • Logs
  • RDS
  • S3
  • ...

并且质量上乘,设计十分精良。

本文以其 AWS EC2 Dashboard (ID: 617) 为例说明。

📝Notes: 前提是你的 IAM Role 或 User 有对应的权限,即 上文 提到的: "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeRegions""tag:GetResources" 的相关 Policy. 否则会出现类似 Error updating options: Query data error 这样的报错。

相比 AWS Cloudwatch 数据源自带的仪表板,该仪表板优秀的地方在于使用了 ec2_instance_attribute 来查询获取变量。具体如下章介绍。

变量

Region

AWS 最常用的变量:region.

  • Name: region
  • Type: Query
  • Query: regions()

效果如下:

Region Variable

ec2_instance_attribute 相关变量

通过 ec2_instance_attribute 的查询,我们可以获取到更具有实际意义的 EC2 分组和 hostname, 而不是自带仪表板的一长串的非人记忆的 i-xxxxxxxx EC2 id.

包括:

instancename
  • Name: instancename
  • Type: Query
  • Query: ec2_instance_attribute($region, Tags.Name, {})
  • Custom all value: *

如果需要复用 instancename, 可以通过如下方式复用:

instanceid
  • Name: instanceid
  • Query: ec2_instance_attribute($region, InstanceId, {"tag:Name": ["$instancename"]})

之后,可以根据 instanceid 查询获取 EC2 的 instance type, 以及 vlume 信息。

instancetype
  • Name: instancetype
  • Query: ec2_instance_attribute($region,InstanceType, {"instance-id": ["$instanceid"]})
volumeid
  • Name: volumeid
  • Query: ebs_volume_ids($region, $instanceid)

最终效果如下:

AWS EC2 Dashboard

而关于详细完整的 ec2_instance_attribute 用法,可以参考这篇文档:

📚️参考文档

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值