-
使用 docker 运行 smokeping 服务,搭建个人的网络监控.
-
资料来源:
-
更新
19.01.13 初始化
导语
- 常常涉及到服务器的网络质量等问题,通常是移动连不上,电信/联通能连上,某个地区甚至某个县图片不加载,DNS/HTTP劫持,UA带就带ie的劫持,,错综复杂的网络环境,,最后锅全甩在机房.非常需要三网的自动化监控报警.
-
smockeping 自然是驾轻就熟..就是安装太繁琐,,直到遇到了 docker .
-
本文的目标就是搭建一个简单单点的三网监控.
smockeping
- Smokeping是一款用于网络性能监测的开源监控软件,主要用于对IDC的网络状况,网络质量,稳定性等做检测,带宽占用要靠cacti或zabbix了.
- DockerHub 上有不少打包好的镜像,非常方便部署.当然肯定有缺点,基本只能单点用了,折腾 master / slave 需要一些工作量,还未涉及到.
安装
- 这里用到的是下载最多的 linuxserver/smokeping 这个镜像.
- 如果上面地址打不开,可以到对应 Github .
-
官方的说明比较详细.
-
安装实际上就是拉取镜像
docker pull linuxserver/smokeping
-
试运行,这个镜像中有一组默认的配置.先试运行.
-
命令
docker run \ --name=smokepings \ --rm \ -e TZ=Asia/Shanghai \ -p 80:80 \ linuxserver/smokeping
-
容器运行几分钟后,查看效果,
- 基础配置都是国外的主流网站,没有监控结果.
-
配置
-
这个镜像中的配置文件都在 /config ,数据在 /data .这里拷贝出来,挂载本地文件夹形式,实现数据的持久化.
-
命令
mkdir -p /data/smokeping docker cp smokeping:/data/ /data/smokeping/ docker cp smokeping:/config/ /data/smokeping/ docker stop smokeping # 停止容器
-
进入本地 /smokeping/config/ 开始修改配置文件.
-
-
我们主要需要修改的是 Database , Presentation , Targets .
-
Database 主要是监控的频率和探针数量.
-
找到
step = 300 pings = 20
-
修改为,默认一次的监控周期改为1分钟,探针数量20不变.
step = 60 pings = 20
-
-
Presentation 主要是 smokeping 的图表和第一栏的设置.需要改动内容不多, 不过为了看着方便,这里汉化了一部分内容. # 号后为博主加的注释.
- 文件
template = /etc/smokeping/basepage.html charset = utf-8 #支持utf-8所以可以汉化一部分 + charts # 以下为第一栏内容,纯图方便,只个人看着懂意思. menu = 排行榜 title = 排行榜 ++ stddev sorter = StdDev(entries=>4) title = 综合指数排行 menu = 综合指数 format = 综合指数 %f ++ max sorter = Max(entries=>5) title = 最大延迟 menu = 最大延迟 format = 最大延迟时间 %f 秒 ++ loss sorter = Loss(entries=>5) title = 丢包率 menu = 丢包率 format = 丢包 %f ++ median sorter = Median(entries=>5) title = 中间数据包延迟 menu = 中间数据包延迟 format = 中间数据包延迟 RTT %f 秒 + overview width = 600 height = 50 range = 10h + detail width = 600 height = 200 unison_tolerance = 2 # 图表横坐标,这里改为 1小时,1天,10天,360天,更符合习惯. "Last 1 Hours" 1h "Last 24 Hours" 24h "Last 10 Days" 10d "Last 360 Days" 360d #+ hierarchies #++ owner #title = Host Owner #++ location #title = Location
- 文件
-
Targets 内则是监控的主体,主要工作量在这里了,这里是监控本地到各个运营商当地 DNS 的通路,当地 DNS 一般很少变动,因此具有参考意义.但是 N多的DNS 开始过滤外地的请求,连外地的 icmp 都直接不相应,好在最后收集了全了现在还能用的.
-
附录: 各地DNS地址,多换几个试试.
-
Targets 基础的格式还是比较好懂的.说明在注释了.
*** Targets *** probe = FPing # 无需修改 menu = Top title = Network Latency Grapher remark = Welcome to the SmokePing website of WORKS Company. \ Here you will learn all about the latency of our network. + Other # 第一层级 menu = 国内线路 title = 国内线路 ++ dianxin #电信 menu = 电信网络监控 title = China Telecom host = /Other/dianxin/dianxin-bj /Other/dianxin/dianxin-sh / Other/dianxin/dianxin-gz +++ dianxin-bj menu = Telecom BeiJing title = Telecom BeiJing alerts = someloss host = 202.96.199.133 +++ dianxin-sh menu = Telecom ShangHai title = Telecom ShangHai alerts = someloss host = 202.96.209.133 +++ dianxin-gz menu = Telecom GuangZhou title = Telecom GuangZhou alerts = someloss host = 218.20.227.1 ++ liantong #联通 menu = 联通网络监控 title = China Unicom host = /Other/liantong/liantong-bj /Other/liantong/liantong-sh /Other/liantong/liantong-gz +++ liantong-bj menu = Unicom BeiJing title = Unicom BeiJing alerts = someloss host = 61.135.169.121 +++ liantong-sh menu = Unicom ShangHai title = Unicom ShangHai alerts = someloss host = 203.95.1.1 +++ liantong-gz menu = Unicom GuangZhou title = Unicom GuangZhou alerts = someloss host = 210.21.4.130 ++ yidong # 移动 menu = 移动网络监控 title = China Mobile host = /Other/yidong/yidong-bj /Other/yidong/yidong-sh /Other/yidong/ yidong-gz +++ yidong-bj menu = Mobile BeiJing title = Mobile BeiJing alerts = someloss host = 221.130.33.52 +++ yidong-sh menu = Mobile ShangHai title = Mobile ShangHai alerts = someloss host = 58.34.8.36 +++ yidong-gz menu = Mobile GuangDong title = Mobile GuangDong alerts = someloss host = 211.136.192.6
-
-
-
保存配置文件.
运行
-
启动容器,大幅度更改了配置文件后,最好清除 /data 下数据.
挂载 /config /data 到容器,启动.
docker run \ --name smokeping \ -d \ -p 80:80 \ -e TZ=Asia/Shanghai \ -v /data/smokeping/data:/data \ -v /data/smokeping/config:/config \ linuxserver/smokeping
-
效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 搭建zabbix监控系统
- 搭建大众点评CAT监控平台
- 搭建大众点评CAT监控平台
- 实战 Prometheus 搭建监控系统
- 使用 Nagios 搭建监控服务器
- SeaGlass:手工搭建伪基站监控系统
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Structures and Algorithms with JavaScript
Michael McMillan / O'Reilly Media / 2014-2-22 / USD 28.51
If you’re using JavaScript on the server-side, you need to implement classic data structures that conventional object-oriented programs (such as C# and Java) provide. This practical book shows you how......一起来看看 《Data Structures and Algorithms with JavaScript》 这本书的介绍吧!