
阿里云发布可观测MCP!支持自然语言查询和分析多模态日志
阿里云可观测官方发布了Observable MCP Server,提供了一系列访问阿里云可观测各产品的工具能力,包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS等,支持用户通过自然语言形式查询
阿里云可观测官方发布了Observable MCP Server,提供了一系列访问阿里云可观测各产品的工具能力,包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS等,支持用户通过自然语言形式查询SLS 日志信息 和应用实时监控服务 ARMS 的链路数据,以及一些元数据信息。同时任意支持 MCP 协议的智能体助手, 例如Cursor,Cline,Windsurf 以及各类 Agent框架等,企业人员可以更高效率和可靠地使用可观测数据。
Observable MCP Server的实际应用
本次发布 MCP Server 的第一个版本,主要覆盖日志服务 SLS 和应用实时监控服务 ARMS 的产品能力,支持用户通过自然语言形式查询SLS 日志信息 和应用实时监控服务 ARMS 的链路数据,以及一些元数据信息。
场景一: 查询 SLS 日志 信息
假如有一个日志服务 SLS 的 logstore,里面记录了用户访问的日志,用户希望查询最近一天访问量最高的应用是什么,此时用户可以通过自然语言形式查询,比如:模糊查询最近一天某个 logstore下面访问量最高的应用是什么。
-
分析:
-
需要判断 logstore 是否存在
-
获取 logstore 相关结构
-
根据要求生成查询语句(对于语句用户可确认修改)
-
执行查询语句
-
根据查询结果生成响应
-
使用工具:
-
sls_list_logstores
-
sls_describe_logstore
-
sls_translate_natural_language_to_query
-
sls_execute_query
场景二: 查询 ARMS 某个应用下面响应最慢的几条 Trace
-
分析:
-
需要判断应用是否存在
-
获取应用相关结构
-
根据要求生成查询语句(对于语句用户可确认修改)
-
执行查询语句
-
根据查询结果生成响应
-
使用工具:
-
arms_search_apps
-
arms_generate_trace_query
-
sls_translate_natural_language_to_query
-
sls_execute_query
场景三: 分析 RUM 用户体验监控一段时间的访问性能
-
分析:
-
需要判断应用是否存在
-
获取应用相关结构
-
根据要求生成查询语句(对于语句用户可确认修改)
-
执行查询语句
-
根据查询结果生成响应
-
使用工具:
-
sls_translate_natural_language_to_query
-
sls_execute_query
Observable MCP Server 的优势
-
多产品的数据访问。使用 Observable MCP Server,用户可以跨多款可观测产品,比如日志服务 SLS,应用实时监控服务 ARMS,云监控 CloudMonitor,Prometheus 监控等,使用自然语言形式访问和分析这些产品的数据。
-
多模态数据分析。Observable MCP Server 支持自然语言形式的多模态数据访问和分析,比如日志,指标,链路,告警,应用分析等
-
安全性。Observable MCP Server 支持阿里云的 AccessKey 认证,无额外数据上报,确保用户数据的安全性,并且针对每个工具的输入输出有严格的限制和校验, 并且已经做开源:https://github.com/aliyun/alibabacloud-observability-mcp-server
如何使用 Observable MCP Server?
MCP服务地址:https://www.modelscope.cn/mcp/servers/@aliyun/alibabacloud-observability-mcp-server
权限要求
为了确保 MCP Server 能够成功访问和操作您的阿里云可观测性资源,您需要配置以下权限:
-
阿里云访问密钥 (AccessKey):
-
服务运行需要有效的阿里云 AccessKey ID 和 AccessKey Secret。
-
获取和管理 AccessKey,请参考 阿里云 AccessKey 管理官方文档。
-
RAM 授权 (重要):
-
与 AccessKey 关联的 RAM 用户或角色必须被授予访问相关云服务所需的权限。
-
强烈建议遵循"最小权限原则":仅授予运行您计划使用的 MCP 工具所必需的最小权限集,以降低安全风险。
-
根据您需要使用的工具,参考以下文档进行权限配置:
-
日志服务 (SLS):如果您需要使用
sls_*
相关工具,请参考 日志服务权限说明,并授予必要的读取、查询等权限。-
应用实时监控服务 (ARMS):如果您需要使用
arms_*
相关工具,请参考 ARMS 权限说明,并授予必要的查询权限。
-
-
请根据您的实际应用场景,精细化配置所需权限。
安全与部署建议
请务必关注以下安全事项和部署最佳实践:
-
密钥安全:
-
本 MCP Server 在运行时会使用您提供的 AccessKey 调用阿里云 OpenAPI,但不会以任何形式存储您的 AccessKey,也不会将其用于设计功能之外的任何其他用途。
-
访问控制 (关键):
-
当您选择通过 SSE (Server-Sent Events) 协议 访问 MCP Server 时,您必须自行负责该服务接入点的访问控制和安全防护。
-
强烈建议将 MCP Server 部署在内部网络或受信环境中,例如您的私有 VPC (Virtual Private Cloud) 内,避免直接暴露于公共互联网。
-
推荐的部署方式是使用阿里云函数计算 (FC),目前可观测 MCP 服务已支持通过 FC 部署,详细可查看: FC 部署 MCP SERVER。 并配置其网络设置为仅 VPC 内访问,以实现网络层面的隔离和安全。
-
注意:切勿在没有任何身份验证或访问控制机制的情况下,将配置了您 AccessKey 的 MCP Server SSE 端点暴露在公共互联网上,这会带来极高的安全风险。
安装方式
使用 pip 安装
直接使用 pip 安装即可,安装命令如下:
pip install mcp-server-aliyun-observability
安装之后,直接运行即可,运行命令如下:
python -m mcp_server_aliyun_observability --transport sse --access-key-id <your_access_key_id> --access-key-secret <your_access_key_secret>
可通过命令行传递指定参数:
-
--transport
指定传输方式,可选值为sse
或stdio
,默认值为stdio
-
--access-key-id
指定阿里云 AccessKeyId -
--access-key-secret
指定阿里云 AccessKeySecret -
--log-level
指定日志级别,可选值为DEBUG
、INFO
、WARNING
、ERROR
,默认值为INFO
-
--transport-port
指定传输端口,默认值为8000
,仅当--transport
为sse
时有效
AK,SK 也可以从环境变量读取,ALIYUN_ACCESS_KEY_ID=xxxx, ALIYUN_ACCESS_KEY_SECRET=xxxx
MCP Host配置
以 Cursor 为例(Cursor,Cline,Windsurf同理)
-
打开 Cursor MCP 配置文件,加入以下信息: 比如以 默认的 stdio方式为例
{
"mcpServers": {
"aliyun_observability": {
"command": "python",
"args": ["-m", "mcp_server_aliyun_observability", "--access-key-id", "xxxxx", "--access-key-secret", "xxxxxx"]
}
}
}
如果是 sse 方式,则需要提前启动 MCP Server, 并指定 --transport sse
参数,在 MCP Host 配置文件中加入以下信息:
"mcpServers": {
"mcp_server_aliyun_observability": {
"url": "http://yourhost:yourport/sse"
}
}
-
确认工具已经成功加载即可提问
CherryStudio 配置-开源的 ChatBot 工具
以 SSE 启动方式为例,transport 端口为 8888,实际使用时需要根据实际情况修改
ChatWise 配置
以 SSE 启动方式为例,transport 端口为 8888,实际使用时需要根据实际情况修改
Observable MCP Server 的下一步
-
支持更多可观测产品。目前 Observable MCP Server 已经支持日志服务 SLS 和应用实时监控服务 ARMS 的产品能力,后续将支持更多可观测产品,比如云监控,Prometheus 监控等
-
全栈数据分析能力。借助于阿里云可观测的全栈数据互联互通能力,借助于统一的数据分析查询语言,只需要一个 MCP 工具即可完成可观测全栈数据分析,不需要去理解 SLS SQL,PromQL 等数据分析语言
更多推荐
所有评论(0)