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

grafana,系列,统一,展示,aws,cloudwatch,仪表板 · 浏览次数 : 50

小编点评

**GitHub monitoringartist/grafana-aws-cloudwatch-dashboards 仪表板** 该项目提供了一套用于监控 AWS 资源的仪表板,包括 EC2、EC2 EBS、GW AutoScaling Billing、 Lambda 和 RDS 数据源。 **EC2 Dashboard 示例** 该示例展示了一个名为 `617` 的 EC2 Dashboard。它使用 `ec2_instance_attribute` 查询变量,以获取更具意义的 EC2 分组和 hostname。 **变量** * `RegionAWS`:最常用的变量,表示 EC2 所在的区域名称。 * `instanceidName`、`instanceidQuery`、`instanceidQuery`:用于获取 EC2 的实例 ID、ID 和实例类型。 * `volumeidName`、`volumeidQuery`:用于获取 EBS 存储卷 ID 和 ID。 **使用** 1. 确保你拥有 AWS 的 IAM 角色或用户权限。 2. 从 GitHub 上获取监控artist/grafana-aws-cloudwatch-dashboards 仓库。 3. 在 Grafana 中添加该仓库的 Dashboard。 4. 在 Dashboard 中添加变量,例如 `RegionAWS`。 5. 测试 Dashboard,确保它正常显示数据。 **优点** * 使用 `ec2_instance_attribute` 查询变量,以获取更具意义的 EC2 信息。 * 高质量的设计,易于维护。 * 使用图表和图形,提供可视化的数据分析。 **注意** * 确保您拥有足够的权限以访问 AWS 资源。 * 变量名称可能因实际情况而有所不同。

正文

系列文章

👍️强烈推荐

强烈推荐使用 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 用法,可以参考这篇文档:

📚️参考文档

与Grafana 系列-统一展示-5-AWS Cloudwatch 仪表板相似的内容:

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

本文为系列文章-Grafana 统一展示,添加 AWS Cloudwatch 仪表板的变量和细节。

Grafana 系列-统一展示-1-开篇

本文为系列文章-Grafana 统一展示,包括 Metrics、Tracing、Logging,并尽量实现在它们之间相互跳转。通过 Grafana LTM(Loki、Tempo、Mimir)可以实现比较完美的效果,但是即使没有 Grafana LTM, 通过其他 Grafana + 其他工具也能实现相对不错的结果。

Grafana 系列-统一展示-2-Prometheus 数据源

系列文章 Grafana 系列文章 Grafana Prometheus 数据源 Grafana 提供了对 Prometheus 的内置支持。本文会介绍 Grafana Prometheus(也包括 Prometheus 的兼容实现,如 Thanos, Mimir 等) 数据源的部分选项、变量 (V

Grafana 系列-统一展示-3-Prometheus 仪表板

系列文章 Grafana 系列文章 知识储备 Prometheus Template Variables 你可以使用变量来代替硬编码的细节,如 server、app 和 pod_name 在 metric 查询中。Grafana 在仪表盘顶部的下拉选择框中列出这些变量,帮助你改变仪表盘中显示的数据。

Grafana 系列-统一展示-4-AWS Cloudwatch 数据源

本文为系列文章-Grafana 统一展示,添加 AWS Cloudwatch 数据源。

Grafana系列-统一展示-6-Zabbix仪表板

系列文章 Grafana 系列文章 📝Notes: 关于 Grafana系列-统一展示-6-Zabbix 数据源, 其实已经在之前的文章: 使用 Grafana 统一监控展示 - 对接 Zabbix 里详细介绍过了, 感兴趣的请移步阅读. 知识储备 一个图表上的多个 Items 我们可以在 met

Grafana系列-统一展示-7-ElasticSearch数据源

系列文章 Grafana 系列文章 ElasticSearch 数据源 Grafana内置了对Elasticsearch的支持。你可以进行多种类型的查询,以可视化存储在Elasticsearch中的日志或指标,并使用存储在Elasticsearch中的日志事件对图表进行注释。 配置 ES 数据源 关

Grafana系列-统一展示-8-ElasticSearch日志快速搜索仪表板

系列文章 Grafana 系列文章 概述 我们是基于这篇文章: Grafana 系列文章(十二):如何使用 Loki 创建一个用于搜索日志的 Grafana 仪表板, 创建一个类似的, 但是基于 ElasticSearch 的日志快速搜索仪表板. 最终完整效果如下: 📝Notes: 其实我基于 E

Grafana系列-统一展示-9-Jaeger数据源

系列文章 Grafana 系列文章 配置 Jaeger data source Grafana内置了对Jaeger的支持,它提供了开源的端到端分布式跟踪。本文解释了针对Jaeger数据源的配置和查询。 关键的配置如下: URL: Jaeger 实例的 URL, 如: http://localhost

Grafana系列-统一展示-10-Explore Jaeger

本文为系列文章-Grafana 统一展示,通过 Grafana Explore 功能探索 Jaeger 数据源中的 trace 信息。