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 ""
}
}
}
}