Press "Enter" to skip to content

使用Grafana的Templates功能实现主机分组

有时候,Grafana里展示的主机太多了,我们可能需要将主机进行分组展示,例如把主机根据使用的项目分组,或者按照使用部门进行分组。这个时候,就需要用到Grafana的Templates(模板)功能了。实际效果见下图:

使用Grafana的Templates功能实现主机分组

首先,我们看看Prometheus的配置文件:

global:
  scrape_interval: 15s
  evaluation_interval: 15s
alerting:
  alertmanagers:
    - static_configs:
      - targets:
rule_files:

scrape_configs:
  - job_name: 消费平台(pc/wap)
    static_configs:
      - targets: ['10.19.4.53:9100', '10.19.4.52:9100', '10.19.4.54:9100']
        labels:
          env: 消费平台(pc/wap)
  - job_name: 老旧服务
    static_configs:
      - targets: ['10.13.85.88:9100', '10.13.85.89:9100', '10.13.85.90:9100', '10.13.85.91:9100']
        labels:
          env: 老旧服务
  - job_name: 推荐算法
    static_configs:
      - targets: ['10.18.90.12:9100', '10.18.90.11:9100', '10.11.153.75:9100', '10.11.153.76:9100', '10.11.153.77:9100']
        labels:
          env: 推荐算法
  - job_name: 数据平台
    static_configs:
      - targets: ['10.16.19.203:9100', '10.18.35.64:9100']
        labels:
          env: 数据平台
  - job_name: MediaPlatform
    static_configs:
      - targets: ['10.18.37.66:9100', '10.18.40.202:9100']
        labels:
          env: MediaPlatform
  - job_name: 反垃圾
    static_configs:
      - targets: ['10.16.6.235:9100', '10.18.33.139:9100']
        labels:
          env: 反垃圾
  - job_name: 视频商业
    static_configs:
      - targets: ['10.16.79.103:9100', '10.16.79.104:9100', '10.2.172.57:9100']
        labels:
          env: 视频商业
  - job_name: 运维/测试
    static_configs:
      - targets: ['10.13.89.147:9100', '10.11.149.69:9100']
        labels:
          env: 运维/测试
  - job_name: 互动
    static_configs:
      - targets: ['10.16.56.138:9100','10.18.37.84:9100']
        labels:
          env: 互动
  - job_name: 生产平台MP
    static_configs:
      - targets: ['10.16.57.75:9100', '10.16.57.79:9100', '10.18.3
3.113:9100']
        labels:
          env: 生产平台MP

运行prometheus的方法就不多说了,这里也省略掉在Grafana中添加数据源的过程。

在Grafana的dashboard中,添加以下几个Variables:

使用Grafana的Templates功能实现主机分组
使用Grafana的Templates功能实现主机分组
使用Grafana的Templates功能实现主机分组

注意:最后一个$maxmount的query是根据上一部的$host变量统计出系统中最大容量的分区(参考了这篇文章)。

添加以后是这样子的

使用Grafana的Templates功能实现主机分组

然后,我们的dashboard里面就会出现如下的效果:

使用Grafana的Templates功能实现主机分组

接下来,我们演示一下,添加几个图表,并且,当我们选择了相关的Variables以后,下方图表中的主机也会随之变化。

添加CPU使用率

使用Grafana的Templates功能实现主机分组

添加内存使用率

使用Grafana的Templates功能实现主机分组

添加磁盘使用率

使用Grafana的Templates功能实现主机分组

最终形成的效果如下图:

使用Grafana的Templates功能实现主机分组

参考文章:

在Grafana使用Prometheus

1 Node Exporter 0.16 + for Prometheus 监控展示看板

Leave a Reply

Your email address will not be published. Required fields are marked *