亚马逊AWS官方博客

从手动到智能:用 Kiro CLI + OpenSearch MCP 让每个人都成为 OpenSearch 专家

1. 背景介绍

随着云原生技术和分布式搜索引擎的广泛应用,OpenSearch 已成为企业构建搜索和分析解决方案的重要选择。然而,OpenSearch 的使用往往面临着诸多挑战:在运维层面,复杂的集群配置、繁琐的索引管理、性能调优的专业门槛,以及故障排查时需要深厚的技术积累,使得许多运维人员在日常工作中感到力不从心,难以快速响应业务需求。在应用层面,从海量数据中提取有价值的信息、优化搜索性能、调整向量检索参数等任务,同样需要深入理解 OpenSearch 的查询语法和底层机制,这对开发人员和数据分析师来说也是不小的挑战。为了降低 OpenSearch 的使用门槛,让普通运维人员和开发者都能像专家一样高效工作,我们引入了两项创新技术的组合:Kiro CLIOpenSearch MCP Server。这套方案不仅简化了 OpenSearch 的运维管理,更能借助 AI 的能力加速搜索分析应用的开发和优化。

Kiro CLI 是 AWS 推出的一款革命性的 AI Agent 驱动的命令行工具,它将强大的 AI 能力直接带到您的终端环境中。Kiro CLI 采用了先进的 Agent 技术,包括 Agent 模式、MCP 协议支持、Agent Steering(智能引导)以及自定义 Agent 能力。它不仅能够通过自然语言理解您的意图,还能在命令行环境中自主执行代码编写、审查、修改和自动化工作流等复杂任务。

Kiro CLI 的核心优势在于其多层次的 Agentic 能力:

  • Agent 模式与自适应对话:能够理解您的代码库上下文,通过自然对话方式进行交互,快速响应各种开发和运维需求。
  • 自定义 Agent 配置:允许您为特定用例定义专门的 Agent,包括指定可访问的工具、权限设置和自动包含的上下文信息。
  • MCP 协议集成:通过 Model Context Protocol 连接到专业化的服务器,扩展 Kiro 的能力边界,获取额外的工具和上下文。
  • Subagent 委托机制:可以将复杂任务委托给专门的子 Agent,实现并行任务执行和实时进度跟踪,保持主 Agent 上下文的专注性。

OpenSearch MCP Server 则基于 Model Context Protocol (MCP) 标准协议,为 AI 代理提供了与 OpenSearch 交互的标准化接口。MCP 是一个开放的协议标准,它就像一个“通用适配器”,让 AI 模型能够以统一的方式连接外部数据源和工具。OpenSearch 3.0 内置的 MCP Server 暴露了一系列核心工具,包括索引列表查询、索引搜索、分片信息获取等功能,使得 AI 代理可以安全、实时地访问您的搜索数据。

当 Kiro CLI 与 OpenSearch MCP Server 结合使用时,运维人员只需用自然语言描述需求,AI 代理就能自动调用相应的 OpenSearch 工具完成操作。无论是查询集群健康状态、分析慢查询、优化索引配置,还是排查性能瓶颈,都可以通过简单的对话完成。这种人机协作的方式,不仅大幅提升了运维效率,更重要的是降低了技术门槛,让每一位运维人员都能成为 OpenSearch 专家。

本文将详细介绍如何使用 Kiro CLI 结合 OpenSearch MCP Server 来简化日常运维工作,并通过实际案例展示这一组合如何帮助您快速解决常见的 OpenSearch 运维挑战。

2. 部署方法

从 OpenSearch 3.0 版本开始,OpenSearch 内置了 MCP Server 的能力。提供了两种部署 MCP Server 的方式,以满足不同版本和使用场景的需求:内置 MCP Server 和 独立(Standalone) MCP Server。

本文,我们选择使用独立 MCP Server(Standalone MCP Server),它的优势在于可以支持 OpenSearch 3.0 之前的版本。独立 MCP Server 作为独立进程运行在 OpenSearch 集群之外。工作流程为:Agent 发起工具调用 → 转发到独立 MCP Server → MCP Server 通过 REST API 向 OpenSearch 集群发起请求 → 检索数据并格式化响应 → 返回给 Agent,在 Kiro Cli 中还可以通过add context 的方式将已有的知识文档加载进来辅助 Kiro 来回答问题。如下图:

部署步骤:

1. 登陆安装了 Kiro Cli 的实例,在 Kiro 的安装目录(通常是~/.kiro/settings)。

2. 在 Kiro 的安装目录下,可以看到一个名为json 的文件,编辑文件,复制如下的内容。你需要修改集群的 URL 和认证方式。Basic Authentication 和 IAM Role Authentication 二选一即可,可以根据您集群的安全设置来选择。

