news 2026/7/7 20:31:09

机房ping监控全国主要城市

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
机房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相关的配置文件

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 16:04:10

开源问答系统助您快速构建在线问答类的知识平台

温馨提示:文末有资源获取方式 开源问答系统超越了简单的问答交互,更侧重于知识的梳理、认证与传播。它旨在帮助运营者构建一个内容严谨、用户信任度高、易于扩散的专业知识枢纽,将分散的经验与智慧转化为可持续的数字资产。源码获取方式在源码…

作者头像 李华
网站建设 2026/7/7 13:31:03

Grafana中文版终极指南:5分钟打造企业级数据监控平台

Grafana中文版终极指南:5分钟打造企业级数据监控平台 【免费下载链接】grafana-chinese grafana中文版本 项目地址: https://gitcode.com/gh_mirrors/gr/grafana-chinese Grafana中文版作为基于官方源码深度优化的专业数据可视化工具,为国内用户提…

作者头像 李华
网站建设 2026/7/6 9:53:32

无需训练数据:EmotiVoice零样本克隆背后的黑科技揭秘

无需训练数据:EmotiVoice零样本克隆背后的黑科技揭秘 在AI语音助手越来越“懂人心”的今天,我们是否还满足于千篇一律的机械音?当智能音箱用你母亲的声音温柔地读出睡前故事,当游戏角色因剧情转折突然语气颤抖、愤怒爆发——这些不…

作者头像 李华
网站建设 2026/7/7 11:49:26

fabric思维链技术终极指南:让AI推理过程一目了然

fabric思维链技术终极指南:让AI推理过程一目了然 【免费下载链接】fabric fabric 是个很实用的框架。它包含多种功能,像内容总结,能把长文提炼成简洁的 Markdown 格式;还有分析辩论、识别工作故事、解释数学概念等。源项目地址&am…

作者头像 李华
网站建设 2026/7/7 10:08:16

Agent服务日志追踪实战(从入门到精通的3大核心方法)

第一章:Agent服务日志追踪的核心价值与挑战在分布式系统架构日益复杂的背景下,Agent作为数据采集与执行调度的关键组件,其运行状态的可观测性直接决定了系统的稳定性与故障响应效率。日志追踪不仅是诊断Agent异常行为的基础手段,更…

作者头像 李华
网站建设 2026/7/6 23:42:19

【量子编程效率翻倍秘诀】:为何顶尖工程师都在用VSCode做电路渲染?

第一章:量子编程效率翻倍的底层逻辑量子计算的核心优势在于其并行处理能力,源于叠加态与纠缠态的物理特性。传统二进制位只能表示0或1,而量子比特(qubit)可同时处于0和1的叠加状态。这一特性使得量子程序在执行某些算法…

作者头像 李华