概览
此参考架构定义了在 Google Distributed Cloud (GDC) 网闸隔离配置上部署 Elastic Stack(Elasticsearch 和 Kibana)并将其与大语言模型 (LLM) 服务集成以启用 Elastic 的生成式 AI 功能的概念设计。
Elastic Stack 是一个广泛采用的搜索、可观测性和安全分析平台。最近发布的 Elastic 版本为 Kibana 增加了生成式 AI 功能,包括 Elastic AI 智能体、使用 Agent Builder 构建的自定义智能体以及 Attack Discovery。这些功能依赖 LLM 将自然语言请求转换为 Elasticsearch 查询、编排多步工具调用以及关联安全提醒。
此架构使用 GDC 网闸隔离配置 Marketplace 中提供的官方 Elastic Cloud on Kubernetes (ECK) Operator 部署 Elastic Stack,并将 Kibana 连接到托管在 GDC 边界内的 LLM 推理端点,该端点可以是 GDC 上的代管式 Gemini 服务,也可以是自行管理的 OpenAI 兼容推理服务器(例如 Ollama 或 vLLM)。
特性和功能
该解决方案为 AI 辅助搜索、可观测性和安全分析提供了多个核心功能组件:
- 基于 Marketplace 的生命周期管理:将 ECK Operator 从 GDC 网闸隔离配置 Marketplace 安装到共享集群上的项目命名空间中,并让其自动预配、配置和协调
Elasticsearch和Kibana自定义资源。 - 自然语言数据调查:使用 Elastic AI 智能体以自然语言探索 Elasticsearch 数据。智能体无需事先了解底层架构,即可发现索引和映射、生成并执行 ES|QL 查询,以及综合分析结果。
- 自定义智能体和自动化工作流:使用 Agent Builder 创建专用智能体,将自定义指令与内置工具、自定义 ES|QL 工具和 Kibana 工作流(例如,自动打开包含调查结果的 Kibana 安全案例)相结合。
- AI 驱动的安全提醒关联:使用 Attack Discovery 分析开放的 Elastic Security 提醒,将其映射到 MITRE ATT&CK 框架,并将相关提醒、IP 地址和用户账号关联到攻击链中。
- 经过网闸隔离的兼容性:ECK Operator、Elasticsearch 和 Kibana 容器映像从本地 GDC Harbor 注册表中拉取,所有大语言模型推理流量都保留在内部 GDC 网络上。
- 可插拔 LLM 后端:通过 Kibana 的 OpenAI 连接器,将 Kibana 连接到 GDC 上的代管式 Gemini,或连接到任何公开 OpenAI 兼容
/v1/chat/completionsAPI 的自管理推理服务器。
架构原则
- 责任共担模型:GDC 提供共享集群、Marketplace 软件包、Harbor 注册表和网络。客户负责运营 Elastic Stack 部署、管理 Elastic 许可,并负责选择和运营自行管理的 LLM 服务(如果使用)。
- 数据主权:所有运营和安全数据、提示和模型回答都保留在 GDC 网闸隔离配置边界内。不会向 Elastic 托管或公开的 LLM 服务发送任何流量。
- 云原生运维:使用 Kubernetes Operator 模式以声明方式管理有状态 Elastic 工作负载,确保部署的一致性和可重复性。
- 协议标准化:依赖于广泛支持的 OpenAI 兼容聊天补全 API(具有原生函数调用功能),从而将 Kibana 与任何特定推理引擎或模型供应商解耦。
架构
该架构由一个 Elastic Stack 部署组成,该部署由 GDC 共享用户集群上的项目命名空间内的 ECK Operator 管理。Kibana 通过内部 GDC 网络与 LLM 推理端点进行通信。

