Alpine

Alpine Linux 部署 SmokePing 网络监控

本文介绍如何在 Alpine Linux 系统上部署 SmokePing 网络延迟监控工具,使用 Caddy 作为 Web 服务器,FCGIWrap 处理 CGI 脚本。

系统要求

  • Alpine Linux 3.18+
  • 2GB+ RAM(推荐 4GB+)
  • 20GB+ 磁盘空间
  • 网络连接正常

安装步骤

1. 安装必要软件包

# 更新软件包索引
apk update

# 安装 SmokePing 及相关组件
apk add fcgiwrap fcgiwrap-openrc caddy smokeping smokeping-openrc

# 创建 fcgiwrap 服务用户
useradd -r fcgiwrap-openrc

2. 创建数据目录

# 创建 SmokePing 数据目录
mkdir -p /var/lib/smokeping/Ping
mkdir -p /var/lib/smokeping/DNS

# 设置权限
chown smokeping:smokeping /var/lib/smokeping/Ping
chown smokeping:smokeping /var/lib/smokeping/DNS
chmod 777 /var/lib/smokeping/images/Ping
chmod 777 /var/lib/smokeping/images/DNS

3. 配置 Caddy Web 服务器

创建 Caddy 配置文件 /etc/caddy/Caddyfile

{
    log {
        output file /var/log/caddy/access.log {
            roll_size 100MB  # 单个日志文件最大 100MB
            roll_keep 10     # 保留最近 10 个日志文件
            roll_keep_for 720h  # 保留 30 天(720 小时)
        }
        format console  # 易读的格式,也可改用 json 格式(format json)
    }
}

http://192.168.1.100 {
    # 处理静态资源
    handle /js/* {
        root * /usr/share/webapps/smokeping/
        file_server
    }
    handle /css/* {
        root * /usr/share/webapps/smokeping/
        file_server
    }
    handle /imgcache/* {
        root * /usr/share/webapps/smokeping/
        file_server
    }
    handle_path /images/* {
        root * /var/lib/smokeping/images
        file_server browse
    }

    # 处理 CGI 请求
    handle {
        root * /usr/share/webapps/smokeping/
        reverse_proxy unix//run/fcgiwrap/fcgiwrap.sock {
            transport fastcgi {
                env SCRIPT_FILENAME /usr/share/webapps/smokeping/smokeping.cgi
                split ""
            }
        }
    }
}

在alpine Linux上运行 besttrace

在 alpine Linux上运行 besttrace时,报错no such file or directory,应该是缺少库文件,安装gcompat解决。