配置项参考
.env 中的全部配置项:必填项、登录与账号、Elasticsearch 连接、模型与推理、实时告警、定时报告与巡检、审计与保留、资源上限。
配置位于安装目录的 .env,由 docker compose 在启动时读入。修改后执行 docker compose -f docker-compose.prod.yml up -d 重建网关容器,修改才生效。
系统设置与 AI 配置页面上可修改的项(Elasticsearch 连接、白名单、脱敏、审计、provider)保存在网关状态卷中,优先级高于 .env。.env 中的这些项只作为首次启动的初始值。
| 变量 | 说明 |
|---|
ES_URL | Elasticsearch 地址,例如 https://es.corp.local:9200。多节点用逗号分隔 |
ES_USER、ES_PASSWORD | Elasticsearch 账号。集群未启用安全认证时留空。也可以改用 ES_API_KEY |
LLM_API_KEY、LLM_BASE_URL、LLM_MODEL | 第一个大模型 provider |
CADDY_SITE_ADDRESS | 分析师访问的域名,多个用空格分隔 |
RST_GATEWAY_SHARED_SECRET | Caddy 与网关之间的共享密钥,deploy.sh 自动生成 |
RST_ADMIN_TOKEN | 运维 API 令牌(X-RST-Admin-Token 头),自动生成 |
RST_ADMIN_PASSWORD_HASH | 首管理员口令哈希,自动生成。未设置时网关拒绝所有非本机登录 |
GATEWAY_IMAGE_TAG | 运行的镜像 tag,由 deploy.sh 写入,在线更新时由 rst-update.sh 修改 |
| 变量 | 默认值 | 说明 |
|---|
RST_ADMIN_USERNAME | admin | 首管理员账号名 |
RST_SESSION_TTL_HOURS | 12 | 登录会话有效期 |
RST_USER_DB_URL | 由 deploy.sh 写入 | 多用户账号表所在的 Postgres。为空时只有单账号 |
RST_USER_DB_PASSWORD | 自动生成 | 自带 userdb 容器的密码 |
RST_ALLOW_DEFAULT_PASSWORD | 空 | 设为 1 允许局域网内使用出厂口令登录,仅用于隔离的试验环境 |
RST_CORS_ORIGINS | 空 | 跨域来源。网关自身提供前端,常规安装不需要 |
| 变量 | 默认值 | 说明 |
|---|
RST_ES_VERIFY_CERTS | true | 校验 Elasticsearch 服务端证书。自签证书时设为 false 或配置 CA |
ES_API_KEY | 空 | Elasticsearch API key(返回中的 encoded 值)。设置后优先于 ES_USER / ES_PASSWORD;未配置 Kibana 凭据时 Kibana 调用也使用它。只能在 .env 中设置,见 使用 API key |
RST_ES_CA_CERT | 空 | 私有 CA 的容器内路径,例如 /certs/es-ca.pem。CA 文件放在安装目录的 ./certs/ 下 |
RST_KIBANA_CA_CERT | 空 | Kibana 证书由另一个私有 CA 签发时设置,例如 /certs/kibana-ca.pem。留空时沿用 RST_ES_CA_CERT。该 CA 与公共 CA 一起被信任,不替换公共 CA |
RST_ES_TIMEOUT_S | 30 | 单次 Elasticsearch 请求超时,秒 |
RST_ES_MAX_RETRIES | 2 | 超时或连接错误时的透明重试次数 |
RST_INDEX_WHITELIST | 空 | 可查询的索引模式,例如 logs-*,filebeat-*,winlogbeat-*。建议设置 |
KIBANA_URL | 空 | Kibana 地址,仅用于深链。为空时不生成深链 |
KIBANA_PUBLIC_URL | 空 | 分析师浏览器可访问的 Kibana 地址,与网关看到的地址不同时设置 |
RST_ELK_VERSION | 新装写入 9.5.3 | 仅用于自带的 Elasticsearch 与 Kibana 镜像版本。留空为 8.12.2。已有自带 ES 数据时不要只改这一项,见 自带 Elasticsearch 与 Kibana |
RST_CONVERSATION_BACKEND | es | 多轮会话存储。es 写入 .rst_copilot_conversations,重启后保留,多副本共享。memory 仅保存在进程内 |
RST_CONVERSATION_TTL_DAYS | 7 | 会话闲置过期天数 |
RST_DSL_CACHE_TTL_S | 600 | 相同问题的查询生成结果缓存,秒。0 表示关闭 |
RST_FIELD_DICT_CACHE_TTL_S | 300 | 字段字典扫描缓存,秒 |
| 变量 | 默认值 | 说明 |
|---|
LLM_TIMEOUT_S | 180 | 单次模型调用超时,秒。调查或分诊经常超时时调大 |
LLM_REASONING | auto | 该 provider 的推理强度:auto、off、low、high,见 AI 配置 |
RST_NL2DSL_REASONING | low | 智能查询生成查询这一步的推理强度:none、low、high、native |
RST_LLM_FIRST_TOKEN_TIMEOUT_S | 45 | 生成查询时等待首字的上限,秒。0 表示不限 |
RST_EMBED_MODEL、RST_EMBED_BASE_URL、RST_EMBED_DIM | 空 | 知识库向量模型。建议在 AI 配置页配置 |
RST_EMBED_COOLDOWN_S | 60 | embedding 端点失败后的冷却时间,秒 |
RST_MASKING_MODE | 按许可 | 强制脱敏档位:cloud、private、airgapped |
RST_TIMEZONE | UTC | 模型解释「今天」「昨天」所用的时区。国内部署必须设为 +08:00 |
RST_OUTPUT_LANG | zh | 没有用户请求的后台任务的输出语言:zh、en。用于告警接入的研判摘要、定时报告和通知投递的文字。有请求时输出跟随界面语言 |
RST_RATELIMIT_GENERATE、RST_RATELIMIT_EXECUTE、RST_RATELIMIT_KIBANA_LINK | 30、30、120 | 每 IP 每分钟限速。团队共用一个出口 IP 时调大 |
| 变量 | 默认值 | 说明 |
|---|
RST_ALERT_INGEST_INDEX | 空 | 轮询拉取的告警索引,使用读别名,例如 .alerts-security.alerts-default。为空时不轮询 |
RST_ALERT_INGEST_INTERVAL_SECONDS | 10 | 轮询间隔,秒 |
RST_ALERT_INGEST_LOOKBACK | 1h | 首次拉取回溯的时间窗口,例如 7d。对已有历史告警的索引开启拉取时设置 |
RST_ALERT_WEBHOOK_SECRET | 空 | Kibana Webhook 推送的共享密钥(X-RST-Alert-Token),设置后启用推送 |
RST_ALERT_INGEST_CONCURRENCY、RST_ALERT_INGEST_BUDGET_S | 4、20 | 一次推送最多 200 条,每条调用一次模型生成摘要。这两项限制并发数与总时间预算,秒 |
| 变量 | 默认值 | 说明 |
|---|
RST_REPORT_SCHEDULE | 空 | daily,weekly,monthly 的任意组合。为空时不自动生成 |
RST_REPORT_TZ | 同 RST_TIMEZONE | 报告周期边界的时区 |
RST_REPORT_WEBHOOK_URL、RST_REPORT_WEBHOOK_HEADERS | 空 | 每份报告 POST 的目标 |
RST_REPORT_PERSIST、RST_REPORT_INDEX | 1、.rst_copilot_reports | 归档到 Elasticsearch |
RST_REPORT_CATCHUP_MAX | 7 | 停机期间最多补跑的周期数 |
RST_BASELINE_INTERVAL_SECONDS | 空 | 基线巡检轮询间隔,秒,不小于 300 时生效。为空时只手动触发 |
RST_BASELINE_MAX_AGE_HOURS | 48 | osquery 数据超过此时长判为过期,小时 |
RST_BASELINE_HOST_ROSTER_DAYS | 30 | 超过此天数未上报的主机不再枚举 |
RST_BASELINE_OSQUERY_INDEX | logs-osquery_manager.result-* | 读取的客户 osquery 结果索引 |
RST_BASELINE_RESULTS_INDEX、RST_BASELINE_RULES_INDEX、RST_BASELINE_RUNS_INDEX | baseline-results、baseline-rules、baseline-runs | 网关写入的三个索引 |
| 变量 | 默认值 | 说明 |
|---|
RST_AUDIT_ENABLED | true | 审计事件写入 .rst_copilot_audit |
RST_AUDIT_WEBHOOK_ALLOWLIST | 空 | 审计转发 Webhook 允许的目标主机。为空时只拒绝回环与链路本地地址 |
RST_ILM_BOOTSTRAP | 0 | 设为 1 在启动时创建 ILM 策略与索引模板。启用审计时建议开启 |
RST_AUDIT_RETENTION_DAYS | 180 | 审计索引保留天数,开启 ILM 时生效 |
RST_METRICS_TOKEN | 空 | /metrics 抓取令牌 |
| 变量 | 默认值 | 说明 |
|---|
RST_GATEWAY_CPUS、RST_GATEWAY_MEM | 2、2g | 网关容器上限 |
SSO 相关变量见 SSO。