使用 Elasticsearch 智能助手

更新时间:
复制 MD 格式

本文介绍如何使用 Elasticsearch 智能助手完成日常运维工作,包括通过自然语言对话执行集群诊断、使用数据洞察以自然语言查询和分析索引数据、按告警响应与容量规划等典型场景开展运维,以及配置定时任务(巡检任务与事件告警任务)和IM通知渠道以实现自动化巡检与事件实时推送。

使用前请先完成环境准备并确认所需权限,详情请参见功能概述的「前提条件」与「权限说明」章节。

快速开始

完成以下步骤即可使用 Elasticsearch 智能助手:

  1. 登录阿里云Elasticsearch控制台。

  2. 在左侧导航栏单击智能助手。首次进入时按页面提示完成 Elasticsearch 智能助手开通流程与RAM角色授权,开通后即可获得免费额度。

  3. 在快捷操作区域单击预置按钮(如实例诊断),或在底部输入框直接输入问题并按Enter发送。

  4. 发送首条消息后,会话中会展示请核对完善以下信息以便更准确地处理问题卡片。在卡片中选择目标地域和实例 ID,然后单击确认使用,即可触发首次诊断。

说明

从实例详情页右侧悬浮入口打开助手时,卡片中的地域与实例ID会自动带入。此外,如果您在提问中直接写明实例ID(如 es-cn-xxxxxxxx),助手也会自动识别并作为上下文使用。

整个流程约1分钟,即可获得首次诊断结果。

首页布局

打开 Elasticsearch 智能助手面板后,首页展示以下区域:

区域

说明

欢迎区

显示助手的能力简介,引导您通过快捷操作或直接提问开启对话。

上下文信息卡

发送首条消息后在会话中展示,需要您选择地域和实例 ID作为后续对话的上下文。从实例详情页右侧入口打开时会自动带入。下拉列表为空时,请检查是否具备 elasticsearch:ListInstance 权限。

快捷操作

五个预置入口卡片:实例管理(扩容、升级、重启实例)、网络管理(白名单、公网访问配置)、实例诊断(集群健康检查与故障分析)、数据洞察(查询、分析、图表和受控写入)、产品咨询(使用咨询、规格推荐),单击进入对应Skill。

常见问题

分页展示典型运维问题标签(如节点离线/频繁重启),每页6个。单击后系统会自动补全为完整提问(追加,请定位并解决)并发起对话。

最近会话

左侧栏按时间倒序展示历史会话,单击可恢复上下文继续对话。选中某个会话后,该会话项中会展示本次会话消耗的Token数。

新建会话

最近会话列表顶部的+按钮,清空当前上下文与变量,从空白状态开启新会话。

上次聊到

输入框上方常驻按钮,显示上一次会话标题,单击一键恢复上次对话上下文。

免费额度用量

展示当前账号免费额度的已用比例、已消耗Token数、总额度、剩余Token数与有效期。额度用完或到期后分别提示免费额度已用完或免费额度已到期,此后Token消耗转为按量后付费。

会话Token用量

进入指定会话后,面板左下角展示当前会话已消耗的Token数;将鼠标悬浮在该数值上,可展开用量明细面板。

输入区使用

输入框支持以下交互方式:

  • 直接输入自然语言并按Enter发送,使用Shift+Enter换行。

  • 输入/唤起Skill面板,平铺展示当前已上线的Skill,支持输入关键字过滤。当前已上线的Skill包括实例管理(/im)、网络管理(/nm)、实例诊断(/id)、数据洞察(/di)和产品咨询(/pc)。选中Skill后,系统会展示参数确认表单,部分参数会基于当前上下文自动预填。

  • 输入@可指定实例,将目标实例作为本次提问的上下文,无需在上下文信息卡中重复选择。输入框提示文案为输入问题,用 / 调用技能、@ 指定实例。

  • 输入框底部常驻AI免责声明:内容由 AI 生成,仅供参考,您据此所作判断及操作均由您自行承担责任。请对关键操作进行人工校验。

一次完整诊断的执行流程

以“为什么我的索引昨天写入特别慢”为例,完整流程如下:

  1. 用户输入自然语言。Elasticsearch 智能助手识别意图后弹出意图确认卡,预填实例ID、时间范围等关键参数。

  2. 用户确认参数后进入Skill执行阶段。步骤Timeline实时展示当前进度:采集指标 → 关联日志 → 分析配置 → 定位瓶颈 → 形成结论。

  3. Skill执行完成后输出结果卡片,包含根因摘要、关键证据与可执行优化建议。展开Tool Call折叠详情可查看模型调用了哪些工具和参数。

  4. 用户可基于结果继续追问,例如「分片应该怎么调」,进入深度诊断模式。

数据洞察

数据洞察为 Elasticsearch 智能助手提供自然语言查询与分析索引数据的能力(NL2ES):在既有对话中选择数据源并用自然语言描述分析需求,助手结合已授权的ES连接与索引Schema生成查询、执行后在对话中返回结果。数据洞察不建设独立工作台,统一复用Agent对话、历史会话与上下文追问能力。

使用流程

  1. 在输入框输入/选择数据洞察技能(/di),或直接输入涉及索引业务数据的问题,由助手按意图自动匹配该技能。也可单击首页快捷操作中的同名卡片。

  2. 在会话展示的上下文信息卡中选择地域与实例 ID,并选择凭证,然后单击确认使用。凭证的创建与选择请参见通过用户凭证连接ES实例。

  3. 在对话中用自然语言描述分析需求,助手会在所选凭证的授权范围内定位目标索引并生成查询。缺少必要时间条件或指标口径不明确时,助手会在对话中追问,不会自动扩大查询范围。

  4. 执行完成后,助手在同一消息流中返回指标摘要、分析说明与结果数据(图表或数据表),并保留本次查询的实例、索引与筛选条件,可基于结果继续追问。

说明

数据洞察的读取能力限于_search、_count、_field_caps及必要的Mapping读取;默认不执行_bulk、_delete_by_query、脚本更新、索引创建删除或集群管理类接口。写入仅支持单文档更新,请参见受控写入。

通过用户凭证连接ES实例

数据洞察使用用户凭证建立当前用户对目标实例的数据访问会话,凭证密码经加密存储在阿里云服务端,不会进入聊天记录、模型输入或日志。凭证在实例的安全配置页面创建与管理,创建步骤如下:

  1. 在Elasticsearch控制台进入目标实例的安全配置页面,在用户凭证管理区域单击新建凭证。

  2. 填写凭证名称、账号与密码。账号需具备目标索引的读取(或写入)权限;密码要求8~30位且包含大写字母、小写字母、数字、特殊字符中的至少三类。每个实例仅一条默认凭证,调用未指定凭证时自动使用。

  3. 在智能助手对话的上下文信息卡中,单击选择凭证选择该凭证;也可单击去新建凭证跳转到实例安全配置页创建后返回选择。连接成功后会读取当前账号授权范围内的索引与Schema。

说明

上下文信息卡中也可选择暂不选择凭证,此时助手不建立ES数据访问会话,仅能回答产品咨询与集群诊断类问题,无法查询索引业务数据。更换凭证后助手会重新读取授权索引与Schema,不沿用旧凭证的权限。

受控写入

当您在对话中明确提出数据修改请求时,助手会生成写入请求并在会话中执行,执行完成后返回更新结果。

说明

写入仅支持单文档更新;批量更新、删除、清空、脚本更新、索引创建删除及集群管理写操作不在开放范围。缺少文档ID、目标字段或目标值时,助手会先追问补全,不会从模糊描述自动扩大为批量更新。

典型场景

Elasticsearch 智能助手覆盖ES运维全生命周期,本节按场景说明典型用法。

告警响应

收到告警后可从控制台一键跳转 Elasticsearch 智能助手,告警上下文自动带入。Elasticsearch 智能助手联动五维数据(监控指标、集群日志、配置项、请求链路 Trace、告警与运维事件)自动完成分析,并在结果卡片中直接给出修复建议(参数调整、扩容、限流等)。关键操作可在助手内一键执行,执行前需二次确认。

该场景依赖运维事件统计权限 elasticsearch:ListStatsEventRecords(该操作已包含在 AliyunElasticsearchReadOnlyAccess 中),同时用于事件中心的未读角标展示。详情请参见功能概述的「权限说明」章节。

定期巡检

Elasticsearch 智能助手提供自动化巡检能力:

  • 支持创建定时任务按单次、每天、每周或每月的周期自动批量巡检,覆盖集群健康度、节点负载、索引规模、分片均衡、慢查询、JVM与磁盘等维度,巡检项目可按需勾选。具体操作请参见配置定时巡检任务。

  • 高风险项主动推送至控制台,也可推送到钉钉、飞书或企业微信群聊。具体操作请参见配置IM通知渠道。

  • 巡检报告支持订阅与导出,便于团队周报与领导汇报。

性能优化

Elasticsearch 智能助手提供性能洞察与优化建议:

  • 慢查询自动归类,给出DSL优化前后对照。

  • 自动识别分片不均、热点节点、字段类型不当等典型问题。

  • 给出可执行的优化建议,例如具体的reindex、template、setting修改语句。

  • 支持追问式深度诊断,逐步缩小排查范围。

容量规划

Elasticsearch 智能助手提供容量预测与配置建议:

  • 基于历史趋势预测未来N天的存储与写入压力。

  • 评估冷热分层策略,给出ILM配置建议。

  • 在成本敏感场景下推荐OpenStore、DFS、Indexing Service等差异化方案。

  • 升配与降配建议附带具体规格与价格估算。

配置定时任务

除在对话中触发巡检外,Elasticsearch 智能助手支持创建定时任务,任务分为两类:巡检任务(按执行周期检查实例健康、性能与容量风险)和告警任务(监听事件中心事件并实时通知到 IM 渠道)。任务创建后展示在任务页面对应的页签下,可将巡检结果或告警通知推送到IM渠道,适用于日常值班与周期性健康检查。

创建巡检任务

  1. 登录阿里云Elasticsearch控制台,在左侧导航栏单击智能助手。

  2. 在页面顶部单击任务。页面顶部展示任务总数、运行中、今日已执行与本月发现风险四项统计,下方按全部、巡检任务、告警任务三个页签展示任务列表,可按状态筛选。

    系统已预置一个系统默认巡检任务(默认对全部实例每天执行一次),可直接查看其巡检结果,也可编辑或暂停。

    单击创建定时任务。

  3. 配置以下参数,然后提交任务。

    参数

    说明

    任务名称

    任务的名称,长度为1~50个字符,用于在任务列表中区分不同任务。

    任务类型

    选择巡检任务或告警任务。下表参数为巡检任务的配置项;告警任务的配置项请参见创建告警任务。

    巡检对象

    本次任务要巡检的实例,支持一次选择多个实例批量巡检,也可选择全部实例。

    执行周期

    任务的触发频率,可选单次、每天、每周或每月,默认为每天。执行时间按UTC+8时区设置。

    基础巡检项目

    覆盖集群基础健康检查的检查项,不产生Token计费。可按需勾选,也可一次全选。可选项包括:集群颜色状态诊断、集群节点失联诊断、集群存储资源诊断、集群计算资源诊断、master节点负载过高诊断、索引副本合理性诊断、节点负载偏差过大诊断、节点shard数过多诊断、索引shard合理性诊断、查询队列堆积诊断、查询耗时诊断、节点disk负载偏差过大诊断。

    高级巡检项目

    按需选择的深度分析项,按Token用量计费。可选项包括:写入性能深入巡检诊断、查询性能深入巡检诊断、CPU负载深入巡检诊断、磁盘负载深入巡检诊断、内存与GC深入巡检诊断、危险配置深入巡检诊断。

    基础巡检项目与高级巡检项目合计至少选择一项,否则无法提交任务。

    开启IM通道

    打开后,巡检结果会推送到关联的IM渠道。打开后需依次选择渠道类型与IM渠道,并在webhook输入框中填入对应群机器人的Webhook地址(获取方式请参见配置IM通知渠道)。单个任务最多配置5个通知渠道。

创建后,任务展示在任务列表中,可查看任务名称、状态、实例范围、执行周期、上次执行时间与执行结果,并可对单个任务执行以下操作:

  • 立即执行:不等待下次触发,立刻运行一次巡检。

  • 编辑:修改任务的巡检对象、执行周期或巡检项目。

  • 暂停:暂停后任务不再按周期触发,可随时恢复。

