恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Grafana MCP工具使用指南:让AI读懂监控数据并帮你排查告警
首页
资讯中心
/
Grafana MCP工具使用指南:让AI读懂监控数据并帮你排查告警
Grafana MCP工具使用指南:让AI读懂监控数据并帮你排查告警
发布时间:2026/10/8 4:16:13
最近后台私信里被问爆的一个话题Grafana MCP工具使用指南。很多人看到“MCP”三个字母就开始懵以为是某种新型协议或者什么高深莫测的框架其实把它拆开看就一句话——让AI助手能直接读懂你Grafana里的监控数据并且帮你操作它。我大概从去年底开始把MCP接入日常的监控排查流程里到现在小半年最大的感受是以前查个告警、翻个Dashboard要么开浏览器点半天要么写PromQL查到头皮发麻现在用自然语言就能让AI帮我完成大部分机械操作我只需要负责判断和决策。这篇文章不搞高深理论纯粹把我在实际环境中折腾Grafana MCP的完整过程、踩过的坑、以及一些只有亲手试过才知道的细节全部摊开讲清楚。先说清楚这篇文章适合谁看正在用Prometheus Grafana做监控、想提高排查效率的运维和开发在研究MCP生态、想找落地场景的AI应用开发者还有那些被老板要求“研究一下新技术”但不知道从哪下手的同学。如果你是这三类人之一这篇文章就是为你准备的。1. 先搞清楚Grafana MCP到底是个什么东西1.1 一句话扫盲MCP是什么MCPModel Context Protocol是Anthropic在2024年底开源的一个开放协议核心思想很简单——给AI大模型插上“手”和“眼睛”。以前你用ChatGPT问问题它只能基于训练数据回答实时数据一概不知。MCP出现之后AI可以通过一套标准化的接口去调用外部工具、读取外部数据相当于给它接了个USB接口插上什么设备就能用什么设备。用生活类比理解大模型是一个刚毕业的高材生脑子聪明但没工作经验MCP服务器就是给他配的各种工具——计算器、温度计、数据库客户端。他要算数据直接拿计算器按要测温度直接拿温度计测而不是凭脑子估。这套协议的好处在于标准化。过去各家AI要接入外部数据都是各写各的插件互不兼容。MCP统一了格式和调用方式一个MCP服务器写好了Claude能用、Codex能用、Cline能用、Cherry Studio也能用生态一次打通。1.2 Grafana官方MCP服务器给AI开的“数据窗口”Grafana在2024年底正式发布了官方的MCP服务器grafana/mcp-grafana基于TypeScript编写托管在npm上。它本质上是Grafana API的一层包装把之前需要通过HTTP请求手动调用的接口封装成了AI可以直接理解和调用的工具。官方MCP服务器提供了三个维度的能力Tools工具AI可以直接调用的动作比如查询告警规则、查询指标数据、列出仪表盘列表、搜索用户、操作服务账号等。Resources资源可以暴露给AI读取的上下文资源比如把Grafana的配置、数据源列表作为上下文提供给模型。Prompts提示模板预置好的查询模板快速引导AI执行特定任务比如“帮我分析当前的告警情况”。这意味着什么意味着我不再需要手写一堆curl命令去调Grafana API也不需要为了查一个指标专门翻半天Grafana的UI。我只需要告诉AI“把最近的告警统计一下”它自己就会通过MCP去Grafana拉数据并整理好给我。1.3 为什么官方做这件事比你想象中重要市面上有不少第三方的Grafana MCP实现但我最终选择了官方版本原因是官方维护的MCP服务器在权限体系和安全机制上做得很扎实。它专门适配了Grafana的多种认证方式API Token、Service Account Token、Basic Auth、Bearer Token还实现了企业版的SSO登录这些都是我自己折腾至少需要好几天的东西。更关键的是官方MCP服务器遵循了Grafana的RBAC权限体系。意味着你给AI配了什么角色它就只能看到什么角色权限内的内容。低权限的Token就是查不了高权限的数据这一点在联调阶段帮了我大忙不用怕AI乱翻敏感配置。2. 环境准备与安装部署全流程2.1 版本选型必须注意的坑在动手之前先确认一下你的Grafana版本。官方MCP服务器对Grafana版本是有要求的如果版本太老部分功能会打折扣。我在测试早期用8.x版本的Grafana结果告警相关的工具调用一直报错后来才确认是版本兼容问题。实际经验Grafana 10.x以上体验最佳特别是**Grafana 10.4**版本。如果你们用的是企业版或者长期支持版建议至少保证在10以上。以下几个核心特性在不同版本上的支持情况我整理成了表格方便对照功能特性Grafana 9.xGrafana 10.xGrafana 11.x当前最新基础指标查询部分支持完整支持完整支持告警规则管理不支持完整支持完整支持仪表盘管理支持支持完整支持服务账号管理不支持完整支持完整支持用户与团队管理仅查询完整支持完整支持版本兼容稳定性低稳定最佳上次实测环境是Grafana 11.1 Prometheus 2.53全功能跑通没有任何兼容问题。如果你的环境版本比较老建议先升级再继续。2.2 安装MCP服务器的几种方式官方MCP服务器安装方式主要有三种我挨个试了一遍直接说结论方式一npx直接运行最快npx -y grafana/mcp-serverlatest --ssp --grafana-urlhttp://localhost:3000 --api-key你的服务账号Token这条命令做的事就是拉取最新的MCP服务器包并用Node.js直接运行。--ssp参数是Streamable Server Protocol我用下来发现加上之后对部分客户端的兼容性更好尤其是在Claude Desktop里。不过现在大部分主流的MCP客户端都兼容这个协议加上没坏处。方式二npm全局安装适合长期使用npm install -g grafana/mcp-server mcp-server --grafana-urlhttp://localhost:3000 --api-key你的服务账号Token适合准备长期使用不希望每次启动都重新拉包。日志输出也更方便管理配合systemd或者直接放后台跑都行。方式三Docker方式适合隔离环境docker run --rm -i -e GRAFANA_URLhttp://host.docker.internal:3000 -e GRAFANA_API_KEY你的服务账号Token ghcr.io/grafana/mcp-server这个方式是macOS上跑的Windows用户注意host.docker.internal可能不生效需要换成宿主机实际IP。三种方式本质一样用什么取决于你的使用场景。我日常在Mac上开发用的最多的是npx方式随用随启动不占系统资源。在服务器上长期跑的话建议用npm全局安装或者Docker。2.3 创建服务账号Token这一步非常重要很多人安装失败都是因为Token配置有误。MCP服务器需要访问Grafana API你在Grafana的管理界面里需要创建一个**服务账号Service Account**并生成Token。操作路径Administration管理 → Users and access用户和访问 → Service accounts服务账号 → Add service account创建账号时需要注意角色Role的选择Viewer只有只读权限适合查询指标、查看仪表盘。日常排查用这个就够了。Editor可以修改仪表盘、管理告警规则适合需要让AI辅助做配置调整的场景。Admin全部权限任何时候都不建议给AI用Admin权限。道理很简单权限越大出事的风险越高。我记得网上看到有案例是AI把生产环境仪表盘改了配置导致数据展示异常虽然能改回来但没必要冒这个险。Token生成之后只显示一次一定要当时就复制保存。丢失的话只能重新生成没办法查出原值。我刚开始测试时不熟悉流程生成完没保存回头找的时候发现找不回来只能重新建了一个。2.4 接入Claude Desktop客户端MCP的价值最终要通过客户端体现。我用得最多的是Claude Desktop接入方式是在配置文件里加一段{ mcpServers: { grafana: { command: npx, args: [ -y, grafana/mcp-server, --grafana-urlhttp://localhost:3000, --api-key你的服务账号Token ] } } }macOS上配置文件路径是~/Library/Application Support/Claude/claude_desktop_config.jsonWindows上是%APPDATA%\Claude\claude_desktop_config.json。配置完成后重启Claude Desktop就能在界面里看到MCP工具已经连接。除了Claude DesktopClineVS Code插件、Cherry Studio、Codex这些都支持MCP客户端配置。原理一致就是把同样的JSON配置填到对应客户端的配置界面。后续的实操部分我会再展开讲IDEA和Cherry Studio的接法。3. 核心功能深度拆解Tools、Resources与Prompts3.1 官方MCP服务器提供哪些工具官方MCP服务器把所有Grafana API能力封装成了AI可调用的“工具”。我梳理了一下核心工具清单方便你对照工具名称作用适用场景list_dashboards获取仪表盘列表快速定位某个业务监控面板search_dashboards搜索仪表盘按关键词搜索相关面板get_dashboard获取仪表盘详情查看面板里的具体图表配置query_metrics查询指标数据核心功能通过PromQL查询监控数据list_alerts获取所有告警规则查看当前的告警配置get_alert获取单个告警详情排查具体告警的状态和历史list_alert_instances获取告警实例看当前有哪些告警正在触发query_datasets查询Grafana Explore数据在Explore里执行查询并获取结果list_user_teams获取用户团队信息排查权限相关问题时用list_users获取用户列表管理视角查询用户信息get_service_accounts获取服务账号列表管理视角查看服务账号get_datasource获取数据源详情查看当前配置了哪些数据源光是列出这些工具你可能感受不到什么我举个例子说明实际使用场景。有一次排查线上服务CPU飙升的问题我直接在Claude里问了一句“看一下最近一小时node机器CPU使用率最高的top5节点”Claude内部就自动调用了query_metrics写出了PromQL查询语句从Prometheus拉到数据并按降序排列最后把结果整理成表格给我。整个过程大概十几秒比我手动去Grafana里操作快了一倍不止。3.2 查询指标的能力边界与参数理解query_metrics是使用频率最高的工具它对应的就是Grafana的数据查询能力核心部分其实是PromQLPrometheus Query Language。这里需要说清楚MCP服务器本身不懂PromQL它是把AI生成的PromQL传给Prometheus执行然后把结果拿回来。所以AI的PromQL水平直接决定了查询结果的质量。我在实际使用中发现AI写的PromQL对常见场景CPU、内存、QPS、延迟都能应对但稍微复杂一点的场景就容易写错。比如查“过去5分钟的平均请求数”AI可能会写rate(http_requests_total[5m])看起来没毛病但如果这个指标的标签里还有status_code就需要加上sum by标签AI经常会漏掉。这里有个使用技巧给你的AI足够的上下文。比如你问之前先告诉它“这个指标是带instance和status_code两个标签的”它就能写出更准确的查询。另外如果条件允许把数据源类型Prometheus、Loki、Graphite等提前说清楚AI写查询语句的准确率会提升一大截。3.3 Resources的实战玩法让AI自动读数据源Resources在MCP里代表“可暴露给AI的上下文数据”。Grafana MCP服务器实现了一个比较实用的Resourcegrafana://datasources这个Resource会把当前Grafana实例里配置的所有数据源信息暴露给AI包括类型、URL、访问模式等。当AI需要知道“你有什么数据源”的时候就会自动去读这个Resource。我在实际中验证过一个场景我问AI“当前有哪些数据源可以用来监控数据库性能”它自动读取了Resource返回的数据源列表然后挑出自带的Prometheus和Loki说可以分别查看时序指标和日志。整个过程没有额外的人工提示AI完全自主完成了上下文的获取。如果想要更细粒度的资源控制可以用resources/list查看当前可用的所有Resource然后用resources/read去读具体的内容。高级一点的玩法还可以结合文件的Resource比如file://开头让AI同时读取配置文件和监控数据做交叉分析这个我们后面实操部分再说。3.4 Prompts预置模板提升效率的隐藏技巧Prompts在MCP协议里让服务器可以预置一些“操作模板”AI在解决问题时可以按模板引导步骤。Grafana官方MCP服务器虽然没有提供大量复杂Prompt但支持你自定义Prompt模板来实现特定的分析流程。我自己的做法是在MCP配置里增加了一个自定义Prompt让它分析告警时先拉取告警列表、再关联指标数据、最后给出可能原因的推断。这样一来每次问“帮我看看现在的告警怎么看”AI会严格按照这个流程走而不是东问一句西答一句。不过要提醒一下Prompt模板对AI起到的是引导作用不是规则引擎。模型偶尔还是可能跳过某一步所以重要场景建议把步骤写进问题里更稳妥。4. 五个高频实操场景手把手教程4.1 场景一接入Claude Desktop 查询当前告警状态这是我用得最频繁的场景因为每天早上一到工位第一件事就是看告警。之前我得打开浏览器登录Grafana。现在直接在Claude Desktop里问一句“帮我统计一下当前所有处于pending状态的告警按严重级别分类并列出每条告警涉及的具体指标”Claude会依次调用list_alert_instances拉取告警实例调用list_alerts获取告警规则配置如果需要看具体指标还会调用query_metrics。整套流程顺畅的话大概15秒能给出完整的告警摘要。实际操作中的一个心得告警实例在Grafana的API里有很多状态字段包括Pending、Normal、Alerting等。如果你只关心正在报警的直接问“处于Alerting状态的告警”会比问“当前有哪些告警”更精准因为后者会把一堆正常状态的也拉出来浪费上下文长度。4.2 场景二在Claude Code里让AI辅助排查性能问题Claude Code是我日常写代码和排查问题的重要工具接入Grafana MCP之后诊断问题的效率有了质的提升。配置方式是在Claude Code的MCP配置里加入类似上面的JSON内容然后重启Claude Code。之后在排查性能问题时我直接说“我的服务最近一次发版后响应时间变慢了帮我看下最新一小时的P99延迟和错误率趋势。”AI会自动完成以下步骤调用query_metrics执行PromQL查询请求延迟指标查询错误率指标对比最近一小时数据最后根据数据的波动给出“可能是某个接口出了问题”的推断并建议进一步检查哪些日志。这套流程最大的价值在于把“查数据”和“分析原因”两件事直接打通了。以前我需要自己切到Grafana界面拉数据、截图、再贴到AI窗口里去分析现在一个对话窗口内全部解决。上下文传递过程中隐私数据不外泄排查效率高了不少。4.3 场景三在IDEA里使用Codex Grafana MCPJava后端开发的同学如果日常用IDEA比较多还有个实用组合Codex Grafana MCP。Codex是OpenAI的AI编程工具支持MCP协议。在IDEA里装了Codex插件之后配置MCP服务器就能让IDE里的AI助手直接访问你的监控数据。配置路径Codex插件设置里有一个“MCP Servers”选项点添加之后填入和上面一样的JSON配置。我自己试过在写代码时遇到一个用户反馈的接口超时问题直接在IDEA里问Codex“这个接口最近半小时的平均响应时间多少”它直接调Grafana的指标查到数据然后结合附近的代码逻辑给出了优化建议。这个场景还有一个进阶用法让AI根据Grafana里的指标数据自动生成监控Dashboard的JSON配置。我在一个内部项目里试过让AI基于某个关键业务接口的现有指标生成完整的仪表盘JSON然后直接导入Grafana创建了新的面板。效果不能说完美但基础框架完全能直接用省了不少手工拖拽的时间。4.4 场景四流式输出监控数据到本地文件很多人可能没注意到MCP协议支持流式输出。之前在社区看到有同学问“使用MCP工具流式输出内容到文件怎么操作”这里顺便讲一下。流式输出的核心价值是边查边写不用等全部数据返回之后再落盘。特别适合处理大时间范围的指标查询比如查一周的每分钟数据点一次性返回可能几万条直接在聊天窗口里根本看不完。通过流式输出到文件数据边生成边写入完全不影响后续操作。具体做法是在支持文件操作的MCP客户端里比如Cherry Studio结合write_file工具和Grafana的query_metrics让AI“把查询结果流式写入本地文件”。Cherry Studio可以在MCP配置里同时挂载Grafana和文件系统两个MCP服务器AI就能在查完指标之后直接把结果写入磁盘。命令示例在Cherry Studio或Cline里直接跟AI说请查询Prometheus中所有节点的内存使用率时间范围过去24小时步长5分钟将结果整理为CSV格式流式输出到~/Downloads/node_memory_24h.csv我在本机测试时两万条左右的数据大约30秒完成写入。文件里每一行是一条时间序列记录列是时间戳和节点名最后两列是实际指标值。后续用Python做分析或者直接导入Excel都很方便。4.5 场景五ID A 与 Claude Code的联动排查这是个压箱底的场景分享出来算是我自己的看家本领。有一次生产环境有一个微服务的Redis连接数异常飙高我怀疑与某个SQL慢查询有关但一时又没法把Grafana监控和服务端日志直接关联起来。于是我在Claude Code里同时挂载了两个MCP服务器一个是Grafana一个是文件系统然后安排AI做一次“交叉分析”第一步让AI从Grafana拉取Redis连接数的时序数据识别出异常的准确时间点。第二步让AI读取本地的服务日志文件通过文件MCP从异常时间点附近检索慢SQL日志。第三步让AI综合两边的数据进行比对判断Redis连接飙升是否与特定SQL执行时间吻合。最终结果很惊人——AI直接帮我定位到一个凌晨批量任务触发的慢查询和Redis连接数飙升的时间线完全吻合。如果靠人工排查最少也得半小时起步AI在几分钟内完成了跨系统关联分析。5. 常见问题与排查技巧实录5.1 连接报错MCP服务器启动失败这是最常见的问题症状是MCP客户端显示服务器连接失败或者启动时直接报错退出。我归纳了三种典型情况情况一Node.js版本过低。官方MCP服务器要求Node.js 18以上。检查你的Node版本node -v如果版本低了升级到18或20版本npx就能正常运行。这个坑在我同事的Windows机器上出现过一次原因是系统里装了老版本的Nodenpx没有报具体错误信息排查了很久才定位到是环境问题。情况二Grafana URL配置无法访问。MCP服务器启动后要去连接Grafana如果URL不通会一直卡住或者报超时。排查方法是在启动MCP之前先手动用curl试一下curl -H Authorization: Bearer 你的Token http://localhost:3000/api/health如果返回200和json响应说明Grafana连通性正常如果连接失败先去检查Grafana服务是否启动、防火墙是否放行端口。情况三Token没有权限。我遇到过用Viewer角色Token配置完成之后查询列表类工具都正常但一旦调用query_metrics就会报403或者no permission。原因是Viewer角色默认没有执行数据查询的权限需要在服务账号配置里给这个账号加上数据源的读权限。去Connection → Data sources → 对应数据源 → Permissions里添加读权限即可。这一点很容易忽略因为列表接口和指标查询接口走的是不同权限域。5.2 MCP客户端里找不到工具有时候配置完成MCP服务器也显示已连接但在AI对话中让AI调用工具时它却告诉你“没有可用的工具”或者“工具调用失败”。这个问题的根源大概率是MCP客户端和服务器之间的握手不完整。不同的MCP客户端对服务器返回的Tools列表有不同的解析方式有些版本比较旧的客户端对工具的schema要求严格可能解析失败。解决办法是按顺序排查确认服务器单独启动时能输出工具列表。用命令行方式启动MCP服务器看启动日志里是否打印了工具数量。尝试去掉--ssp参数再启动。虽然SSP是最新的流式协议但有些客户端对它的支持不完整切回传统模式反而可以正常识别工具。升级你的MCP客户端到最新版本。我遇到过Cline老版本对MCP协议的更新支持不完全升级之后问题自动消失了。5.3 查询结果为空但PromQL在Grafana里能出数据这个坑非常隐蔽。有时候AI调用query_metrics返回的结果为空但你手动在Grafana Explorer里执行同样的PromQL却能查出来数据。问题出在时间范围和步长参数。MCP服务器调用query_metrics时如果AI默认使用了since3600一小时但没有设置合适的stepPrometheus会按默认步长返回数据可能只返回一个点。后续AI对这个单一数据点解读就会出错甚至直接显示为空。我的经验是在跟AI沟通查询需求时明确指定时间范围和数据粒度。比如“查询过去2小时内CPU使用率按1分钟粒度统计”。这样一来AI在调用query_metrics时会带上准确的since和step参数返回结果就不会出现数据稀疏的问题。另外“streamed”参数也值得注意。Grafana的MCP服务器支持streamedtrue这个参数会让结果以CSV流的形式输出适合处理大量查询数据如果只是日常看一眼趋势streamedfalse返回的JSON更直观。5.4 安全建议不要在生产环境给AI开Admin最后聊点安全层面的心得。MCP服务器本质上是给AI开了一扇访问Grafana数据的门门的钥匙就是服务账号Token。如果你的Token是Admin权限AI理论上可以修改和删除仪表盘、关闭告警规则这不是危言耸听。有两次我在测试时让AI“帮我把某个仪表盘上不需要的面板删掉”AI真的回复说“该操作权限不足”因为当时用的是Editor角色。如果当时是Admin它大概率就照做了。因此我的建议是日常排查用Viewer角色只读就够了。需要修改配置时用Editor角色但限定在测试环境。生产环境永远不要用Admin角色的Token配置MCP服务器。Token存放在本地配置文件时注意文件的读取权限。Mac上配置文件的默认权限是当前用户可读写一般问题不大如果多人共用机器建议单独创建系统用户来运行MCP客户端。5.5 工具选型与替代方案对照最后整理了一份我实测过的Grafana MCP方案对照表供你选择时参考方案维护方支持Grafana版本工具覆盖度推荐场景grafana/mcp-grafana官方Grafana官方10全生产环境首选权限规范和安全性最好marcusolsson/grafana-mcp-server社区9基础查询轻量级测试、个人学习Grafana AI Assistant插件企业版Grafana官方10.4深度集成企业版用户需要AI辅助分析自封装REST APIMCP自己写任意自定义需求特殊、官方无法覆盖从我的使用体验来看官方MCP服务器是综合最优解。社区版本虽然轻量但封装能力偏弱遇到复杂一点的告警管理和仪表盘操作经常缺工具。自封装方案只建议在你想把内部的某些自定义逻辑暴露给AI时考虑否则重复造轮子没有意义。补充我先踩过的一个小坑给你提个醒很多人在配置完MCP之后会忽略一个细节服务账号Token是有有效期设置的。Grafana创建服务账号时可以设置Token的过期时间默认30天如果你用的是默认配置一个月后MCP服务器就会因为Token过期而静默失败。这类问题最恶心的点是CLI客户端不会给你明显的报错信息日志里可能只显示一行401 Unauthorized。我上次就是等到用户反馈“AI突然不能查询监控数据了”才发现是Token过期。排查了半天配置最后一看服务账号列表Token已经躺在过期名单里了。所以我的习惯是创建Token时直接选“No expiration date”。如果你有严格的安全合规要求不能长期Token那就把Token过期时间写进团队日历里定期更换别靠感觉记。