易捷问数(NewmindExAI)平台解决 ES 升级后 AI 助手与 Attack Discovery 不正常问题

作者:来自 新智锦绣 Jin Haifeng

前言

上期我们介绍将 Elasticsearch 集群从 8.17.2 升级到了最新的 9.2.4 版本。虽然官方文档明确指出不能直接跨大版本升级,但实际操作中仍然遇到了一些意想不到的问题。升级后所有日志索引都可以正常工作,但升级后 AI 助手和 Attack Discovery 功能失效。虽然成功可以 AI 大模型连接正常,但 AI 助手及知识库和 attack discovery 都不能正常工作。

查询了 Elastic 官网/support 知识库,也没找到直接的类似问题的解决方案。最后使用新智锦绣科技(北京)有限公司开发的 NewmindExAI 易捷问数平台,成功找到问题原因及解决方法。

如果你也在考虑升级 Elasticsearch 到 9.x 版本,或者遇到了类似的 AI 功能异常问题,希望这篇文章能为你提供一些参考和帮助。


一、NewmindExAI 易捷问数平台

易捷问数平台(NewmindExAI)是一款开箱即用的企业级一体化智能数据分析平台,基于 Apple Mac Studio 硬件,以 Elastic 为数据底座,同时支持集成第三方多种数据源,集成本地 LLM、NewRAG 智能知识库、NewFlow 智能中枢工作流、NewChat 智能聊天为一体,实现 LLM 驱动的认知一体化解决方案。

二、意外出现:AI 助手功能异常

2.1 问题发现

ES 9.2.4升级完成后,当尝试使用 Security → Attack Discovery 功能时,遇到了以下错误:

复制代码
Attack discovery data client not initialized

当然首先到 chatgpt 去找答案,经过一番问答交互,无果

由于 NewChat(NewmindExAI)的智能聊天工具是直接通过 mcp 连接到 ES 环境中的,它是对当前集群环境可以直接感知的。下面是和它交互后给出的答复:

经过上面的错误信息给 NewChat 分析和交互,了解到这个问题是由于版本升级后索引不兼容造成的:

2.2 问题分析

NewChat 从给出的日志信息找到问题:

Mapper for [semantic_text] conflicts with existing mapper:``Cannot update parameter [inference_id] from [elastic-security-ai-assistant-elser2] to [.elser-2-elasticsearch]

这个错误说明:

  • 旧版本配置:8.x 版本使用的是自定义 ELSER 模型 elastic-security-ai-assistant-elser2
  • 新版本配置:9.x 版本尝试使用标准 ELSER 模型 .elser-2-elasticsearch
  • Elasticsearch 限制:不允许直接修改已存在字段的 inference_id 参数

2.3 受影响的索引

同时也找到以下索引存在映射冲突:

复制代码
​​​​​​​​​​​​​​.kibana-elastic-ai-assistant-conversations-*
.kibana-elastic-ai-assistant-knowledge-base-*
.kibana-observability-ai-assistant-conversations-*
.kibana-observability-ai-assistant-kb-*

三、解决方案:删除并重建 AI 助手索引

3.1 解决思路

经过分析,我们确定了解决方案:

  • 删除冲突的索引:移除包含旧映射的 AI 助手索引
  • 重启 Kibana:让 Kibana 使用新的映射重新创建索引
  • 重新配置 AI 连接器:确保使用正确的 AI 模型配置

3.2 详细操作步骤

步骤 1:查找冲突的索引

首先,我们需要确认哪些索引存在问题:​​​​​​​

复制代码
#通过 Kibana Dev Tools 执行
GET /_cat/indices/.kibana-*ai-assistant*?v

步骤 2:通过 Kibana Dev Tools 删除索引

打开 Kibana → Dev Tools

在 Console 中执行以下命令:

复制代码
 //由于这些索引是由data_stream关联,无法直接删除索引,我们可以删除数据流来解决

DELETE /_data_stream/logs-elastic_agent.fleet_server-default
DELETE /_data_stream/metrics-fleet_server.agent_status-default
DELETE /_data_stream/metrics-elastic_agent.fleet_server-default
DELETE /_data_stream/logs-elastic_agent.fleet_server-default

点击 ▶️ 执行按钮

执行结果:

复制代码
{

  "acknowledged":true
}

✅索引删除成功!

步骤 3:重启 Kibana 服务

复制代码
# 在 elastic-03 节点执行
sudo systemctl restart kibana
# 查看启动日志
sudo tail -f /var/log/kibana/kibana.log

观察日志,应该看到类似以下内容:

复制代码
{
  "message":"Installing index template .kibana-elastic-ai-assistant-index-template-conversations",
  "log": {
    "level":"INFO",
    "logger":"plugins.elasticAssistant.service"
  }
}

{
  "message":"Installing index template .kibana-elastic-ai-assistant-index-template-knowledge-base",
  "log": {
    "level":"INFO",
    "logger":"plugins.elasticAssistant.service"
  }
}

这表明 Kibana 正在使用新的映射重新创建索引。

步骤 4:配置 AI 连接器

重启完成后,需要配置 AI 连接器:

  1. 进入Stack Management → Connectors

  2. 点击Create connector

  3. 选择你的 AI 提供商(如 OpenAI、Azure OpenAI、阿里云通义千问等)

  4. 填写配置信息

    复制代码
    Name:Attack Discovery AI
    Connector type:OpenAI (或其他)
    URL:https://api.openai.com/v1
    API Key:sk-xxxxx...
    Model:gpt-4
  5. 点击 Save

