⚙️ 配置项清单
每个参数都有「命令行 flag」与「环境变量」两种给法,二者等价。优先级:命令行 > 环境变量 > 默认值。
重要:环境变量设空串等于没设
配置读取逻辑对空字符串会回落到默认值。所以 OPSM_HUB=(想关掉授权中心)是无效的,
必须用启动参数 -hub=。
监控端 opsmonitor-server
| 参数 | 环境变量 | 默认值 | 说明 |
|---|---|---|---|
-addr | OPSM_ADDR | :9999 | HTTP 监听地址 |
-db | OPSM_DB | ./data/opsmonitor.db | SQLite 文件路径(仅 SQLite,无 MySQL 后端) |
-token | OPSM_TOKEN | opsmonitor | 采集端通信密钥,两端必须一致 |
-user | OPSM_ADMIN_USER | admin | 控制台账号(仅首次启动生效) |
-pass | OPSM_ADMIN_PASS | opsmonitor | 控制台密码(仅首次启动生效) |
-retention | OPSM_RETENTION | 30 | 历史数据保留天数,0 表示永久 |
-public-url | OPSM_PUBLIC_URL | 自动反推 | 对外访问地址,反向代理下务必显式指定 |
-offline | OPSM_OFFLINE_SEC | 180 | 超过该秒数未上报判定离线 |
-cpu-alert | OPSM_CPU_ALERT | 90 | CPU 告警阈值(%) |
-mem-alert | OPSM_MEM_ALERT | 90 | 内存告警阈值(%) |
-disk-alert | OPSM_DISK_ALERT | 90 | 磁盘告警阈值(%) |
-load-alert | OPSM_LOAD_ALERT | 10 | 系统负载告警阈值 |
-alert-cooldown | OPSM_ALERT_COOLDOWN_MIN | 10 | 同类告警去重冷却(分钟) |
-allow-command | OPSM_ALLOW_COMMAND | true | 是否允许向采集端下发 shell 指令 |
-hub | OPSM_HUB | 授权中心地址 | 授权/版本同步中心;要完全离线请用 -hub= |
-license-secret | OPSM_LICENSE_SECRET | 空 | 仅用于兼容旧格式 HMAC 授权码(WGC-/OPSM1-/OPSM-) |
采集端 opsmonitor-agent
| 参数 | 环境变量 | 默认值 | 说明 |
|---|---|---|---|
-server | OPSM_SERVER | http://127.0.0.1:9999 | 服务端地址 |
-token | OPSM_TOKEN | opsmonitor | 与服务端一致的通信密钥 |
-token-hash | — | 空 | 通信密钥的 MD5,与 -token 二选一 |
-name | OPSM_HOSTNAME | 本机主机名 | 平台显示名称 |
-interval | OPSM_INTERVAL | 60 | 上报间隔(秒),平台下发时被覆盖 |
-update | OPSM_UPDATE | auto | auto / check / off |
-remote-config | OPSM_REMOTE_CONFIG | auto | auto 接受平台下发 / off 只用本地 |
Docker 相关(.env)
| 变量 | 说明 |
|---|---|
OPSM_ADMIN_PASS / OPSM_TOKEN | 控制台密码与通信密钥 |
OPSM_PUBLIC_URL | 对外访问地址(含域名时必设) |
OPSM_LICENSE_MACHINE | 固定容器机器码,避免重建后授权失效 |
TZ | 时区,建议 Asia/Shanghai |
VERSION | 构建镜像时选用的 release/<版本>/ 目录 |
给法示例
# 命令行
./opsmonitor-server -addr :9999 -db /opt/opsmonitor/data/opsmonitor.db \
-token 'my-secret' -public-url http://10.0.0.5:9999 -hub=
# 环境变量(等价)
export OPSM_ADDR=:9999
export OPSM_DB=/opt/opsmonitor/data/opsmonitor.db
export OPSM_TOKEN=my-secret
export OPSM_PUBLIC_URL=http://10.0.0.5:9999
./opsmonitor-server
# 注意:离线要用 -hub=(不能靠 OPSM_HUB= 空串)
存储说明
监控端自身存储只有 SQLite(纯 Go 实现,无需 CGO)。-db 只能改 SQLite 文件路径,
不存在 MySQL 存储后端。工程里出现的 MySQL 驱动只服务于「数据库监控项」的探测目标。