SmokePing 的安装与配置 __2023年7月26日 __3条评论 __295次阅读 __0人点赞 __Tao_Qi
若无单独说明,按照文章代码块中命令的顺序,一条一条执行,即可实现目标。
适用系统:Debian 系发行版,包括 Ubuntu 和 Armbian,其他发行版按流程稍改命令一般也可。走通预计时间:20 分钟 (建议先走通一遍,再回过头自定义配置文件)
SmokePing 是一款强大而灵活的网络延迟监测工具,且可在网页查看结果图。 简单说,告诉它 IP ,它就会不断 ping,然后把结果保存并用图展示。我在「随身服务器」上安装使用,检测当前与 VPS 的网络状况。实际上,SmokePing 能测试网络的工具很丰富,常用的:FPing、cURL、DNS、FPing6 官网: SmokePing - About SmokePing (oetiker.ch) 使用 Docker 安装 SmokePing 全复制并执行 ,一键创建工作目录并开放端口
[code]
myserve="smokeping"
sudo ufw allow 8899/tcp comment $myserve && sudo ufw reload
mkdir -p ~/myserve/$myserve && cd ~/myserve/$myserve
[/code]
根据注释自定义 ,然后执行,一键创建 docker-compose.yml 文件 (支持 armbian)
[code]
cat > docker-compose.yml << EOF
version: "2.1"
services:
smokeping:
image: lscr.io/linuxserver/smokeping:latest
container_name: smokeping
restart: unless-stopped
environment:
- PUID=1000 # 自定义,可以是用户名,也可以是 UID,如果不懂,填 root
- PGID=1000 # 自定义,可以是组名,也可以是 UID,如果不懂,填 root
- TZ=Asia/Shanghai
volumes:
- ./config:/config
- ./data:/data
ports:
- 8899:80
EOF
[/code]
拉取容器镜像
[code]
docker compose pull
[/code]
启动容器(这时就可以访问网页了,通过 http://ip_addr_or_domain:8899 访问)
[code]
docker compose up -d
[/code]
如果安装在大陆的机子上,需要小小的修改,国外跳过
忘记原因了,似乎不修改 resolve.conf 会没数据出来
需要修改镜像中的 resolve.conf 文件。所有操作均在 ~/myserve/smokeping/ 目录,步骤:
[code]
cd ~/myserve/smokeping/
[/code]
创建自定义resolve.conf: 添加一个国内可用的DNS,这里用的 223.5.5.5
[code]
touch resolve.conf && \
echo "nameserver 223.5.5.5" > resolve.conf && \
echo "options edns0 trust-ad ndots:0" >> resolve.conf
[/code]
创建一个Dockerfile文件用于拉取并修改镜像:
[code]
cat > Dockerfile << EOF
FROM linuxserver/smokeping:latest
COPY ./resolve.conf /etc/resolve.conf
EOF
[/code]
docker-compose.yml 文件改为以下内容,就是把 image: 换成 build::
[code]
cat > docker-compose.yml << EOF
version: "2.1"
services:
smokeping:
build: ./
container_name: smokeping
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./config:/config
- ./data:/data
ports:
- 8899:80
EOF
[/code]
[code]
docker compose up -d
[/code]
- *
启动容器之后,还需要修改一点:
[code]
vim /usr/local/smokeping/config/Probe
[/code]
将以下DNS里面的lookup改为国内网络能够连接的网址,比如 baidu.com 。
[code]
DNS
binary = /usr/bin/dig
lookup = baidu.com
pings = 5
step = 300
[/code]
cd ~/myserve/smokeping && vim config/General
[/code]
添加一个display_name
[code]
*** General ***
owner = LinuxServer.io
contact = [[email protected]](</cdn-cgi/l/email-protection>)
mailhost = my.mail.host
cgiurl = http://localhost/smokeping.cgi
syslogfacility = local0
# 节省空间,删去了注释
display_name = 郑州移动家宽 # 这里
@include /config/pathnames
[/code]
SmokePing 探针的配置文件 先自定义查询频率 :
[code]
cd ~/myserve/smokeping && vim config/Database
[/code]
[code]
*** Database ***
step = 180
pings = 20
[/code]
每 3 分钟查询 20 次。
- step:查询周期,单位秒,多少秒时间 ping 一轮,其实不止 ping ,指的是所有探针的操作
- pings: 每次周期查询多少次,比如,每个节点 ping 多少下
- *
编辑探针的配置文件 :
[code]
cd ~/myserve/smokeping && vim config/Probes
[/code]
常用的有这几个:(更多查看: SmokePing - SmokePing Probes (oetiker.ch))
[code]
*** Probes ***
FPing
binary = /usr/sbin/fping
packetsize = 1000
FPing6
binary = /bin/ping6 # 这个不能按官网的改,因为是 容器版的
DNS
binary = /usr/bin/dig
lookup = baidu.com
pings = 5
step = 300
Curl
binary = /usr/bin/curl
forks = 5
offset = 50%
[/code]
这里的 pings 会覆盖上面的。
- *
可以在配置文件里任意更改探针类型,使用哪个,就在前面加 probe = 探针名称 (如果看得头大,不妨先跳过)
[code]
*** Targets ***
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to this SmokePing website.
network
menu = Net latency
title = Network latency (ICMP pings)
myhost1
host = myhost1.example
myhost2
host = myhost2.example
services
menu = Service latency
title = Service latency (DNS, HTTP)
DNS
probe = DNS # 这里 probe 换成了 DNS
menu = DNS latency
title = Service latency (DNS)
dns1
host = dns1.example
dns2
host = dns2.example
[/code]
监测 ip 配置文件 例子: SmokePing - smokeping_examples (oetiker.ch) 简单说明:
- 这里填标识符,可以用大小写英文字母、数字、下划线和减号
- menu = 菜单显示的内容
- title = 页面顶部显示的内容
- host = 要 ping 的目标,域名和IP都行
- 每次更改配置要重启容器生效
这里可以先按照下面的格式,随便填填,然后看网页上有什么变化,这样容易还快。
[code]
cd ~/myserve/smokeping && vim config/Targets
[/code]
这是一个我自己使用的缩减示范版,可以先不改,走通流程,运行看看,再自定义:
[code]
*** Targets ***
probe = FPing
menu = Top
title = Network Latency Grapher for AhFei
remark = Welcome to my SmokePing website. \
Here you will learn all about the latency of my network.
TheBigThree
menu = 三大运营商
title = 监控统计
CMCC
menu = 移动网络监控
title = 移动网络监控列表
host = /TheBigThree/CMCC/CMCC-BJ /TheBigThree/CMCC/CMCC-TJ /TheBigThree/CMCC/CMCC-HLJ
CMCC-BJ
menu = 北京移动
title = 北京移动
alerts = someloss
host = 221.130.33.52
CMCC-TJ
menu = 天津移动
title = 天津移动
alerts = someloss
host = 211.137.160.5
CMCC-HLJ
menu = 黑龙江移动
title = 黑龙江移动
alerts = someloss
host = 211.137.241.35
# 剩下俩就省略了,太长了
DomesticServer
menu = 国内服务器
title = 监控统计
host = /DomesticServer/Tc
Tc
menu = TencentCloud
title = TencentCloud
alerts = someloss
host = 110.242.68.66
USServer
menu = 北美服务器
title = 监控统计
host = /USServer/Bwg /USServer/NA
Bwg
menu = Bandwagon
title = Bandwagon
alerts = someloss
host = 193.43.142.215
NA
menu = nextarray
title = nextarray
alerts = someloss
host = 193.43.142.215
OtherRegionServer
menu = 其他地区服务器
title = 监控统计
host =
[/code]
关于三大运营商的监测 IP: raw.githubusercontent.com/AhFeil/bash-script/main/smokeping-Targets ,有些失效了,没有更新计划,用不到。
- *
停止容器
[code]
docker compose down
[/code]
重启容器
[code]
docker compose up -d
[/code]
- *
原文链接: https://blog.vfly2.com/2023/07/smokeping-installation-configuration/
版权声明:本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议
dmhy说道: 2023年7月26日 下午7:06
massage说道: 2023年7月26日 下午7:12
心上人说道: 2023年7月26日 下午7:15
发表回复 取消回复电子邮件地址不会被公开。必填项已用 标注 __ __