步骤 5:在 Security 中配置 AI 助手

  1. 进入Security → Get Started

  2. 点击右上角的齿轮图标 →Settings

  3. 找到AI Assistant部分

  4. 选择刚才创建的连接器

  5. 保存设置

3.3 验证修复结果

(1)检查索引状态

复制代码
# 通过 Dev Tools 执行
GET /_cat/indices/.kibana-*ai-assistant*?v
# 应该看到新创建的索引:
health status index                                                                           uuid                   pri rep docs.count docs.deleted store.size pri.store.size dataset.size
green  open   .ds-.kibana-elastic-ai-assistant-prompts-default-2026.02.08-000001              NNLDhE4HQC26EDvGL1bQzw   1   1          0            0       498b           249b         249b
green  open   .kibana-observability-ai-assistant-conversations-000001                         ynEBvh06QFWCjF7UKQVZyA   1   1          0            0       498b           249b         249b
green  open   .ds-.kibana-elastic-ai-assistant-knowledge-base-default-2026.02.08-000001       MUH-wCUiQsCFa_02zYjz2g   1   1          0            0       498b           249b         249b
green  open   .kibana-observability-ai-assistant-kb-000003                                    HYawJO5QRlqkZVqlYe7d5g   1   1          0            0       498b           249b         249b
green  open   .kibana-elastic-ai-assistant-checkpoints-default                                bgD7_49dTzS6GGD_0RzZhg   1   1          0            0       498b           249b         249b
green  open   .ds-.kibana-elastic-ai-assistant-anonymization-fields-default-2026.02.08-000001 gTxmh6GRTZGnc3PXKqDtEw   1   1        114            0     28.4kb         14.2kb       14.2kb
green  open   .ds-.kibana-elastic-ai-assistant-alert-summary-default-2026.02.08-000001        nvWnxOVuS_WWbb8C0kSdXQ   1   1          0            0       498b           249b         249b
green  open   .ds-.kibana-elastic-ai-assistant-conversations-default-2026.02.08-000001        IAReR9kcTy66EFH2CXy79w   1   1          0            0       498b           249b         249b
green  open   .kibana-elastic-ai-assistant-checkpoint-writes-default

(2)检查映射配置

复制代码
GET /.kibana-elastic-ai-assistant-knowledge-base-default/_mapping

确认 inference_id 使用的是新的标准模型:

复制代码
{
  "mappings": {
    "properties": {
      "semantic_text": {
        "type": "semantic_text",
        "inference_id": ".elser-2-elasticsearch"
      }
    }
  }
}

✅映射配置正确!

(3)测试 Attack Discovery 功能

  1. 进入Security → Attack Discovery

  2. 点击Generate按钮

  3. 等待分析完成(可能需要几分钟)

最后一切正常,你应该能看到 AI 分析的安全威胁发现结果。


七、总结

由于 NewCha t是直接和 ES 集群通过 MCP 连接在一起的,所以在 NewChat 里借助大模型来问数,就像 RAG 一样它 get 到的信息是当前集群的真实状态,从而保证借助大模型进行真实状态分析会给出更实际的答案。

而通过常规的 ChatGPT 类的聊天工具,我们只能把日志信息和特征码粘贴过去,由于它触摸不到真实的集群环境,所以只能猜测可能故障原因,无法给出更实际的答案。

写在最后

Elasticsearch 的版本升级是一项需要谨慎对待的工作,特别是跨大版本升级。对于在低版AI助手相关功能正常(企业版),升级后AI助手由于模型变更及兼容性问无法正常工作,所以集群本身的问题无法通过AI助手来获得得答案和进行诊断。

而 NewmindExAI 通过 MCP 连接到 ES 集群,充分补充了 ES 企业版才有的 AI 功能,从而极大地赋能 ES AI 能力。

Elasticsearch 官方升级指南

Kibana AI Assistant 文档

Elasticsearch Breaking Changes in 9.0

如果觉得本文对你有帮助,欢迎点赞、转发、收藏!

关于公司

感谢您关注新智锦绣科技(北京)有限公司!作为 Elastic 的 Elite 合作伙伴及 EnterpriseDB 在国内的唯一代理和服务合作伙伴,我们始终致力于技术创新和优质服务,帮助企业客户实现数据平台的高效构建与智能化管理。无论您是关注 Elastic 生态系统,还是需要 EnterpriseDB 的支持,我们都将为您提供专业的技术支持和量身定制的解决方案。

相关推荐
李慕婉学姐1 小时前
Springboot平安超市商品管理系统6sytj3w6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
冬奇Lab2 小时前
一天一个开源项目(第21篇):Claude-Mem - 为 Claude Code 打造的持久化记忆压缩系统
人工智能·开源·claude
大任视点2 小时前
星云天启发布革命性AI智慧家居体系:开启未来家居新纪元
人工智能
瀚高PG实验室2 小时前
数据库意外中止,无法启动
数据库·瀚高数据库
jarvisuni2 小时前
GLM5带10个题目挑战Claude4.6编程宝座 !
人工智能·ai编程
YunchengLi2 小时前
【计算机图形学中的四元数】2/2 Quaternions for Computer Graphics
人工智能·算法·机器学习
开开心心就好2 小时前
一键加密隐藏视频,专属格式播放工具
java·linux·开发语言·网络·人工智能·macos
呆萌很2 小时前
BGR和RGB区别
人工智能