公司业务发展过程中,随着用户规模的增长。不管是采用传统的idc模式,还是最近比较火的vps。作为运维,不免被老板灵魂拷问,哪家的vps比较好,哪家的idc比较好。价格上没什么好说的,谁高谁低,一幕了然。但是相同的价格下,要比较初一个优劣,肯定要用数据说话。
祭出搜索引擎,一顿搜索。找到了网络上存在的的一键测试脚本,然后再使用过程中,发现输出要不就是相对简单,要不就是很久没有更新了,部分功能失效。 服务器(vps)性能测试脚本汇总
给老板看总不能截几张图就完了吧。于是采众家之长,自己做了一个,起名idcmonitor。以后再也不担心老板要评估选点了。
idcmonitor采用docker部署。具有下面功能:
smokeping
监控网络质量,包括ping,dig等。生成丢包,延迟等数据。
prometheus
收集smokeping采集的数据,与pushgateway配合使用。
grafana
数据展示,展示prometheus的数据。
etcmanager
smokeping配置管理,节点更新,服务器(vps)性能测试,生成测试报告,将smokeping采集数据推送给prometheus。
一台vps
准备一台vps,从零开始部署并使用,记录整个过程。vps采用腾讯云竞价实例作测试, 购买链接
参考文章: docker和docker-compose一键安装脚本
yum install glibc.i686 libstdc++.i686 -y
yum install mesa-libGL.x86_64 opencv -y
yum install jq -y
cd /opt/idcmonitor/
docker-compose up -d
# 计划任务,crontab -e
# 每分钟同步一次数据
*/1 * * * * flock -xn /tmp/datapush.lock -c '/opt/idcmonitor/bin/datapush > /var/log/datapush.log 2>&1'
# 自动更新,smokeping配置
*/3 * * * * flock -xn /tmp/confupdate.lock -c 'cd /opt/idcmonitor/bin/ && ./confupdate > /var/log/confupdate.log 2>&1'
cd myapp/etcmanager/bin/
python3 report.py
通过浏览器访问,然后打印pdf版本(图片见文章头部)
http://ip:3004/r
http://ip:3004
smokeping数据展示
http://ip:3020/smokeping/
smokeping不是很好看,所以将数据推送到prometheus,然后用grafana展示
grafana数据展示
http://ip:3010/
账号:admin
密码:grafana@123