上一篇搭建了nmon监控服务器的环境,但是nmon无论界面显示还是在动态展示方面都有硬伤(QAQ主要是界面真丑),所以这一篇我们来搭建一个颜值比较高的环境,也就是我们要优化一下可视化!

1.在这里我们采用 InfluxDB+Grafana的方式监控和展示我们本地Jmeter的各种参数,服务器的需要配置点东西,下次补充

①InfluxDB是一个年轻的时许数据库,用GO语言开发的,适用于小数据量的存储,感兴趣同学可以看下数据库方面的东西,毕竟面试造火箭,得学会忽悠啊啦啦啦啦.....

②Grafana是JS开发的,①用来展示数据,支持二次开发,反正我不会,嘻嘻(●'◡'●)嘻嘻...

原理图:




grafana 监控clickhouse grafana监控windows模板_数据


2.监控平台搭建

主要分为①InfluxDB搭建

②Jmeter设置

③Grafana操作

!!!三连警告,官网下载!官网下载!官网下载!

下载influxDB,解压后进入,可以在本地写个.bat文件方便打开,目录写自己的infuxdb的绝对路径即可


cd


grafana 监控clickhouse grafana监控windows模板_服务器_02


启动界面


grafana 监控clickhouse grafana监控windows模板_数据_03


验证数据库已启动


grafana 监控clickhouse grafana监控windows模板_数据_04


现在还没有任何数据库,新建一个储存jmeter的数据的库


grafana 监控clickhouse grafana监控windows模板_windows搭建grafana_05


现在开始修改influxdb.conf里的参数,为连接jmeter做准备。

把graphite下的注释给去掉,把enabled = false改为enabled = true,把database = "graphite" 改为database = "jmeter"(刚才创建的数据库)


grafana 监控clickhouse grafana监控windows模板_数据库_06


设置完成重启一下influxDB

②Jmeter设置

在请求上添加后端监听器


grafana 监控clickhouse grafana监控windows模板_数据_07


并修改红框内的参数,参数值和刚才influxdb.conf是对应的哦!!!

配置完成后跑一个时间比较长的脚本,比如一个脚本把循环次数选为永远(●'◡'●)

现在再次查看influxDB中jmeter数据库中的数据你就会惊喜的发现有数据啦哈哈


grafana 监控clickhouse grafana监控windows模板_数据_08


备注:1是没跑脚本时候看的2是跑脚本后看到的

③Grafana操作

下载后傻瓜式安装,然后写个.bat脚本方便打开,目录写自己的


cd D:grafanagrafanabin
grafana-server.exe


然后使用localhost:3000访问即可进入界面,默认账号/密码都是admin


grafana 监控clickhouse grafana监控windows模板_windows搭建grafana_09


开始连接influxDB数据库,步骤如下

添加数据库源:


grafana 监控clickhouse grafana监控windows模板_数据_10


grafana 监控clickhouse grafana监控windows模板_服务器_11


QAQ没想到有这么多数据库,孤陋寡闻了

下一步连上我的jmeter数据库


grafana 监控clickhouse grafana监控windows模板_服务器_12


测试下是否连接成功


grafana 监控clickhouse grafana监控windows模板_windows搭建grafana_13


有了数据源,下一步就是创建一个界面化显示,点击+->Dashboard->Add Query


grafana 监控clickhouse grafana监控windows模板_数据_14


grafana 监控clickhouse grafana监控windows模板_windows搭建grafana_15


然后胡乱点点(千万别怕出错)开始看看显示,(●'◡'●)


grafana 监控clickhouse grafana监控windows模板_数据库_16


好了有了波浪线,说明环境成功,你可以用这个工具来监控你的Jmeter显示了,这是个实验性质的环境搭建,但是再复杂的环境也就这么个流程

后期会更新监控服务器环境的,大同小异

3Q!!!


下午没关jmeter,然后一直跑,结果:


grafana 监控clickhouse grafana监控windows模板_服务器_17


可见长时间监控是可以很直观的发现一些性能问题,如果在实际生产环境中,可以看下这个时候的日志,看看为什么响应时间这么长



两行隔开,现在开始搭建监控服务器的环境

1.采用telegraf + influxdb + Grafana

原理图:


grafana 监控clickhouse grafana监控windows模板_服务器_18


嘻嘻,修改一下上面的图不就行了,机智的一笔。。。

telegraf就是个收集器,在服务器里开启就收集他的系统信息。

先把包传过去


grafana 监控clickhouse grafana监控windows模板_数据_19


2.搭建telegraf + influxdb + Grafana监控环境

分为以下三个步骤:

①InfluxDB设置

②Telegraf设置

③Grafana操作

①InfluxDB设置

傻瓜式安装


grafana 监控clickhouse grafana监控windows模板_数据_20


启动看下

启动命令 systemctl start influxd 启动后可以先查看下状态 systemctl status influxd

然后直接influx命令进入数据库exite


grafana 监控clickhouse grafana监控windows模板_数据库_21


②telegraf设置

傻瓜式安装


grafana 监控clickhouse grafana监控windows模板_数据库_22


配置:


grafana 监控clickhouse grafana监控windows模板_数据库_23


坑爹QAQ vim命令第一次编辑应该不小心改错东西了,报 Failed to start The plugin-driven server agent for reporting metrics into InfluxDB.错误,然后卸载重装

启动telegraf :systemctl start telegraf 状态查看:systemctl status telegraf

切换至influxDB,这时应该已经有数据了


grafana 监控clickhouse grafana监控windows模板_windows搭建grafana_24


随便查看个表:


grafana 监控clickhouse grafana监控windows模板_windows搭建grafana_25


nice!都是常用的系统参数,这就说明influxDB和telegraf已经py成功,就差个grafana了!!!

③grafana操作

傻瓜式安装


grafana 监控clickhouse grafana监控windows模板_数据_26


备注:如果安装报urw-fonts is needed by grafana-xxx,则需要安装字体:

yum install urw-fonts

安装grafana在linux系统上的配置

yum install initscripts fontconfig -y


grafana 监控clickhouse grafana监控windows模板_数据_27


启动服务:systemctl start grafana-server


grafana 监控clickhouse grafana监控windows模板_服务器_28


备注:设置开机启动 systemctl enable grafana-server.service

3.windows本地监控

通过ip:3000访问

当然第一次访问肯定GG了,因为3000端口被服务器防火墙挡住了,我们使用命令永久添加3000端口

firewall -cmd --add-port=3000/tcp --permanent


grafana 监控clickhouse grafana监控windows模板_数据库_29


可以看到3000已添加到开放端口

此时即可访问 服务器ip:3000

此时老步骤添加数据库来源,只不过把localhost换成了服务器ip,数据库换成telegraf即可


grafana 监控clickhouse grafana监控windows模板_服务器_30


grafana 监控clickhouse grafana监控windows模板_数据_31


如果碰到没有加载出来数据的情况,请查看服务器时间是否和本地差很多,需要校准一下。睡觉了,长期更新,这些都是基础的东西,后期会更新怎么分析性能问题,还有UI/接口自动化的东西!

good night!!!