搭建炫酷的服务器监控平台

本文所使用的工具为如下:

Telegraf「数据采集」

InfluxDB「数据存储」

Grafana「数据可视化」

一般的我们如果需要搭建服务器监控平台,需要去读取服务器实时的内存信息,CPU状态等等,就正如我们上一篇使用python从零搭建服务器监控系统一样。如果大家没看过之前的那篇文章,推荐大家去看看。里面有搭建监控系统的整个思路。总的来说就是数据采集,数据存储,数据可视化这三个方面。

这次我们使用的是Influxdata公司提供的全家桶。Telegraf、InfluxDB、Grafana。

Telegraf是专门用来采集数据的,在这里我们也有自己采集数据的办法(大家还记得psutils吗?),这里我们不再过多赘述。

InfluxDB是一款时间序列数据库,用来存储log日志等这些有时间信息的数据。

Grafana这就是好看的原因了,毕竟界面都在这写的好好的~https://grafana.com/grafana

这里我们使用Docker去快速搭建环境,如果你Docker还没装的话,可以参照Docker入门这篇文章

Telegraf「数据采集」

首先我们使用Docker去安装InfluxDB:

docker run -d -p 8086:8086 --name=influxdb influxdb

640?wx_fmt=png

dcoker会自动从仓库下载最新版本的influxdb镜像,后台运行一个名为influxdb的容器并映射主机8086端口到容器8086端口。

若想将数据存储到宿主机而非容器内,可使用以下命令启动挂载本地目录到容器内。

# $pwd为当前工作目录,可替换为其它宿主机目录

docker run -d -p 8086:8086 -v $PWD:/var/lib/influxdb --name=influxdb influxdb

然后我们访问这个接口:

curl -G http://localhost:8086/query --data-urlencode "q=show databases"

640?wx_fmt=png

能收到以下这样的结果就证明我们运行成功了。

关于我们如何启动容器我们之前在docker那个章节有讲过,启动暂停重启:docker start XXX、docker stop XXX、docker restart XXX

我们现在启动influxdb

640?wx_fmt=png

InfluxDB「数据存储」

下面我们来安装Telegraf:

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.6.3-1.x86_64.rpm

640?wx_fmt=png安装 

sudo yum localinstall telegraf-1.6.3-1.x86_64.rpm

640?wx_fmt=png

我们可以修改Telegraf的配置文件(/etc/telegraf/telegraf.conf)来配置它数据输出至influxdb。

vim /etc/telegraf/telegraf.conf

打开上面四行注释

640?wx_fmt=png

对于telegraf,我们可以使用systemctl指令启动和关闭telegraf:

# 启动

systemctl start telegraf

# 停止

systemctl stop telegraf

Grafana「数据可视化」

最后一步使用docker安装grafana:

docker run -d -p 3000:3000 --name=grafana grafana/grafana

640?wx_fmt=png

初次启动,grafana会创建数据库,时间稍长,稍后即可访问:

http://localhost:3000

打开grafana登录页面。 

输入默认用户名密码登录(admin)

你需要自己创建自己的用户名和密码。

640?wx_fmt=png

640?wx_fmt=png

添加数据源:

640?wx_fmt=png

640?wx_fmt=png

配置:

url需配置成正确的宿主机ip和端口(防火墙需放行8086),若不想暴露数据库端口,可换成influxdb容器的ip地址(需自行进入容器查看,容器重启后可能会发生变化)避免数据库暴露至公网。

InfluxDB Details需填写

数据库名:telegraf

用户名:root

密码:root

640?wx_fmt=png

640?wx_fmt=png

下面要回到主页创建面板:

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

(因为这个机器没怎么使用,所以CPU的占用率会比较低)

当然,我们也可以设置预警信息,当cpu使用超过百分之多少的时候报警:

640?wx_fmt=png

我们看一下设置好使用后的效果:

640?wx_fmt=png

怎么样/看起来是不是很炫酷?所有的数据都一目了然。你也来试试吧!记住,他们是Influxdata全家桶!



640?wx_fmt=gif

“扫一扫,看一看”

文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/tongtongjing1765/article/details/100582080

(完)