跳到主要内容

升级与备份

各类数据的存储位置、升级时保留的内容、备份与迁移方法、降级方式。

本页覆盖 App 的升级、备份、迁移与降级。

数据位置

内容位置升级后
LLM、embeddings、通道、工单、威胁情报的密钥storage/passwords(Splunk 加密)保留
本地配置local/copilot.conf、local/app.conf保留。安装器不覆盖 local/
许可、心跳会话、功能密钥storage/passwords 与 local/app.conf [license]保留
会话、知识库、解法库、分诊结果、资产与身份、报告归档、基线规则与结果、通知配置与投递记录、用户偏好与处置状态、MCP 令牌哈希、工单记录KV store copilot_* 集合保留,集群内复制
审计index=_internal sourcetype=copilot:audit按 _internal 保留期
部署的检测规则、存为 Report 的搜索、数据接入写入的配置search app 的 savedsearches.conf、目标 app 的 local/props.conf与 App 无关
密封的检测引擎bin/detection_core.sealed随包更新

升级

在线更新

管理员打开系统设置,「版本」卡自动检查更新:App 从 GitHub Release 读取签名的更新清单,有新版时按钮显示「更新到 X」。点击后:

  1. 下载与当前安装包同类型(selfcontained 或 fallback)的新版 .spl。
  2. 按签名清单校验大小与 sha256,签名或校验不通过则不安装。
  3. 把当前版本备份到 $SPLUNK_HOME/var/run/rst_splunk_ai_copilot/update/,然后安装新版。
  4. 点「立即重启 Splunk」完成升级。

回退时在 Manage Apps 上传备份的 .spl。操作者需要 install_apps / edit_local_apps 与 restart_splunkd 权限,内置 admin 角色具备。

应用内更新由 copilot.conf 的 [update] enabled 控制(2.0.16 起)。GitHub 上的 fallback 包和 selfcontained 包默认开启,管理员可以在 local/copilot.conf 写 [update] enabled = 0 关闭。splunkbase 包默认关闭,并设置 check_for_updates = 1:新版本显示在 Splunk 的「应用 > 管理应用」中,从那里更新,「版本」卡上原来的更新入口换成一条提示。管理员可以在 local/copilot.conf 写 [update] enabled = 1 重新打开应用内更新,之后的应用内更新安装 GitHub 上的 fallback 包,即离开 Splunkbase 渠道。

搜索头集群成员不能从文件安装 App,「版本」卡会给出提示,集群在 deployer 上更新。暂不支持 Splunk Cloud,原因见安装。

隔离网络中 Splunk 访问不到 GitHub 时,在 local/copilot.conf 中把 release_base_url 指向内网镜像:

[update]
# 默认 https://github.com/Reallysec/RST-AI-Copilot-for-Splunk/releases
release_base_url = https://mirror.example.internal/rst-splunk-ai-copilot/releases

镜像需保持 GitHub Releases 的路径结构:清单在 <release_base_url>/latest/download/release-manifest.token,安装包在 <release_base_url>/download/v<版本>/ 下。是否安装只取决于清单签名,镜像无法改变安装的内容。

手动升级

安装新版 .spl 覆盖,重启。default/ 被替换,local/ 和 KV store 不变。升级后的检查:

  1. 在系统设置的 AI 配置查看引擎状态。selfcontained 包的 bin/lib/ 随包更新,旧版手动 vendor 的依赖被替换。
  2. 在产品激活页确认许可仍有效。在线许可在下次心跳自动补齐新版的功能密钥;离线许可的功能集固定在文件中,新版新增付费点时需要重新签发 .lic。
  3. 新增的 KV 集合由 default/collections.conf 声明,首次访问自动创建。collections.conf 中字段类型的修正(如 1.6.0 把时间戳从 number 改为 string)随包生效,旧文档保持原样。
  4. 浏览器强制刷新一次。Splunk Web 缓存静态资源,App build 号变化后才更新。

升级前不撤销激活。撤销把在线许可的名额归还服务器并清除本机的功能密钥,升级本身不需要该步骤。

从 2.0.2 及更早版本升级到 2.0.3

2.0.3 改为按真实登录用户区分数据,并收紧了出厂默认值。升级后会看到以下变化:

  • 旧的对话与收藏看不到。之前所有用户共用一份(记在 nobody 名下),2.0.3 起每人一份,旧数据不迁移。
  • 从没在界面保存过 LLM 设置、一直用出厂默认地址的安装,升级后调用 AI 会提示「AI 模型尚未配置」。到 AI 配置页填写模型地址、模型名和 API key 后恢复。
  • Splunk Enterprise 上点「立即重启 Splunk」后需要重新登录。

