快速部署¶
1. 服务端配置¶
版本要求 >= 1.5.0, 根据你的主机修改 config.toml
以下部分字段配置
# hosts 跟 hosts_group 两种配置模式任挑一种配置即可
# name 主机唯一标识,不可重复,alias 为展示名
# notify = false 单独禁止单台机器的告警,一般针对网络差,频繁上下线
# monthstart = 1 没启用vnstat时,表示月流量从每月哪天开始统计
# disabled = true 单机禁用
# location 支持国旗emoji https://emojixd.com/group/flags
# 或国家缩写,如 cn us 等等,所有国家见目录 web/static/flags
# 自定义标签 labels = "os=centos;ndd=2022/11/25;spec=2C/4G/60G;"
# os 标签可选,不填则使用上报数据,ndd(next due date) 下次续费时间, spec 为主机规格
# os 可用值 centos debian ubuntu alpine pi arch windows linux
hosts = [
{name = "h1", password = "p1", alias = "n1", location = "🏠", type = "kvm", labels = "os=arch;ndd=2022/11/25;spec=2C/4G/60G;"},
{name = "h2", password = "p2", alias = "n2", location = "🏢", type = "kvm", disabled = false},
{name = "h3", password = "p3", alias = "n3", location = "🏡", type = "kvm", monthstart = 1},
{name = "h4", password = "p4", alias = "n4", location = "cn", type = "kvm", notify = true, labels = "ndd=2022/11/25;spec=2C/4G/60G;"},
]
# 主机组动态注册模式,不再需要针对每一个主机做单独配置
# gid 为模板组id, 动态注册唯一标识,不可重复
hosts_group = [
# 可以按国家地区或用途来做分组
{gid = "g1", password = "pp", location = "🏠", type = "kvm", notify = true},
{gid = "g2", password = "pp", location = "🏢", type = "kvm", notify = true},
# 例如不发送通知可以单独做一组
{gid = "silent", password = "pp", location = "🏡", type = "kvm", notify = false},
]
# 主机组动态注册模式下,无效数据清理间隔,默认 30s
# 这个设置要比较通知间隔 notify_interval 大,不然收不到告警通知
group_gc = 30
# !!! 一键部署没问题不需要动,server 会自行根据你的域名生成 server_url
# 用于修正一键部署,请自行替换 ssr.rs 为你的域名
# server_url = "https://ssr.rs/report"
# 默认安装的路径
workspace = "/opt/ServerStatus"
动态注册模式下 group_gc
设置要比较通知间隔 notify_interval
大,不然收不到告警通知
2. 一键部署客户端 ¶
先按照前面的文档部署好你的 Server
,请自行替换下面的 ssr.rs
为你的域名
# 参数说明
# uid 对应 config.toml hosts 的 name
# gid 对应 config.toml hosts_group 的 gid
# pass 为对应的 uid/gid 密码
# vnstat 默认 0: 不开启, 1: 开启
# weight 排序加权
# 下面参数要求 (version >= v1.5.1)
# ping 0/1 默认 1 开启
# tupd 0/1 默认 1 开启
# extra 0/1 默认 1 开启
# cn 0/1 默认 0 关闭 (cn加速,coding.net)
# 下面参数要求 (version >= v1.5.2)
# notify 0/1 默认 1 开启通知
# type 可选指定显示的主机类型
# loc 可选指定显示的主机位置 (暂不支持 emoji 表情符号)
# 下面参数要求 (version >= v1.5.7)
# vnstat-mr 默认 1,适配 vnstat month rotate 逻辑,可用值 1-28,
# 下面参数要求 (version >= v1.6.1)
# cm 移动 探测地址 eg. cm.abc.com:80
# ct 电信 探测地址 eg. ct.abc.com:80
# cu 联通 探测地址 eg. cu.abc.com:80
# iface 指定网口统计
# exclude-iface 排除网口统计
# 下面参数要求 (version >= v1.7.1)
# ip-source 指定 ip 信息源,可用值 ip-api.com / ip.sb / ipapi.co / myip.la
# interval 上报间隔
# 对应配置文件 config.toml 的 hosts
# stat_client 一键安装命令
curl -sSLf "https://ssr.rs/i?pass=p1&uid=h1" | bash
# 对应配置文件 config.toml 的 hosts_group
# stat_client 一键安装命令, 动态注册模式
# 不同的主机可以运行相同的命令注册到同一组
curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&alias=$(hostname)" | bash
# 安装并启用 vnstat,细节参见 https://doc.ssr.rs/vnstat
curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&vnstat=1&alias=$(hostname)" | bash
# 指定 month rotate 为 7 号
curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&vnstat=1&vnstat-mr=7&alias=$(hostname)" | bash
# 指定 位置 & 类型
curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&alias=$(hostname)&type=arm&loc=home" | bash
# 安装并将这台 vps 置顶显示
curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&weight=10000&alias=$(hostname)" | bash
# 自定义 ping 地址
curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&alias=$(hostname)&cm=cm.abc.com:80" | bash
# 调试
curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&vnstat=0&alias=$(hostname)" > ssr-client-init.sh
bash -x ssr-client-init.sh
故障排查
-
检查
/i
这个路由是否畅通 -
如果生成的
ssr-client-init.sh
文件不对,可以尝试调整配置文件config.toml
的server_url
和workspace
参数 -
手动执行调试