⚙️ 配置项清单

每个参数都有「命令行 flag」与「环境变量」两种给法,二者等价。优先级:命令行 > 环境变量 > 默认值。

重要:环境变量设空串等于没设

配置读取逻辑对空字符串会回落到默认值。所以 OPSM_HUB=(想关掉授权中心)是无效的, 必须用启动参数 -hub=。

监控端 opsmonitor-server

参数环境变量默认值说明
-addrOPSM_ADDR:9999HTTP 监听地址
-dbOPSM_DB./data/opsmonitor.dbSQLite 文件路径(仅 SQLite,无 MySQL 后端)
-tokenOPSM_TOKENopsmonitor采集端通信密钥,两端必须一致
-userOPSM_ADMIN_USERadmin控制台账号(仅首次启动生效)
-passOPSM_ADMIN_PASSopsmonitor控制台密码(仅首次启动生效)
-retentionOPSM_RETENTION30历史数据保留天数,0 表示永久
-public-urlOPSM_PUBLIC_URL自动反推对外访问地址,反向代理下务必显式指定
-offlineOPSM_OFFLINE_SEC180超过该秒数未上报判定离线
-cpu-alertOPSM_CPU_ALERT90CPU 告警阈值(%)
-mem-alertOPSM_MEM_ALERT90内存告警阈值(%)
-disk-alertOPSM_DISK_ALERT90磁盘告警阈值(%)
-load-alertOPSM_LOAD_ALERT10系统负载告警阈值
-alert-cooldownOPSM_ALERT_COOLDOWN_MIN10同类告警去重冷却(分钟)
-allow-commandOPSM_ALLOW_COMMANDtrue是否允许向采集端下发 shell 指令
-hubOPSM_HUB授权中心地址授权/版本同步中心;要完全离线请用 -hub=
-license-secretOPSM_LICENSE_SECRET空仅用于兼容旧格式 HMAC 授权码(WGC-/OPSM1-/OPSM-)

采集端 opsmonitor-agent

参数环境变量默认值说明
-serverOPSM_SERVERhttp://127.0.0.1:9999服务端地址
-tokenOPSM_TOKENopsmonitor与服务端一致的通信密钥
-token-hash—空通信密钥的 MD5,与 -token 二选一
-nameOPSM_HOSTNAME本机主机名平台显示名称
-intervalOPSM_INTERVAL60上报间隔(秒),平台下发时被覆盖
-updateOPSM_UPDATEautoauto / check / off
-remote-configOPSM_REMOTE_CONFIGautoauto 接受平台下发 / 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 驱动只服务于「数据库监控项」的探测目标。