从 2.0.3 升级到 2.0.4

  • 离线宽限从 14 天改为 3 天,copilot.conf 中的 offline_grace_days 只能调短。许可服务器的回包必须带签名回执。
  • MCP 的索引类工具需要先在 MCP 接入页配置低权限搜索账号,未配置时停用。见 MCP 接入。
  • SPL 只读检查更严:带 map、宏、dbx*、fit 的检测规则部署和预览会被拒绝。升级前检查已有检测规则是否用到这些写法。
  • 告警通知与 ServiceNow / Jira 工单按 [masking] mode 脱敏;脱敏失败时不发送。

从 2.0.4 升级到 2.0.5

  • 知识库内容和发给 embeddings 端点的文本按 [masking] mode 脱敏。升级后,已有向量在后台按当前脱敏模式重新生成,每轮最多 64 条(copilot.conf [embeddings] reindex_batch,设为 0 关闭自动重建)。重建期间会调用 embeddings 端点,检索效果在重建完成前略有下降。
  • selfcontained 包只支持 Linux x86_64。装在其他平台上时许可验证会失败,付费功能不可用;Windows、ARM(aarch64)主机或从 Splunkbase 安装请使用 fallback 包。

从 2.0.6 升级到 2.0.7

  • App 列表中的名称改为 RST AI Copilot for Splunk。App ID rst_splunk_ai_copilot 不变,配置和数据不受影响。
  • 升级后后台会重新扫描一次知识库,为没有向量的内容补生成向量,每轮最多 [embeddings] reindex_batch 条。扫描期间会调用 embeddings 端点。
  • embeddings 调用计入 [usage] 月度预算。价格表中没有单独设置 embeddings 模型的价格时,按默认价格计算。
  • 新增 copilot.conf [embeddings] max_input_chars(默认 8000),超出部分在发送前截断。本地小模型的输入上限较低时可以调小。

从 2.0.7 升级到 2.0.8

  • 首次运行时,会给 2.0.7 已有的知识库向量统一补上 vec_sig 标记,一次批量写入 KV。不调用 embeddings 端点,也不重新生成向量;以后更换 embeddings 模型或端点时,才会自动重新索引。
  • embeddings 调用不再按默认的大模型 token 价格计费:token_prices 中没有为 embeddings 模型单独设置价格时,用量显示为「未定价」。
  • ES 8 的自定义状态:ES 只接受按角色启用过的状态流转。请在 reviewstatuses.conf 中为相应角色(例如 ess_analyst、ess_admin)启用,格式为 [transitioner:<角色>] 下的 transition_reviewstatus-<原状态>_to_<新状态> = enabled。未启用时 ES 会拒绝更新,App 会直接显示 ES 给出的原因(「…the transition is not allowed」)。
  • 工作流操作的名称默认改为英文「Investigate with Copilot」,并附带中文语言包「用 Copilot 调查」。ES 8 分析师队列「More」菜单中的工作流操作不会本地化,这是 Splunk 的限制。
  • 本版另外的变化:
    • ES 8 下调查和分级结果可以写回 ES。
    • ES Incident Review 写回、审计转发(syslog / webhook)结束 Beta;大模型故障切换、工单和 Slack / Teams 仍为 Beta。
    • 审计事件新增 provider 和 served_model(故障切换后实际回答的模型),用量费用按 served_model 计价。
    • 许可证过期或被吊销后,App 回退为社区版(EULA 1.2)。

从 2.0.9 升级到 2.0.10

不需要额外步骤。本版的变化:

  • 产品激活页可以直接上传或粘贴许可服务器签发的 .lic 文件。上传后显示许可 id 与到期日,不在屏幕上显示令牌;其他产品的 .lic 或格式不对的文件给出具体错误。
  • ES 告警列表显示每条 notable 当前的 ES 状态(含自定义状态)与 Incident Review 紧急度,详情抽屉显示状态、负责人和处置结论。批量分诊按 ES 当前紧急度排序。
  • ES 写回提供 ES 中实际配置的状态,包括自定义状态;读取失败时回退为 ES 默认的五种状态。
  • AI 配置页可以查看和修改 [embeddings] max_input_chars。
  • | copilot 与 | splexplain 在 lang= 参数、Copilot 界面语言、Splunk 用户语言或 copilot.conf 的 response_language 为英文时,用英文报错。
  • /etc/machine-id 不是 UTF-8 编码时,计算主机指纹不再崩溃。

