之前一篇是配置Jmeter仪表板监控,但如果使用jmeter做性能测试,就需要对被测系统所在的服务器(WEB和DB)使用“性能计数器”进行监控,如果能将这些指标也在Grafana上配置展示就可以方便查看了,接下来就此进行了实战,并将过程记录下来,以免忘记。

 

一、安装&配置Prometheus

1、下载Prometheus

进入https://prometheus.io/download/,下载Prometheus,如下选择zip包。

 

2、安装Prometheus

Prometheus是不需要安装的,只需要将压缩文件解压到相应的目录即可; 解压后的文件如下:

 

解压后进入目录运行premetheus.exe,访问端口9090即可,需要查看监控的对象列表可以进入status>targets查看

 

3、Grafana配置连接Prometheus的数据库

直接运行grafana-server.exe程序启动,进入http://${ip}:3000,登录默认用户名和密码都是admin,配置数据源如下:

其中http的URL是Prometheus安装时配置的默认端口地址

 

其他字段默认设置即可,点击【保存&测试】,成功会显示

 

 

二、安装&配置windows监控节点

1、安装wmi-exporter,访问连接:https://github.com/martinlindhe/wmi_exporter/releases/download/v0.10.2/wmi_exporter-0.10.2-amd64.exe

下载windows监控节点程序。复制到需要被监控的windows系统节点机器上,双击安装。

2、在浏览器中访问:http://{ip}:9182(IP是被监控机器的地址;默认使用9182端口),能够看到如下截图,说明安装成功,这里也能够看到所要监控的指标。

3、在Prometheus配置windows节点

打开Prometheus解压路径的Prometheus.yaml文件,在节点scrape_configs:下,添加如下内容:

  - job_name: "Windows" #监控名称,这里是监控windows

    static_configs:

      - targets: ["localhost:9182"] #被监控系统的IP+端口(默认9182端口)

如果还有其他需要监控的节点,可继续添加。

4、验证Prometheus上的windows节点配置是否成功

访问http://${ip}:9090/targets(IP是指Prometheus解压安装的机器地址),status-Targets下,将会看到新配置的windows的redis,state显示up,则说明配置成功。

 

 

 

三、安装&配置Grafana监控

1、下载Grafana

进入https://grafana.com/grafana/download?platform=windows,下载windows版本的Grafana的zip包。

 

2、安装Grafana

可无需安装,只需要将压缩文件解压到相应的目录即可; 解压后的文件如下:

 

3、启动Grafana

进入bin目录,双击grafana-server.exe启动即可。

 

4、访问Grafana,验证是否成功

浏览器输入http://${ip}:3000/,显示如下页面说明启动成功。

 

5、在Grafana仪表板模板网,搜索windows监控仪表板

可访问https://grafana.com/grafana/dashboards/,这是Grafana仪表板地址。

搜索自己需要使用的windows节点监控,并点击它(以此为例介绍),可以看到该仪表板页面有个“数字码”为14694。

 

6、在Grafana上导入windows监控仪表板

通过http://${ip}:3000访问Grafana平台,在这里导入要使用的仪表板。

输入刚才看到的仪表板的“数字码”,点击【load】。

设置仪表板基本信息并导入。“Name”可改成自己想要的名称,如windows监控;“Prometheus”选择 Prometheus,点击【Import】。

可立即看到该仪表板获取到windows展示的各类指标的信息。

 

仪表板右上角可设置需要查看的时间段,如最近一小时。

仪表板右上角可设置信息刷新的频率。如 关闭、5秒等。

 

 

 

7、自定义配置仪表板内容。

截止到这里Grafana上的windows仪表板监控就配置完毕。但实际使用时,会发现网上获取的模板有些指标不可用,或没有我们想看到的指标,这个时候就可以自行配置。

运行时间:

wmi_os_time{instance=~"$server"} - wmi_system_system_up_time{instance=~"$server"}

CPU核数:

wmi_cs_logical_processors{instance=~"$server"}

内存大小:

wmi_cs_physical_memory_bytes{instance=~"$server"}

CPU使用率:

100 - (avg by (instance) (irate(wmi_cpu_time_total{mode="idle", instance=~"$server"}[1m])) * 100)

内存使用率:

(wmi_cs_physical_memory_bytes{instance=~"$server"} - wmi_os_physical_memory_free_bytes{instance=~"$server"}) / wmi_cs_physical_memory_bytes{instance=~"$server"} * 100

磁盘使用率:

(sum(wmi_logical_disk_size_bytes{volume!~"Harddisk.*", instance="$server"}) by (instance) - sum(wmi_logical_disk_free_bytes{volume!~"Harddisk.*", instance="$server"}) by (instance)) / sum(wmi_logical_disk_size_bytes{volume!~"Harddisk.*", instance="$server"}) by (instance) * 100

每秒磁盘写:

irate(wmi_logical_disk_write_bytes_total{instance=~"$server", volume !~"HarddiskVolume.+"}[30s])

每秒磁盘读:

irate(wmi_logical_disk_read_bytes_total{instance=~"$server", volume !~"HarddiskVolume.+"}[30s])

其他更多指标有待探索。

仪表板指标图形,可根据需要设置成“仪表盘”或“折线图”等图形的显示,如下: