易捷问数(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 的支持,我们都将为您提供专业的技术支持和量身定制的解决方案。

相关推荐
sell-cloud2 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
非凡ghost2 小时前
视频剪辑不用等渲染,这款开源工具让切分合并秒级完成
运维·电脑·软件需求
Navicat中国3 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI4 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区4 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
FII工业富联科技服务4 小时前
Omniverse 数字孪生与柔性自动化,如何破解产能与交付、设备与空间的双重困境?
运维·自动化·devops
润滑卫士4 小时前
油液介电常数在线监测:测量原理与油液老化状态评估方法
运维
Rock Chin6975 小时前
把 n8n 接进 Slack:在对话里 @机器人 触发自动化工作流
运维·机器人·自动化
知了学历孙老师5 小时前
小自考的校考和统考,出题方和难度差在哪
java·大数据·前端
Liaiyang665 小时前
空圈容错:从 (0, 1) 夹缝本体论到 11 次跨域盲测
ai·大模型·量子力学·科学哲学·宇宙学·认识论·认知边界