Grafana系统性能监视器
之前在服务器监控工具一文中提到了许多系统监控工具,其中有一些工具也可以用于观察系统当前的运行状态;但本文介绍的是持续、稳定、有历史记录的监视系统状态的工具,例子如LUG SERVER STATUS,正如例子所示,本文介绍的是以Grafana
为展示工具的系统性能监视工具。
概述
我目前有台ArchLinux服务器,所以目前的需求就是监控它,同时以下工具均支持Docker,所以如果有其它系统环境的话可以考虑在Docker下搭建。总的来说,完成系统性能监控器回答下面三个问题即可
- 数据从哪里来
一般系统的数据性能情况可以通过top
,nestat
,ps
等多个工具来查看,但一项一项的手工读取并存储入数据库很麻烦,而Telegraf
就是一个收集系统和服务的统计数据的软件,并自动记录和存储入数据库 - 数据存储在哪里
为保存历史记录,实时的数据需要被妥善的存储记录起来,InfluxDB
是一个时序型数据库,主要用于存储时序型相关的数据 - 数据如何展示
展示部分就交给可视化软件Grafana
啦,它提供了丰富的展示方案和预警功能
所以TIG(Telegraf
+InfluxDB
+Grafana
)监控器的总体关系如下:
安装和使用
Telegraf
安装1
sudo yaourt -S telegraf-bin
然后需要配置/etc/telegraf/telegraf.conf
,其中主要关注[global_tags]
, [agent]
, [[outputs.influxdb]]
,还有INPUT PLUGINS
的所有需要监控的部分,总的来说按照注释的说明填写即可;其中有必要说明一下INPUT PLUGINS
里有许多内容默认或者空着就好,Telegraf
会自动识别相应系统指标的名称。
INPUT PLUGINS
->system plugin
: 主要监控项包含CPU
, DISK
, KERNEL
, KERNEL_VMSTAT
, NETSTAT
, PROCESS
, SYSTEM
- CPU中有两个参数,分别为
totalcpu
和percpu
,如果为true
即分别采集相关cpu
的指标。主要指标有:user
,nice
,system
,idle
,iowait
,cpu_usage
等 DISK
:主要指标有free
,total
,used
(单位字节),uesd_percent
,inode_free
,inode_total
,inode_used
。需要注意的是,used_percent
指标通过使用used/(used+free)
计算得出MEM
:主要指标total
,available
(/proc/meminfo
原生值),available_percent
(available / total * 100
),used_percent
(used / total * 100
)NET
:通过lsof
采集tcp
连接状态和udp
相关信息。指标:established
,syn_sent
,syn_recv
,fin_wait1
,time_wait
,close
,listen
,closing
PROCESS
:收集进程总数个状态组(zombie
,sleeping
,running
),也是通过采集/proc
中的数据SYSTEM
:系统负载,load1,2,3
保存后先用telegraf -config /etc/telegraf/telegraf.conf -test
检查一下配置是否有冲突,然后启动:1
2sudo systemctl start telegraf
sudo systemctl enable telegraf
InfluxDB
安装并启动1
2
3sudo pacman -S influxdb
sudo systemctl start influxdb
sudo systemctl enable influxdb
InfluxDB
服务会启动三个端口:8086为服务的默认数据处理端口,主要用来InfluxDB
数据库的相关操作,可提供相关的API;8083为管理员提供了一个可视化的web界面,用来为用户提供友好的可视化查询与数据管理;8088主要为了元数据的管理。需要注意的是,InfluxDB
默认是需要influxdb
用户启动,且数据存放在/var/lib/influxdb/
下
Grafana
安装并启动1
2
3sudo pacman -S grafana
sudo systemctl start grafana
sudo systemctl enable grafana
Grafana
默认会开启3000端口,成功启动之后就可以通过http://localhost:3000
来访问Garfana
的界面,然后进行相关的数据源配置以及所需的图标指标配置。
简单使用:
首次打开Grafana
会提示进行用户认证,默认是admin
用户,密码也是admin
; 剩下的就是 添加数据源
->新建Dashboard
->新建Panel
->Add Query
->Choose Visualization
即可,其中Dashboard是Grafana
的工作台的意思,每个Panel
就是一张图表,工作台可以罗列多张图表;Add Query
部分要根据自己的需求定制SQL语句