性能监控,是用于收集性能测试过程中的各项数据,用于后续的性能分析。
性能分析需要有数据才能分析。
性能监控: 性能监控工具ServerAgent、nmon;性能监控平台: grafana + influx1.x +jmeter集成,课程后面 grafana+prometheus+ xxx_exporter 监控:硬件、服务、容器、中间件……
influxdb 已经有两个大版本 1.x 、2.x版本
influxdb: 时序数据库, 所有的数据,都是根据时间顺序来存储的。
把数据库中的一段连续时间是数据取出来,就是一条折线。 这样的折线就是 图形,所以,时序数据库是很适合去做 监控。
grafana: 前端展示平台,没有数据存储功能,但是,它有不同的展示模板,然后,把后端数据库中提供的数据,进行展示。
jmeter: 做性能测试,产生数据,产生的数据,存储到influxdb数据库中
监控平台: 用独立的机器 ---------在企业中,监控平台,一般都会独立机器,不会部署到 项目机器中。
①、用一个ova文件,产生一个空linux机器
②、启动: root
123456
③、我们使用influxdb1.x版本,上传文件
rpm包: redhat系列系统的默认安装文件,centos系统是属于 redhat加载的发行版本
所以,centos系统,下载的安装文件格式 .rpm格式
④、安装rmp包
# 安装influxdb数据库
yum install influxdb-1.7.0.x86_64.rpm -y
# 启动数据库
influxd
# 看到日志中显示 数据库的端口 8086
安装grafana:
# 新打开一个终端窗口
yum install grafana-7.4.3-1.x86_64.rpm
# 启动grafana
systemctl restart grafana-server
# 查看日志中显示
ps -ef |grep grafana
# 查看服务
netstat -anp |grep grafana
tcp6 0 0 :::3000 :::* LISTEN 1886/grafana-server
unix 3 [ ] STREAM CONNECTED 21668 1886/grafana-server
grafana的服务端口: 3000
⑤、数据库初始化:
# 进入influxdb数据库的命令行模式
influx
# 接下来就可以数据 influxQL 脚本
# influxQL 与关系型数据库的sql脚本非常相似
# 看有哪些库:
show databases;
# 创建数据库,库名称,一定要是 jmeter
create database jmeter
# 看有哪些库:
show databases;
# 进入数据库
use jmeter;
# 时序数据库的表measurement
show measurements;
注意: 时序数据库,不需要手动建表。
⑥、jmeter与influxdb集成
打开jmeter,打开脚本
监听器中,添加 后端监听器
后端实现选择:
org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient
influxdbUrl: http://修改为influxdb数据库的ip:8086/write?db=jmeter
application: 可改可不改
measurement: jmeter
其他参数都不变
⑦、检查influxdb数据库中,jmeter的数据是否 入库
show measurements;
# 查看表中数据
select * from jmeter;
⑧、配置grafana来展示数据
http://grafana的ip:3000 (http://192.168.23.140:3000
)
默认登录账户:admin
默认密码: admin
Add your first data source
influxdb
name: 自定义
query language: 用默认的 influxQL
URL: http://influxdb数据库的ip:8086(http://192.168.23.140:8086
)
Database: jmeter
其他信息,都用默认
⑨、配置grafana展示模板,展示 influxdb数据库中数据库
菜单栏中 + > import
访问 grafana.com
> https://grafana.com/grafana/dashboards/?plcmt=footer
搜索框中 搜索 inflxudb
面板的id选择了 5496
回到 grafana界面中,输入5496 然后点击load -------注意: grafana的网站是在国外,因为网络原因,可能出现 load不到这个面板的情况。
注意事项:
补充:
离线导入模板