• 首页
  • 归档
  • 关于
  • 搜索
  • 夜间模式
    ©2026  望时代 Theme by OneBlog

    望时代

    搜索
    标签
    # 教程 # Linux # 脚本 # AI # 影音 # 游戏 # 随笔 # 科技 # 认知
  • 首页>
  • >
  • 正文
  • SmokePing 的安装与配置

    2026年06月26日 2 阅读 0 评论 8644 字

    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]

    修改主节点名称 如图所示的地方
    [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) 简单说明:

    1. 这里填标识符,可以用大小写英文字母、数字、下划线和减号
    2. menu = 菜单显示的内容
    3. title = 页面顶部显示的内容
    4. host = 要 ping 的目标,域名和IP都行
    5. 每次更改配置要重启容器生效
    这里可以先按照下面的格式,随便填填,然后看网页上有什么变化,这样容易还快。
    [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 国际许可协议

    1. dmhy说道: 2023年7月26日 下午7:06
    2. massage说道: 2023年7月26日 下午7:12
    3. 心上人说道: 2023年7月26日 下午7:15

    发表回复 取消回复电子邮件地址不会被公开。必填项已用 标注 __ __

    本文著作权归作者 [ doudoudoubao ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    教程
    取消回复

    发表留言
    回复

    Copyright©2026  All Rights Reserved.  Load:0.003 s
    Theme by OneBlog V3.7.1
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。