当前位置: 首页 > news >正文

机房ping监控全国主要城市

前言

当初项目的本意是为了监测中心机房到全国各地(主要是省会与重要城市)的ping速率而创建,目标ip地址是根据某个ip网站爬取,而现在该网站已经下线了,导致目标ip无法获取,再加上所用组件版本已经年久失修,最后是本人懒惰~~,导致项目已经不可用很久了

今年勤奋战胜懒惰,又重新占领高地,想着把该项目重修修缮一遍

开始修缮

更换ip库:放弃了之前的网站,重新找了一份ip地址库,并且会定期更新

部署方式变更:使用docker容器部署,方便部署,

加入更多城市:不但跟踪省会以及重要城市,还有地级市也一并跟踪了

自动更新ip:每3个小时处理不能ping通的ip,并且从ip库找一个可用的ip地址更新

更换最新页面:可以选择使用原生的页面,也可以prometheus+pushgateway+grafana查看更细致的页面

安装

docker volume create idc_ping_monitor_V

docker run -d --name idc_smokeping -p 8001:80 -v idc_ping_monitor_V:/opt -v ./data:/data registry.cn-beijing.aliyuncs.com/wilsonchai/idc_smokeping:v1

docker run -d --name idc_sidecar -v idc_ping_monitor_V:/opt -v ./data/:/data registry.cn-beijing.aliyuncs.com/wilsonchai/idc_sidecar:v1

这里需要注意的是,./data文件存放了所有城市的ping数据,idc_smokeping与idc_sidecar需要共享该目录。如果之前的数据不想要,可直接删除即可

如果有需要推送到pushgateway,那就需要重新配置idc_sidecar

注:prometheus需要idc_ping_monitor启动6分钟之后才会有数据

docker rm -f idc_sidecar

docker run -d --name idc_sidecar -e PUSHGATEWAY_URL=10.22.12.178:9091 -v idc_ping_monitor_V:/opt -v ./data/:/data registry.cn-beijing.aliyuncs.com/wilsonchai/idc_sidecar:v1

编译

如果需要自己编译,也可以进入两个目录分别操作

idc_smokeping

cd smokeping && docker build . -t registry.cn-beijing.aliyuncs.com/wilsonchai/idc_smokeping:v1

idc_sidecar

cd sidecar && docker build . -t registry.cn-beijing.aliyuncs.com/wilsonchai/idc_sidecar:v1

详解

idc_smokeping:使用smokeping作为数据采集端,负责采集到各城市ip的ping数据,存为rrd格式的数据文件,每3分钟采集一次,并且每3小时会应用一次新的城市ip(如果有更新)

idc_sidecar:

使用cron+python脚本,每小时检查城市ip是否能够ping通,如果不能ping通,就立刻在ip库中更换一个

如果配置了环境变量:PUSHGATEWAY_URL,那每3分钟将各个城市的数据采集到pushgateway,从而进入prometheus,方便后续分析

./data:各城市的ping数据存放在宿主机当前目录的./data下面,便于保存、备份或者删除

idc_ping_monitor_V:docker volume,用来存放各城市的ip地址以及ip库

效果

1)原生的效果图

watermarked-idc_monitor_ping_1

2)grafana

watermarked-idc_monitor_ping_2

这里需要注意的是:该panel有2个参数:省份和城市。省份可以选择,由于城市过多(1010个),选择城市的时候需要自行输入

代码仓库

代码地址

最后再来分析一下仓库目录下的代码组成,方便大家使用

▶ tree -L 1

.

├── grafana

├── sidecar

└── smokeping

grafana目录主要存放了grafana的模版文件,需要的时候直接导入进grafana即可

▶ ls -l grafana

total 20

-rw-rw-r-- 1 wilson wilson 18946 11月 5 18:43 全国速率监测(地级市版).json

sidecar目录主要存放了各种操作城市数据相关的脚本

smokeping目录主要存放了smokeping相关的配置文件

http://www.cnnetsun.cn/news/112007.html

相关文章:

  • Apache Impala为啥TBDS、华为MRS弃用?为什么不能做到无缝切换平缓迁移
  • 从开发到上线:智能Agent的Docker部署全链路实践(含YAML模板)
  • 智能连接与自动化引擎的全能表单系统,重新定义数据收集与业务流程的协同
  • 如何彻底解决企业级数据流程编排难题:Apache DolphinScheduler完整指南
  • 深度学习框架生态竞争格局:从Stable Diffusion WebUI Forge看技术选型逻辑
  • better-sqlite3深度解析:Node.js数据库操作的性能革命
  • 终极AI平台wgai:零门槛构建国产化智能识别系统
  • 基于VUE的企业协同管理系统 [VUE]-计算机毕业设计源码+LW文档
  • 如何快速使用bandcamp-dl:命令行音乐下载工具的完整教程
  • 【Excel VBA 编程】第61讲:两种方法驾驭文本处理猛兽
  • 探索金领冠珍护源初的纯净世界:2025年健康奶粉新篇章
  • Solon 不依赖 Java EE 是其最有价值的设计!
  • MegSpot:专业级图片视频对比工具全方位使用指南
  • LaMa图像修复模型性能优化实战:从PyTorch到TensorRT的完整加速方案
  • WAN2.2视频生成革命:如何用4步采样重新定义创作效率?
  • 终极Headscale配置指南:从零到精通
  • Sapiens视觉系统如何实现工业级稳定性:5个关键技术解析
  • so-vits-svc F0预测器实战指南:从问题诊断到性能调优
  • RapidJSON性能飞跃:揭秘C++ JSON解析的极限优化方案
  • 高效ESP32文件系统管理:专业级SPIFFS部署实战指南
  • linpack测试HPL.dat配置文件
  • sist2:构建高效文件检索系统的开源利器
  • 技术视角深析:2025年TOP5 AI种草营销服务商的架构设计与工程实现
  • Citra模拟器终极解决方案:5步快速修复常见问题指南
  • 揭秘Docker MCP网关常见错误:5个高频故障的根因分析与应对方案
  • 提升Monaco Editor行号显示效果:三种实用优化方案
  • 企业级多语言构建革命:Bazel如何重塑你的开发流程?
  • 【量子电路可视化终极指南】:手把手教你用VSCode打造高效渲染工作流
  • 快速掌握pandapower:电力系统建模与分析的终极指南 [特殊字符]
  • 突破性姿态识别引擎:打造智能动作分析新标杆