idcmonitor测试IDC或VPS质量并生成测试报告

行云流水
2022-04-19 / 4 评论 / 881 阅读 / 正在检测是否收录...

前言

公司业务发展过程中,随着用户规模的增长。不管是采用传统的idc模式,还是最近比较火的vps。作为运维,不免被老板灵魂拷问,哪家的vps比较好,哪家的idc比较好。价格上没什么好说的,谁高谁低,一幕了然。但是相同的价格下,要比较初一个优劣,肯定要用数据说话。

祭出搜索引擎,一顿搜索。找到了网络上存在的的一键测试脚本,然后再使用过程中,发现输出要不就是相对简单,要不就是很久没有更新了,部分功能失效。

服务器(vps)性能测试脚本汇总

给老板看总不能截几张图就完了吧。于是采众家之长,自己做了一个,起名idcmonitor。以后再也不担心老板要评估选点了。

项目说明

idcmonitor采用docker部署

模块

名称说明
smokeping监控网络质量,包括ping,dig等。生成丢包,延迟等数据。
prometheus收集smokeping采集的数据,与pushgateway配合使用。
grafana数据展示,展示prometheus的数据。
etcmanagersmokeping配置管理,节点更新,服务器(vps)性能测试,生成测试报告,将smokeping采集数据推送给prometheus。

部署

准备资源

  • 一台vps主机
  • 项目代码


vps初始化

docker和docker-compose一键安装脚本

安装项目依赖

yum install glibc.i686 libstdc++.i686 -y 
yum install mesa-libGL.x86_64 opencv -y
yum install jq -y

启动idcmonitor

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

更新节点IP地址

http://ip:3004

网络质量监控

smokeping数据展示

http://ip:3020/smokeping/

grafana数据展示

http://ip:3010/

FAQ

prometheus清理数据

#prometheus启动时添加参数
 ./prometheus --storage.tsdb.retention=180d --web.enable-admin-api
 
#清理数据
curl -X POST  -g 'http://IP:9092/api/v1/admin/tsdb/delete_series?match[]=up&match[]={alias="未知"}'

文件更新后推送

# 目标节点IP
sh support/ts.sh   myapp/etcmanager/templates/report.html  ip地址

相关文章

评论 (4)

取消
只有登录/注册用户才可评论
  1. 头像
    ajdmed
    · Windows 10 · Google Chrome
    沙发

    thank you share !!!

    回复
  2. 头像
    cc
    · Windows 10 · Google Chrome
    板凳

    终于找到这篇文章了,感谢作者的分享!

    回复
  3. 头像
    si
    · Windows 10 · Google Chrome
    地毯

    终于找到这篇文章了,感谢作者的分享!

    回复
  4. 头像
    皮皮
    · MacOS · Safari
    第4楼

    kabkab表情

    回复
  5. 头像
    · Windows 10 · Google Chrome
    第5楼

    看看

    回复