{
    "mcpServers": {
        "opensearch-mcp-server": {
            "command": "uvx",
            "args": [
                "opensearch-mcp-server-py"
            ],
            "env": {
                // Required
                "OPENSEARCH_URL": "<your_opensearch_domain_url>",

                // For Basic Authentication
                "OPENSEARCH_USERNAME": "<your_opensearch_domain_username>",
                "OPENSEARCH_PASSWORD": "<your_opensearch_domain_password>",

                // For IAM Role Authentication
                // these are optional if you already have local credentials or EC2 instance role
                "AWS_REGION": "<your_aws_region>",
                "AWS_ACCESS_KEY_ID": "<your_aws_access_key>",
                "AWS_SECRET_ACCESS_KEY": "<your_aws_secret_access_key>",
                "AWS_SESSION_TOKEN": "<your_aws_session_token>"
            }
        }
    }
}

3. 验证部署

输入命令 kiro-cli,如果配置正确, opensearch-mcp-server 会被正常加载。进入 kiro cli 之后,通过命令 /tools 查看它的 tool,在 opensearch-mcp-server (MCP) 下看到如下的显示,就说明所有 Tool 已经被加载了。

3. 应用场景

传统的 OpenSearch 运维和应用开发往往面临三大挑战:复杂的技术门槛让新手难以上手,依赖个人经验的问题排查效率低下,耗时的手动操作影响业务响应速度。而通过 Kiro CLI 的 AI Agent 能力与 OpenSearch MCP Server 的标准化接口相结合,我们可以用自然语言完成原本需要专业知识和复杂操作的任务。

下面,我们将通过三个典型场景展示这套方案的实际价值:

  • 日志分析:从海量日志中快速提取关键信息,无需编写复杂查询语句
  • 滚动日志创建:轻松配置索引生命周期管理,自动控制存储成本
  • 向量搜索优化:基于最佳实践智能调优参数,提升搜索性能和准确性

这些场景不仅覆盖了 OpenSearch 运维的核心工作,更展示了如何借助 AI 的能力加速搜索分析应用的开发和优化。让我们看看 Kiro CLI + OpenSearch MCP Server 如何让每个人都能成为 OpenSearch 专家。

3.1 日志分析

日志分析是 OpenSearch 最常见的应用场景之一。传统方式下,运维人员需要掌握复杂的查询语法和聚合函数,才能从海量日志中提取有价值的信息。即使对于有经验的工程师,编写高效的查询语句也常常是一项挑战,更不用说理解查询结果并提炼出关键洞察。下面,我们通过分析 VPC Flow logs 的例子展示 Kiro CLI 与 OpenSearch MCP Server 如何简化日志分析流程。在 OpenSearch 集群中已接入 VPC Flow logs,我们只需通过自然语言方式提问:“从  vpc flow logs 帮我分析最近 12个小时,流量最大的 TOP 10 IP”  如下示例,Kiro 开始调用 OpenSearch MCP Server 中的 Tool 来帮我们查询 Flow log 日志内容,并且根据查询获得的数据生成最终的结果。

如下是 Kiro Cli 最终输出的分析结果 ,kiro 不但帮我们统计了最近12小时流量最大的 IP,还给出了一些关键发现:

通过这个案例,我们看到 Kiro CLI 如何将复杂的日志分析工作简化为简单对话。您无需掌握 OpenSearch 查询语法,也不必手动编写聚合函数,只需用自然语言描述需求,Kiro 就能自动执行查询、分析数据,并主动提供关键发现和洞察。这种方式让任何运维人员都能快速从海量日志中提取有价值的信息,真正实现了从”需要专业技能”到”人人都能分析”的转变。

3.2 创建滚动日志策略

在日志分析场景中,管理日志索引的存储生命周期对于控制存储成本和优化空间使用至关重要。通常,日志数据会按天存放在单独的索引中,随着时间推移,这些历史日志索引会占用大量存储空间。OpenSearch 提供了 ISM(Index State Management)策略来管理索引生命周期,但对于初次使用 OpenSearch 的运维人员来说,配置这些策略往往是一项复杂任务——需要理解 JSON 结构、状态转换逻辑和各种配置参数。

下面,我们使用 Kiro CLI 来创建一个自动管理 Spark 日志 索引的 ISM 策略,看看如何将这个复杂任务简化为几句简单对话。

1.  通过自然语言询问 OpenSearch 中有多少个索引

2. 从它给出的回答中,我们看到在索引中,我们有收集 spark 作业的相关日志。

3. 接着,我们询问他 Spark 日志 是否已经创建了索引模板,从它的回答中,可以看出 spark 日志 已经有对应的索引模版,并且指定了分片数量和副本数量,还有默认的压缩算法。

4. 对 spark 日志 需要设置一个 30天的滚动周期,让它自动的删除30天以前的日志索引。如下,根据我们的提示,Kiro 通过调用 OpenSearch MCP Server Tool 开始创建索引策略。