从 2.0.10 升级到 2.0.11

单搜索头不受许可变化影响。已按旧版指纹绑定的主机继续有效,不需要重新激活,升级也不占用新的节点名额。在线许可的主机会在下一次会话续期时自动改绑到新指纹,不需要任何操作;续期在会话剩余不足 7 天时发生,所以最晚约 23 天后完成,期间所有功能照常可用。

搜索头集群的许可改为按成员计算,升级前先确认许可覆盖全部成员:

  • 在线许可:2.0.11 之前整个集群算一个节点,现在每个成员各算一个节点。成员数超过许可的 max_nodes 时,多出的成员激活被拒,离线宽限用完后锁定,可能在升级后立即发生。2.0.11 的界面提示离线宽限已用完,App 日志记录 license activation limit reached;2.0.12 起产品激活页直接提示许可节点已用满。升级前核对 max_nodes 与成员数,或改用不限节点的企业版。
  • 离线许可:每个成员一份,按各自的主机指纹签发。2.0.10 及更早版本导入的离线许可只在签发它的那个成员上有效,升级后在其余成员上各自导入。
  • 升级后每个成员在第一次心跳(约 5 分钟)时作为独立节点重新激活,期间密封功能可能短暂锁定。

集群许可的配置方式见产品激活。

本版另外的变化:

  • 运营报表支持英文。手动生成的报表跟随界面语言,定时报表按 copilot.conf [reports] language(zh 或 en,默认 zh)。2.0.11 起归档的报表按查看者的界面语言打开,更早的归档不变。修正了中文报表中重复的章节编号。
  • 主机指纹改用新的计算方式,与许可服务器 SDK 一致。MAC 只在没有 machine-id 时计入指纹。没有 machine-id 也读不到 MAC 的容器改用 App 目录中保存的随机主机标识,不再激活失败。容器部署见在 Docker 中运行。
  • 离线激活的许可不再连接许可服务(此前每天下载一次吊销列表)。
  • 许可检查不再在几乎每次请求时改写已保存的状态。
  • EULA 1.3:与 RST 其他产品统一公司层面的条款(责任上限、以中文版为准、订阅期内的质量保证、付费版的知识产权赔偿、审计、出口管制、终止后 30 天数据导出、隐私与跨境条款);数据披露一节与 App 实际发送的内容一致。
  • App、通知和报表中的产品名统一为 RST AI Copilot for Splunk。

从 2.0.11 升级到 2.0.12

  • 升级后,每个用户第一次打开 App 时需要同意 EULA 1.4:勾选「我已阅读并同意 EULA v1.4」,选择 同意并继续。同意之前,App 的 REST 接口拒绝该用户的请求。社区版同样需要同意,以后 EULA 版本变更时再次同意。| copilot、| splexplain 搜索命令、MCP 服务和后台任务不受影响。
  • 直接调用 REST 的脚本或集成账号,先用该账号登录 Splunk Web,打开一次 App 并同意。
  • 从 2.0.12 起,凡是仍绑定 2.0.11 之前指纹的在线主机(2.0.10 及更早激活的,包括已升到 2.0.11 但还没续期的),升级后约 5 分钟内自动换到新指纹,不多占节点。离线许可不受影响。

本版另外的变化:

  • 许可节点已用满时(例如搜索头集群中多出的成员),产品激活页在被拒后立即提示「许可节点已用满」,宽限期结束后付费功能停用。此前误报为许可服务器不可达。
  • 许可错误(例如时钟回拨)按界面语言显示真实原因,页面不再只显示笼统的请求失败。
  • 定时报告推送修复:每期向该周期绑定的通知目标推送一次,失败自动重试。此前不会发送。需要运营报表授权。
  • 系统设置 > 报告 新增 定时报告语言,定时报告及其推送卡片按该语言生成。
  • 切换界面语言后,已打开的报告按新语言重新显示;自定义时间范围的报告提示重新生成。
  • 搜索命令的英文错误信息使用英文功能名。
  • EULA 1.4:增加 App 内点击同意的接受方式;第 13 条写明,付费许可在订阅期内确认新版本不改变该期适用的版本;补充主机指纹(含本地生成的主机标识)的说明;写明许可服务托管在香港特别行政区。

