项目上线后,最怕的就是性能出问题。所以我们一般都会搭一套监控系统,比如经典的Prometheus + Grafana组合。看着Grafana上一堆花花绿绿的图表,心里才踏实。
但说实话,图表太多了也头大。想分析个问题,得在好几个仪表盘之间来回切换,数据点一个个对比,眼都花了。
现在有新玩法了。要是能直接在对话框里敲一行字:“帮我看看现在系统的TPS怎么样?”,AI“啪”一下把结果和图表都给你,是不是爽多了?今天咱就来搞这个。
一、老规矩:先把监控的底子搭起来
想让AI分析,首先得有数据。所以,我们还是得先把传统那套监控流程给建好。这套流程主要分三块:
你的项目 (数据源)
- 你得让你的项目愿意把内部的运行数据(比如JVM、HTTP请求数等)暴露出来。在Spring Boot里很简单,加个
actuator
和micrometer-registry-prometheus
的依赖,再在application.yml
里开个端口就行。 - 配置好了,启动项目,访问那个端口(比如
/actuator/prometheus
),能看到一堆文本格式的数据,第一步就成了。
- 你得让你的项目愿意把内部的运行数据(比如JVM、HTTP请求数等)暴露出来。在Spring Boot里很简单,加个
Prometheus (数据仓库)
- 这家伙是个“数据采集员+仓库”。它会定时访问你项目暴露的那个端口,把数据抓过来存好。
- 你需要改一下它的配置文件,告诉它你的项目IP和端口是多少,这样它才知道去哪“收数据”。
Grafana (仪表盘)
- 这是个“数据美术师”,负责把Prometheus仓库里存的那些枯燥数据,画成各种好看又直观的图表。你可以在上面配置各种仪表盘,比如CPU使用率、TPS、接口响应时间等等。
这三样东西,用Docker Compose一键启动,非常方便。网上关于怎么配置它们仨的教程一大堆,这里就不细说了,今天的重点在后面。
等你把这套基础环境搭好,能在Grafana上看到自己项目的监控图表了,我们就可以开始玩点花的了。
二、重头戏:让AI接管你的监控分析
AI本身不认识Grafana,它俩语言不通。想让它们对话,就需要一个“翻译官”,这个翻译官就是 MCP (Model Context Protocol) 服务。
你可以这么理解:你用人话跟AI说,AI通过MCP这个翻译官,把你的话转成Grafana能听懂的API请求,然后从Grafana拿到数据,最后再整理成你看得懂的报告。
开搞!三步让AI连上Grafana
第一步:从Grafana搞一个API Key
这玩意儿就相当于你给AI开的一把钥匙,让它有权限去访问你的Grafana数据。
- 登录你的Grafana。
- 左侧菜单找到 “Administration” -> “API keys”。
- 创建一个新的Key,权限设置成“Viewer”就行(只读权限,安全第一)。
- 创建后马上把Key复制下来存好,因为这个Key只会显示一次。
第二步:配置你的AI客户端
你需要在你的AI客户端(比如Claude、Cursor、Trae等)的配置文件里,告诉它“翻译官”在哪,以及开门的“钥匙”是什么。
配置是个JSON文件,长这样:
{
"mcpServers": {
"grafana": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "GRAFANA_URL",
"-e", "GRAFANA_API_KEY",
"mcp/grafana",
"-t", "stdio"
],
"env": {
"GRAFANA_URL": "http://192.168.1.107:4000",
"GRAFANA_API_KEY": "glsa_xxxxxxxxxxxxxxxxxxxx_xxxxxxxx"
}
}
}
}
你需要改两个地方:
GRAFANA_URL
: 换成你自己的Grafana访问地址。GRAFANA_API_KEY
: 粘贴你上一步复制的那个Key。
这段配置的意思就是,当AI需要和Grafana通信时,会自动运行一个叫mcp/grafana
的Docker容器作为“翻译官”。
第三步:重启客户端,开问!
保存配置,重启你的AI客户端。现在,魔法时刻到了。
三、看看效果:直接和AI聊性能
配置好了,你就可以像使唤助理一样,直接在对话框里问它问题了。
试试问它:
“普罗米修斯监控,获取所有监控接口的tps、qps和响应时间。”
或者更复杂的:
“获取普罗米修斯监控数据,分析下我系统的运行状况,用图表展示出来。”
你看,你再也不用自己去几十个面板里找数据、自己截图、自己做对比分析了。直接问,AI帮你去跑腿,把结果整理得明明白白地交给你。
总结
说到底,传统的Prometheus+Grafana监控是“基建”,它解决了数据从无到有的问题。而AI+MCP的玩法,则是“效率革命”,它改变了我们和数据交互的方式,从“自己动手”变成了“张嘴就来”。
这只是AI在软件工程里提效的一个小例子。以后从写代码、Code Review到智能运维,AI会越来越多地成为我们的“超级辅助”。早点把这些新工具玩起来,绝对不亏。