在工作中,无论是定位线上问题,还是性能优化,都需要对前端、后台服务进行监控。而及时的获取监控数据,能更好的帮助技术人员排查定位问题。
我之前的博客介绍过服务端监控工具:Nmon使用方法及利用easyNmon实时监控并生成HTML报告的相关内容。但相对来说,这两种方式效率较低。这篇文章,介绍下基于Nmon二次开发的监控插件:nmon2influxdb+grafana,实现服务端监控实时可视化的内容。。。
一、下载安装
Github地址:https://github.com/adejoux/nmon2influxdb
入门文档:http://nmon2influxdb.org/
1、RPM安装
# 下载tar包 wget https://github.com/adejoux/nmon2influxdb/releases/download/v2.1.6/nmon2influxdb_2.1.6_linux_64-bit.tar.gz # 解压tar包 tar -zxvf nmon2influxdb_2.1.6_linux_64-bit.tar.gz # 查看帮助说明 ./nmon2influxdb -h
2、GZ包安装
下载地址:https://github.com/adejoux/nmon2influxdb/releases
去上述地址,下载对应操作系统的安装包,如下图:
利用FTP或者其他方式上传到服务器,然后输入命令 gunzip nmon2influxdb_2.1.6_linux_64-bit.tar.gz 解压,查看帮助说明,如下图:
PS:上图标红的几点,需要修改对应的配置文件为实际的参数,谨记!
二、配置部署
1、修改配置文件
通过上文可知,配置文件nmon2influxdb.cfg的地址在家目录下,去对应目录修改配置文件,命令如下:
# 从当前目录到家目录 cd ~ #查找配置文件 ls -alrth # 编辑配置文件 vi .nmon2influxdb.cfg
要修改的配置文件参数如下图所示:
2、导入数据验证
PS:我用的是influxdb作为数据存储服务,因此执行这一步之前,需要安装influxdb,如何安装使用可参考这里:
https://www.cnblogs.com/imyalost/p/9689209.html
首先,输入nmon命令 ./nmon -ft -s 10 -c 20 ,生成一定的采样数据。如何安装使用nmon,可参考这里:
https://www.cnblogs.com/imyalost/p/9689213.html
然后,输入命令 ./nmon2influxdb import $server.nmon ,将采集的数据导入($server为采样文件的名称)influxdb对应的库中(如配置文件所示,默认库为nmon_reports);
进入服务端,输入命令,查看数据是否入库,相关命令如下:
#进入数据库操作 influx # 查看目前已有的数据库 show databases # 查看数据库数据保存策略 show retention policies on nmon_reports # 使用nmon_reports库 use nmon_reports # 显示nmon_reports库所有的表 show measurements # 查询数据 select * from CPU_ALL
三、监控数据可视化
启动grafana,配置对应的Dashboard、Data Sources,然后选择配置好的仪表盘,查看可视化的监控数据(如何配置grafana,请看这里:可视化工具Grafana:简介及安装)。