从 2.0.12 升级到 2.0.13

  • 通用 webhook 的报告推送在所有语言下使用相同的字段名,只翻译卡片文字。2.0.12 在英文模式下使用英文字段名(如 Period、AI calls),2.0.13 恢复固定字段名。按英文字段名解析推送的集成需要改回。

本版另外的变化:

  • Splunk 停机期间错过的定时报告,恢复后补推一次。2.0.13 之前保存的推送设置,在升级后第一次推送之后才开始补推,升级不会产生重复报告。
  • 保存无法识别的定时报告时区时报错,不再静默按 UTC 执行(Splunk 的 Python 带时区数据库时)。
  • 产品激活页在到期前 7 天显示「即将到期」,此前为 30 天。

从 2.0.13 及更早版本升级到 2.0.14

安装包改名为 RST-AI-Copilot-for-Splunk-<版本>-{selfcontained,fallback}.spl,应用内在线更新会失败一次(下载返回 404)。手动升级:

  1. 从 GitHub Reallysec/RST-AI-Copilot-for-Splunk 的 Releases 页面下载 2.0.14,与当前安装包同类型。
  2. 在 Splunk Web 打开「应用」>「管理应用」>「从文件安装应用」,选择该文件,勾选「升级应用」。
  3. 安装后重启 Splunk。

App id rst_splunk_ai_copilot 不变,许可、数据和设置保留。之后的版本恢复在线更新。

本版另外的变化:

  • 大模型故障切换正式发布,不再是 Beta。
  • 工单支持 Jira Data Center,使用个人访问令牌(PAT),主机须列入 copilot.conf [tickets] allowed_hosts。Jira Cloud 工单保留粗体和链接;ServiceNow 事件不再设置非默认的分类和联系方式。工单仍为 Beta。
  • 许可的可信时间只通过 HTTPS 获取,不再使用 NTP(UDP)。
  • 产品激活页:本机无法运行的功能显示为锁定并提示原因,读不到硬件指纹的主机同样如此;旧版许可显示「全部功能」。
  • 定时报告推送:启用排期后才绑定的推送目标不再触发补推;推送整点落在本地次日时给出提示;手动编辑过的排期不再导致停推。
  • EULA 对话框的语言切换作用于整个对话框。
  • 在线更新下载失败时显示 HTTP 状态或「更新源不可达」,不再显示内部错误。

从 2.0.14 升级到 2.0.15

无需额外操作,可在线更新。splunkd 重启后、KV store 尚未就绪时,已同意 EULA 的用户不再被要求重新同意;此时保存推送和通知设置(目标、SMTP、排期)不会再用默认值覆盖已存配置,而是提示「KV Store 暂不可用」,稍后重试即可。

从 2.0.15 升级到 2.0.16

无需额外操作。本版变化:

  • 新增 splunkbase 包,见在线更新。
  • Jira Data Center 工单正文:告警数据中的 wiki 标记(删除线、下划线、上下标、图片、标题、提前结束代码块的行)按纯文本显示,不再被渲染;日期和主机名中不再出现多余的反斜杠。
  • 产品激活页:非管理员第一次打开时显示「仅管理员可见」提示,不再报后端错误;离线许可绑定在其他主机时,页面明确说明,并指向「系统设置 > 产品激活」。

备份

对象方法
KV storeSplunk 的 splunk backup kvstore,或通过 REST storage/collections/data/<集合> 导出。集群内已复制
配置与密钥etc/apps/rst_splunk_ai_copilot/local/ 整个目录加 etc/passwd。storage/passwords 的密文与实例的 splunk.secret 绑定,迁移到其他实例时需一并备份 splunk.secret
许可指纹etc/instance.cfg 中的 server GUID 加主机 /etc/machine-id。恢复到新机器时两者不一致,许可需要重新激活(在线许可先在旧机器撤销,或联系销售释放名额)

迁移到新搜索头

  1. 在新机器安装同版本 App。
  2. 复制 local/、etc/passwd、splunk.secret,或在新机器的界面中重新填写密钥。
  3. 导入 KV 集合。
  4. 在旧机器撤销激活,在新机器重新激活。

降级

安装旧版 .spl 覆盖。新版新增的 KV 集合与配置键被旧版忽略,不影响运行;新版写入的文档中旧版不识别的字段同样被忽略。1.6.0 之前的版本使用另一套界面路由,书签失效。

本页内容