天天看点

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

APM性能监控平台搭建

  • APM架构
  • 服务安装
  • 服务配置
  • Grafana模板
  • 实际事例

APM架构

上次公司请《性能测试进阶指南——LoadRunner11实战》作者陈霁来公司讲课,介绍了APM,感觉挺好用的,于是就搭建了一个。APM主要是对性能测试全流程进行监控并反映的一个平台框架。要实现的内容如下:

  1. 实时监控jmeter压测过程中的请求数据/响应数据以及对应统计信息等
  2. 实时监控被测主机的性能数据,比如CPU/内存/IO/网络等信息

其中涉及到两个重要的时序数据库:

Influxdb

Promethues

。Influxdb用于存储Jmeter执行过程的请求和响应信息;Promethues有两个作用,一个是监控服务器信息,另一个是存储这些数据信息;整体架构如下:

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

服务安装

Influxdb/Promethues/Grafana的安装都挺简单的,直接网上找一些安装文档即可。不赘述。然后Promethus要监控服务器,需要分为

Linux

Windows

服务器。

Linux:直接官网下载Node_exporter并执行./node_exporter即可,端口为

9100

Windows:wmi_exporter下载地址下载wmi_exporter.msi,双击运行即可,端口为

9182

服务配置

Jmeter配置:添加后端监视器

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

要配置几个关键项:

summaryOnly

:要设置为false

useRegexpForSamplersList

:要设置为true

samplersList

:正则匹配jmeter测试线程组的名称,用于区分每个请求名称,比如一个application下有多个测试项,每个测试项的线程组以JM_xxx开头,可以写为JM.+

application

:用于区分不同应用的测试内容,为了便于在grafana图标切换,可以写项目名称

:为了查看jmeter执行过程是否报错,可以设置显示log,看看是否有ERROR

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

Influxdb配置:用influx连接到influxdb后,要创建jmeter数据库,不然可能会出现jmeter写入数据库报错找不到jmeter数据库

Promethues配置:

  1. 在每台待监控被测服务器安装exporter并运行
  2. 在promethus.yml添加job_name,targets填写这些服务器的ip和端口
  3. 重启promethues服务
    APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例
注:promethues严格要求空格,少一个空格可能执行的时候就执行失败!

Grafana模板

到grafana模板网站,找个wmi监控模板和linux监控模板,下载下来并导入。

模板部分内容是可以直接使用,但是很多时候是无法使用的。一般模板左上角都是可以选择服务器IP/应用名称等信息的,然后根据选择来切换不同服务器的监控信息。

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例
APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

(一) 、所有图表完全无法使用的时候

1、需要进入该模板的统一配置中心,点击

Dashboard Settings

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

查看变量信息:

windows模板

:

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

linux模板

:

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

2、根据exporter类别来分别设置node和server

3、时间要看最近5分钟的,一般刚开始如果时间太长的话会因为无数据而报错。

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

4、查看当前模板所有图表是否全都可以正常显示。

(二)、部分图表无法显示

1、点击该图表的下拉选项-选择编辑,查看查询语句

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例
APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

2、查看间隔时间是否小于30s,如果是的话尽量调整到大于等于30s以上的,看看是否有数据

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

3、查看语句里引用的变量是否为空值,可以采用逐一去除引用变量或者将所有变量都去除的方式(也就是将花括号整个删除掉),查看是否有数据显示

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

4、其他错误:一般错误的话,左上角的感叹号会给出具体错误内容,此时可以查看报错语句再去具体定位

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

实际事例

Wmi监控:

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

linux监控:

APM性能监控平台搭建_Jmeter+Inlfluxdb+Promethues+GrafanaAPM架构服务安装服务配置Grafana模板实际事例

继续阅读