5. 回到 OpenSearch Dashboard UI,进入到 ISM 中,可以看到一个名为 spark-logs-policy策略已经创建成功

点击进入到这个策略中,可以看到这个策略已经定义索引最小的生命周期30天,30天后会触发删除的操作。

通过这个案例,我们看到 Kiro CLI 如何将 ISM 策略配置从复杂的专业任务转变为简单的日常操作。您无需理解 JSON 结构和状态转换逻辑,只需用自然语言表达“设置 30 天的滚动周期“,Kiro 就自动完成了检查索引模板、创建 ISM 策略、应用到匹配索引的全过程。这种方式不仅有效降低了存储成本并优化了集群性能,更重要的是让索引生命周期管理变得触手可及,真正实现了从“需要专业知识”到“轻松配置”的转变。

3.3 向量搜索优化

OpenSearch 正被广泛应用于向量搜索场景,但在向量检索方面,运维人员经常面临各种性能和配置挑战。这些问题包括搜索延迟过高、召回率不理想、内存占用过大、索引构建缓慢等。传统解决方式需要运维人员深入理解 OpenSearch 的底层机制、熟悉各种算法参数(如 HNSW 的 m、ef_construction、ef_search 等),并且在海量文档中查找最佳实践建议——这对大多数运维人员来说是一个巨大的挑战。

现在,通过结合 Kiro CLI 的 AI Agent 能力和 OpenSearch MCP Server,我们可以彻底改变这一现状。下面通过实际案例展示如何使用 Kiro CLI 来优化向量搜索配置和性能。

向量索引参数优化

首先,我们可以通过下面这个视频来了解 kiro 如何来帮我们分析向量索引的合理性的,这个视频中分了如下几个步骤:

  1. 已经准备好一份与 OpenSearch 向量搜索最佳实践相关的知识文档(可以从这个链接获取)。在 kiro 启动后加载到 kiro 的 context 中。
  2. 让 kiro 先分析向量数据库中的向量索引
  3. 根据最佳实践的建议来分析这些索引创建使用的参数是否合理。

向量搜索性能分析

接下来,我们再尝试让 Kiro 帮我们解决性能问题,当我们使用 OpenSearch 进行向量搜索时,遇到了查询性能不满足需求时,可以使用 kiro 来帮助我们分析集群是否存在问题,如下视频:

通过这两个向量搜索的案例,我们看到 Kiro CLI 如何将向量搜索调优从依赖经验的“艺术”转变为基于最佳实践的“科学”。您无需深入学习 HNSW 算法原理或在海量文档中查找配置建议,只需加载最佳实践知识库,让 Kiro 自动分析现有配置并提供针对性的优化方案。无论是参数调优还是性能诊断,Kiro 都能根据索引规模、向量维度和查询模式给出专业建议。这种方式让每位运维人员都能配置出高效且资源友好的向量搜索解决方案,真正实现了从“需要专业知识”到“智能优化”的转变。

4. 总结

本文介绍了如何通过 Kiro CLI + OpenSearch MCP Server 简化 OpenSearch 运维工作。从日志分析、滚动日志创建到向量搜索优化,这套方案在多个场景中都显著提升了运维效率。

从复杂到简单:传统 OpenSearch 运维需要手动执行查询、分析日志和调整参数等繁琐操作。现在,您只需用自然语言描述问题,Kiro CLI 的 AI Agent 就能自动完成诊断、优化和配置调整。

从经验到智能:以往的 OpenSearch 运维依赖个人经验和反复试错。如今,AI Agent 结合 OpenSearch 最佳实践知识库,为您提供可靠方案。无论是日志查询优化、索引生命周期管理,还是向量搜索参数调优,您都能获得基于最佳实践的专业建议。

从耗时到高效:原本需要数小时的运维任务,现在可以在几分钟内自动完成。AI Agent 的并行执行能力和自主决策能力,让您的运维工作从被动响应转变为主动优化。

通过 Kiro CLI + OpenSearch MCP Server,您不仅可以轻松完成 OpenSearch 的运维管理,更能借助 AI 的能力加速搜索分析应用的开发和优化。AI Agent 驱动的智能运维与应用开发时代已经到来,开始您的 OpenSearch 智能化之旅吧!

*前述特定亚马逊云科技生成式人工智能相关的服务目前在亚马逊云科技海外区域可用。亚马逊云科技中国区域相关云服务由西云数据和光环新网运营,具体信息以中国区域官网为准。

本篇作者

黄霄

亚马逊云科技数据分析解决方案架构师,专注于大数据解决方案架构设计,具有多年大数据领域开发和架构设计经验。

AWS 架构师中心: 云端创新的引领者

探索 AWS 架构师中心,获取经实战验证的最佳实践与架构指南,助您高效构建安全、可靠的云上应用