说明

基础巡检项目不产生Token计费,高级巡检项目按Token用量计费。如任务中选择了高级巡检项目,请结合巡检对象数量与执行周期评估用量,避免免费额度被快速消耗。

创建告警任务

告警任务监听事件中心事件,事件触发时实时推送通知到关联的IM渠道,无需等待巡检周期,适用于变更、集群健康等事件的即时响应。

  1. 在任务页面单击创建任务,任务类型选择告警任务。

  2. 配置以下参数,然后提交任务。

    参数

    说明

    任务名称

    任务的名称,长度为1~50个字符。

    监控对象

    监听事件的实例范围,可选择全部实例或指定实例。

    事件规则

    筛选触发通知的事件,包含三项:事件类型(可选系统变更、集群健康、集群变更、产品更新)、事件名称(可选全部事件名称或具体事件)、事件等级(Critical、Warning、Info)。

    触发方式

    重复告警去重可选5分钟、15分钟、30分钟或60分钟,窗口内的重复告警只通知一次;开启事件恢复时同步发送恢复通知后,事件恢复时会同步发送恢复通知。

    通知目的地

    开启IM通道并关联已配置的IM渠道,单个任务最多关联5个渠道。使用前需先完成渠道配置,请参见配置IM通知渠道。可单击测试通知验证渠道连通性。

创建成功后,任务开始监听事件中心事件。在告警任务页签中可查看任务的触发时间、事件说明、类型与等级、通知状态(发送成功、部分成功、发送失败、已跳过)等信息,并可暂停、启用、编辑或删除任务。

配置IM通知渠道

配置IM渠道后,巡检发现的异常可推送到运维群聊,便于及时响应。当前支持钉钉、飞书和企业微信三种渠道,每个渠道可独立关联定时任务。

配置前,请先在对应IM开放平台创建应用并获取凭证。以钉钉为例,登录钉钉开放平台后,在目标应用的凭证与基础信息页面获取Client ID与Client Secret。

若通过钉钉群机器人Webhook方式推送,需先在钉钉客户端获取Webhook地址,步骤如下:

  1. 打开钉钉客户端,进入目标推送群聊。如尚未建群,请先发起群聊并选择成员加入。

  2. 单击群聊右上角的群设置,选择机器人,然后单击添加机器人。

  3. 在机器人列表中选择自定义(通过Webhook接入自定义服务),将其添加到群聊。

  4. 添加完成后,在设置webhook步骤复制Webhook地址(格式为https://oapi.dingtalk.com/robot/send?access_token=...)。请保管好该Webhook地址,不要公布在外部网站上,泄露有安全风险。

  5. 在定时任务或告警任务表单的通知目的地行,打开开启 IM 通道后,依次选择渠道类型(如钉钉)与IM渠道,并在该行的webhook输入框中粘贴已复制的Webhook地址。单个任务最多配置5个通知渠道。

  6. 在 Elasticsearch 智能助手页面顶部单击IM 渠道,然后单击新增渠道。

  7. 配置以下参数,然后提交。

    参数

    说明

    渠道名称

    渠道的名称,用于在渠道列表与任务配置中区分不同渠道。

    渠道类型

    选择钉钉、飞书或企业微信。

    凭证配置

    选择已有凭证,或新建凭证并填入从IM开放平台获取的Client ID与Client Secret。

    角色配置

    选择该IM渠道使用的RAM角色。如果尚未创建,可在配置面板中单击前往创建角色跳转RAM控制台创建后再返回选择。面板中同时提供IM 渠道角色配置说明链接,可参考其中的权限要求配置角色。

    开启该渠道

    打开后渠道创建完成即启用;关闭则先保存配置,后续可在渠道列表中手动启用。

  8. 创建完成后,渠道展示在对应类型的页签下(页签名称后显示该类型已配置的渠道数量),列表中可查看渠道名称、渠道类型与创建时间,并可对单个渠道执行编辑或删除。

    在定时任务中打开开启 IM 通道并关联该渠道,即可接收巡检结果推送。