不写一行代码打造一款可视化服务器资源监控平台

不写一行代码打造一款可视化服务器资源监控平台

在做性能测试时,我们除了关注TPS、QPS、并发数等一系列指标之外我们还需要关注服务器的资源占用情况,但是linux提供的命令并不够直观,不利于通过数据进行分析,这就以至于很多服务器资源监控的工具诞生。今天介绍一款基于python的服务器监控工具,并利用它打造一款可视化服务器监控平台。

glances:

glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。

为什么选择glances呢?glances 工具可以在用户的终端上实时显示重要的系统信息,并动态地对其进行更新。这个高效的工具可以工作于任何终端屏幕。另外它并不会消耗大量的 CPU 资源,通常低于百分之二。glances 在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。您也可以自己将这个时间间隔更改为更长或更短的数值。glances 工具还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和绘制图形。输出文件可以是电子表格的格式 (.csv) 或者 html 格式。而且它配合influxdb使用,效果更佳!

 

 

 

 

glances安装(可以通过镜像安装,方便的多,此处就不讲了)

Glances是一种跨平台监控工具,它使用python语言开发,旨在通过curses或基于Web的界面呈现大量监控信息。信息根据用户界面的大小动态调整.

需要先安装python:

先安装openssl(一般linux都默认装好的,但是高版本python对低版本的openssl不支持)
1、编译安装openssl
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=$HOME/openssl shared zlib
make && make install
2、加入到环境变量之中
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
source $HOME/.bash_profile
安装python3.7(建议3.4以上版本)
1、编译安装python3
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
tar -zxvf Python-3.7.0.tgz
./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl
make && make install
echo $HOME
2、建立软连接:
ln - /root/Py37/bin/python3 /usr/local/bin/python3
ln - /root/Py37/bin/pip3 /usr/local/bin/pip3
安装glances(使用豆瓣镜像源下载,速度翻倍)
pip3 install glances  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip3 install bottle  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
​
ln - /root/Py37/bin/glances /usr/local/bin/glances
控制台输入命令:glances(glances -w 可通过浏览器展示)[启动报错缺少模块的话,缺啥装啥]

 

 

 

influxd安装

InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展

官网:https://docs.influxdata.com/influxdb/v1.7/introduction/installation/

不同服务器安装:

 

 

 

centos还是使用yum安装方法:

1、yum源设置
#1、
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
#2、
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
2、下载安装、启动
yum install influxdb
service influxdb start
3、python安装对应模块
pip3 install influxdb  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
操作:
1、创建glances数据库
influx  #控制台输入:influx,进入influx
create database glances  #创建数据库
2、将“glances.conf”文件copy一份到/etc/glances/ 目录下
cp /root/Py37/share/doc/glances/glances.conf /etc/glances/  #后面glances启动,带指定参数时,会自动在influxdb生成表
glances --export influxdb  #运行glances,并将数据存入influxdb中

Grafana安装

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知

下载安装(官网下载太慢了,幸好目前清华镜像源也有了Grafana)

官网下载(不推荐)
wget https://dl.grafana.com/oss/release/grafana-6.4.4-1.x86_64.rpm
yum install -y grafana-6.4.4-1.x86_64.rpm
yum clean all
使用清华镜像源下载
1、新建 /etc/yum.repos.d/grafana.repo,内容为:
[grafana]
name=grafana
baseurl=https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm
repo_gpgcheck=0
enabled=1
gpgcheck=0
2、再执行:
yum makecache
yum install grafana
service grafana-server start #端口默认3000

 

 

 

 

 

 

 

 

 

配置文件位于/etc/grafana/grafana.ini,这里暂时保持默认配置即可

配置grafana

浏览器中登录:,端口默认3000,用户名与密码都是admin

 

 

 

点击Add data source,添加数据源

 

 

 

选择我使用的influxDB:

进行数据库配置:

配好之后点击:“Save & Test”

添加控制面板:

导入dashboard(该dashboard是专门用于glances的)

附dashboard下载地址:https://grafana.com/grafana/plugins?direction=asc&orderBy=weight&type=panel

填写相关信息,点击Import:
然后等着数据的填充吧:

效果图:

 

 

写在最后:

一行代码没写,有了一款可视化服务器性能监控平台,还是挺不错呢。该平台结合性能测试使用可以帮助分析性能测试过程遇到的问题,监控性能压测过程中服务器各个资源使用的情况。如果对仪表盘中的数据展示效果不满意还可以自己进行设置,数据过滤等。具体请参考grafana官方文档。有了服务器资源监控平台,下一步就想着是不是要有个性能压测平台呢?初步构思:Locust+Httprunner+Flask+Progresql应该可以实现,敬请期待吧...希望不要烂尾了!!!

posted @ 2020-06-19 11:28  风车车与车车风  阅读(1045)  评论(0编辑  收藏  举报