此架构的关键组件包括:
- GDC 共享集群:一个组织范围的共享 Kubernetes 集群,附加到多个项目,托管 GDC Marketplace 软件包和应用工作负载。
- GDC 项目:共享集群上的项目命名空间,用于隔离 ECK 运维人员、Elasticsearch 集群、Kibana 实例以及关联的 Kubernetes Secret 和 NetworkPolicy。
- Elastic Cloud on Kubernetes (ECK) Operator:从 GDC Marketplace 安装到项目命名空间中,该 Operator 负责管理
Elasticsearch和Kibana自定义资源,并协调生成式 AI 功能和外部 LLM 连接器所需的 Elastic 许可。 - Elasticsearch:存储运维和安全数据并为其编制索引,执行由 Kibana 的 AI 功能和代理生成的搜索和 ES|QL 查询。
- Kibana:托管 Elastic 的生成式 AI 功能(Elastic AI 智能体、Agent Builder 和 Attack Discovery),并管理大语言模型操作连接器,这些连接器负责编排用户、Elasticsearch 和大语言模型服务之间的多步工具调用。
- LLM 服务:托管式 LLM 服务(例如 GDC 上的 Gemini)或自行管理的推理服务器(例如 Ollama 或 vLLM),通过内部 GDC 网络为 Kibana 提供对话补全和工具调用功能。
概念和技术
本部分详细介绍了功能组件、其职责以及它们在系统中的通信方式。
基础架构和平台
- GDC 共享集群:主要计算环境,ECK Operator、Elasticsearch 和 Kibana Pod 位于项目命名空间内。
- GDC Marketplace:用于安装和升级 Elastic 市场资源包的目录,该市场资源包会注册 Elastic CustomResourceDefinitions 并部署
elastic-operatorStatefulSet。 - Harbor Registry:网闸隔离环境中 ECK Operator、Elasticsearch 和 Kibana 容器映像的安全本地可信来源。
- 永久性存储:通过 Elasticsearch
volumeClaimTemplates预配的 PersistentVolumeClaim 为 Elasticsearch 数据提供持久性块存储。 - GDC 网络组建和管理:LoadBalancer Service 公开 Elasticsearch(端口
9200)和 Kibana(端口5601),而 KubernetesNetworkPolicy和全球性资源ProjectNetworkPolicy则控制入站流量和跨项目流量,包括与大语言模型服务的连接性。
服务和逻辑
- ECK operator:监视
Elasticsearch和Kibana自定义资源并将其协调到 StatefulSet、Deployment、Service 和 Secret 中的控制器。其license-controller会持续根据 Operator 命名空间中的许可 Secret 协调集群许可。 - Elastic AI Agent:Kibana 中的默认对话智能体。它使用内置的 Agent Builder 工具(
platform.core.list_indices、platform.core.get_index_mapping、platform.core.search和platform.core.execute_esql)来发现数据、生成 ES|QL 并汇总结果。 - Agent Builder:用于创建自定义智能体的框架,这些智能体将自定义系统指令与内置工具和用户定义的工具(
esql、index_search、workflow和mcp)相结合。 - Kibana 工作流:以声明方式通过 YAML 定义的自动化操作(例如
cases.createCase),可注册为 Agent Builder 工具,让智能体执行打开 Kibana 安全案例等操作。 - Attack Discovery:一项 Elastic Security 安全功能,可将匿名化的提醒上下文发送到 LLM,以便将
.alerts-security.alerts-default索引中的提醒关联到映射到 MITRE ATT&CK 策略的攻击链。 - LLM 服务:提供经过指令调优的对话补全功能,并原生支持工具调用。模型必须能够可靠地生成有效的工具调用、结构化 JSON 和 ES|QL 查询。
数据流和接口
- OpenAI 兼容的对话补全 API (
/v1/chat/completions):Kibana 的 OpenAI (.gen-ai) 连接器与 LLM 服务之间的接口,配置了其他(OpenAI 兼容服务)提供方、启用了原生函数调用,并支持服务器发送事件流式传输。 - Elasticsearch REST 和 ES|QL API:由 Kibana 及其代理用于检查映射、运行搜索和执行 ES|QL 聚合。
- Kibana REST API:用于以编程方式管理连接器 (
/api/actions)、代理和工具 (/api/agent_builder)、工作流 (/api/workflows)、检测规则 (/api/detection_engine) 以及 Attack Discovery (/api/attack_discovery)。 - 具有内置身份验证功能的 HTTPS:Elasticsearch 和 Kibana 端点通过 TLS 使用 ECK 生成的证书提供服务,凭据存储在 ECK 管理的 Kubernetes Secret 中。
注意事项
- 可伸缩性和性能:
- 必须根据生产数据量和查询并发量,调整 Elasticsearch 和 Kibana 资源请求、限制、节点数和存储空间大小,使其不同于评估默认值。
- Kibana 的 OpenAI 连接器会强制执行每个流式传输轮次默认 60 秒的超时。LLM 服务必须在 GPU 加速下运行,并采用 Flash Attention 等优化措施,以确保每轮对话都在此限制范围内。
- 单个代理轮次可以触发嵌套的 LLM 子调用。推理服务器应维护多个并行 KV 缓存槽(例如
OLLAMA_NUM_PARALLEL=2),以防止子调用逐出主对话的缓存上下文。
- LLM 模型要求:
- 模型必须经过指令调优,并原生支持函数调用。应在 Kibana 连接器上启用原生函数调用,因为基于提示的模拟函数调用对于嵌套工具调用不太可靠。
- 强烈建议使用至少 128,000 个 token 的上下文窗口,因为结合了工具定义、索引架构、ES|QL 文档和搜索结果的多步调查可能会超过 70,000 个 token。
- 对于具有推理功能的模型,建议将输出词元限制设置为至少 8,192 个词元,并设置温和的重复惩罚,因为 Kibana 会将
length结束原因视为严重错误,并使用贪婪解码。 - Attack Discovery 需要 30B 级或更大的模型(例如
gemma4:31b)才能可靠地合成多提醒结构化输出。
- 安全与合规性:
- 所有提示、检索到的数据和模型回答都会保留在内部 GDC 网络中。
- 应收紧网络政策,从宽松的评估设置改为限制对 Elasticsearch 和 Kibana 的入站访问,仅允许授权客户端访问,并限制对 LLM 服务端点的出站流量。
- 对 Kibana 和 Elasticsearch 的访问权限应通过 Elastic 基于角色的访问控制进行管理,而不是通过
elastic超级用户进行管理。
- 资源管理和许可:
- Elastic 的生成式 AI 功能和外部 LLM 连接器需要企业版许可(或有效的 30 天企业版试用许可),该许可必须通过 ECK 许可 Secret 进行预配,以便在 Operator 协调周期内保持有效。
- 可用性和可靠性:
- 生产环境部署应使用具有副本分片的多个 Elasticsearch 节点和多个 Kibana 实例,以避免单点故障。
- AI 功能的可用性取决于 LLM 服务的可用性和延迟时间。
- 运营管理:
- 客户负责升级 Elastic Marketplace 软件包和 Elastic Stack 版本、管理许可,以及备份 Elasticsearch 数据。
- 使用自行管理的 LLM 服务时,客户需要自行负责部署、GPU 容量规划、模型更新和调优。
设计决策
此解决方案的主要架构选择侧重于在经过网闸隔离的环境的限制下启用 Elastic 的生成式 AI 功能。
GDC Marketplace 中的 ECK Operator
ECK Operator 是从 GDC 网闸隔离配置 Marketplace 安装的,而不是手动部署的。市场资源包已预先配置为从本地 Harbor 注册表拉取容器映像、注册所需的 CustomResourceDefinition,并与 GDC 项目级 IAM 角色集成。这可以减少映像镜像工作,并使部署与 GDC 软件生命周期保持一致。
共享集群部署
该解决方案会将 Elastic Stack 部署到 GDC 共享集群上的项目命名空间中。这样,客户就可以将 Marketplace 软件与其他项目工作负载一起使用,而无需预配和操作专用集群,同时项目命名空间可隔离资源、Secret 和网络政策。
LLM 服务选项
在可用时,托管式 Gemini on GDC 是首选方案,因为它消除了托管推理基础设施的运营负担。在无法使用该服务或客户需要特定开放模型的情况下,Kibana 可以连接到任何公开了与 OpenAI 兼容的 /v1/chat/completions 端点的自管理推理服务器。通过标准化此 API,Elastic 配置可以独立于推理引擎(例如 Ollama 或 vLLM)。
原生函数调用
Kibana 连接器上启用了原生函数调用,因此工具调用格式设置会委托给推理服务器的 OpenAI tools 协议。
Kibana 默认的基于提示的模拟函数调用在嵌套工具调用期间不太可靠,并且可能会因解析错误而失败。
ECK 管理的许可协调
企业版(或试用版)许可声明为 ECK 许可 Secret,而不是直接通过 Elasticsearch 许可 API 激活。由于 ECK 会持续协调集群许可,因此在 ECK 之外应用的许可会在下一个协调周期中还原为 basic。
假设和限制
前提
- GDC 共享集群和关联的项目可用,并且具有足够的计算和永久性存储容量,可供 ECK Operator、Elasticsearch 和 Kibana 使用。
- Elastic Marketplace 市场资源包以及匹配的 Elasticsearch 和 Kibana 容器映像可在 GDC 网闸隔离配置 Marketplace 和本地 Harbor 注册表中找到。
- 用户具有所需的项目角色(
namespace-admin、project-viewer、marketplace-editor和project-networkpolicy-admin)。 - LLM 服务(GDC 上的代管式 Gemini 或自行管理的 OpenAI 兼容推理服务器)已部署,并且可通过内部 GDC 网络从 Kibana Pod 访问。
- 拥有 Elastic Enterprise 许可,或使用 30 天 Enterprise 试用版进行评估。
限制
- LLM 服务不在范围内:此架构不涵盖部署和运行自管式 LLM 服务(包括 GPU 基础设施)。
- 无 Elastic 托管的 AI 服务:Elastic 托管的 LLM 和其他云托管的 Elastic AI 服务在经过网闸隔离的环境中不可用。
- 质量取决于模型:AI 智能体、Agent Builder 和 Attack Discovery 结果的准确性和可靠性取决于所选模型的功能及其运行时配置。
- 评估级默认设置:参考实现使用单节点 Elasticsearch 集群、自签名证书和宽松的网络政策,这些设置必须经过强化才能用于生产环境。
- 版本特异性:该解决方案已通过 Elastic v9.4.0、Elastic Kubernetes Operator v3.4.0 和 GDC v1.16.2 的验证。其他版本可能需要进行调整。
其他资料
解决方案参考实现 (SRI):在 GDC 网闸隔离配置上部署 Elastic Stack 的生成式 AI 功能