Grafana+InfluxDB+Telegraf实现MGR性能可视化监控
一、Influxdb的部署
1.下载地址
https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm
下载rpm包后使用yum的本地安装命令
yum localinstall https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm
2.服务启动
(1)客户端启动
influx
启动后即可进行用户的新建和删除,以及相关数据的增删改查
(2)服务端启动
influxd
3.相关端口
8083:访问web页面的地址,8083为默认端口;
8086:数据写入influxdb的地址,8086为默认端口;
8088:数据备份恢复地址,8088为默认端口;
二、Grafana的部署
1.下载地址
https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.3-1.x86_64.rpm
下载rpm包后使用yum的本地安装命令
yum localinstall xxx
2.服务启动
systemctl start grafana-server.service
3.相关端口
默认侦听端口 3000
三、Telegraf的部署
1.下载地址
http://get.influxdb.org/telegraf/telegraf-0.11.1-1.x86_64.rpm
下载rpm包后使用yum的本地安装命令
yum localinstall xxx
2.服务启动
systemctl start telegraf
四、具体实现方法
1.工作流程简述
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。
InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。
Telegraf 是 InfluxData 下的子项目,是由 Go 语言编写的 metrics 收集、处理、聚合的代理。其设计目标是较小的内存使用,通过插件来构建各种服务和第三方组件的 metrics 收集。
实际使用过程中,由Telegraf采集系统数据,然后写到InfluxDB中,Grafana通过读取InfluxDB中的数据,并展示出来
2.具体配置方法
(1)新建InfluxDB数据库,用于接收来自Telegraf的数据
# 新建一个名为telegraf的数据库
create database telegraf
# 创建数据保存策略,这里数据保存时间为7天,默认采用此策略保留数据
create retention policy "telegraf_7d" on "telegraf" duration 7d replication 1 default
# 查看数据库数据保存策略
show retention policies on telegraf
(2)配置Telegraf的配置文件,实现进程监控
urls为InfluxDB数据库的数据写入端口
retention_policy 默认为default,需要改为空,即""
username和password,InfluxDB写入时所用的用户名密码
第二步,选择需要监控的内容。
上面的截图,显示监控项为 cpu,mem和procstat,即cpu,内存和进程。其中进程中按照可执行文件的名称,监控名为 edr_monitor的进程
具体数据输入部分的写法,请参考下列文档
https://zhuanlan.zhihu.com/p/53376293
配置文件写完后,重启服务
systemctl restart telegraf
第三步,确认数据是否已经写入InfluxDB
登录 http://10.62.12.10:8083/,切换数据库到Telegraf写入数据的数据库下
输入 show measurements 即可查看所有的监控项
输入 select * from procstat 即可查看表内的具体数据
有数据即可进入下一步,若没有,需要自行查看日志或者telegraf的运行状态或者网络问题。
第三步、Grafana配置数据源及数据展示
登录 http://10.62.12.10:3000,首次访问可能需要修改密码。
选择添加新的数据源,新建一个InfluxDB数据源