返回市场
格拉法纳MCP分析器

格拉法纳MCP分析器

作者:SailingCoder31 星标更新:2025-08-01

项目介绍

Grafana MCP Analyzer 🤖

Version License

让AI直接理解您的监控数据,并成为您专属的智能运维助手!

英文文档 | 中文文档

✨ 项目简介

想象这样一个场景:

  • 您问AI:“我的服务器现在运行得怎么样?”
  • AI直接检查您的Grafana监控并回答:“CPU使用率较高,建议检查这些进程。”

复杂的监控图表,AI辅助一键解读。您不再需要逐屏查看图像,真正实现从图表到洞察的闭环分析体验!

🚀 核心特性

Grafana MCP Analyzer基于**MCP(模型上下文协议)**协议,赋予像Claude和ChatGPT这样的AI助手以下超级能力:

  • 自然语言查询 -轻松访问监控数据,AI一键输出专业分析
  • 多轮对话支持 -支持复杂多轮对话分析,能够根据上下文进行深入分析
  • curl支持 -通过直接从浏览器复制的curl合成查询
  • 全数据源支持 -Prometheus、MySQL、ES等都支持
  • 专业DevOps建议 -不仅展示数据,还提供可执行的优化解决方案以提高DevOps效率

💡 新架构模型会话缓存 → 逐步数据获取 → 逐步深入分析 → 缓存复用,使AI分析更准确高效。

🛠️ 快速开始

第一步:快速安装(30秒)

npm install -g grafana-mcp-analyzer

环境要求:Node.js 18+ | 安装指南

第二步:集成AI助手(30秒)

光标设置 → "MCP" → 服务配置(以光标为例):

{
  "mcpServers": {
    "grafana": {
      "command": "grafana-mcp-analyzer",
      "env": {
        "CONFIG_PATH": "https://raw.githubusercontent.com/SailingCoder/grafana-mcp-analyzer/main/config/grafana-config-play.js",
        "MAX_CHUNK_SIZE": "100"
      }
    }
  }
}

注意:CONFIG_PATH支持绝对路径和远程路径,推荐使用远程路径进行快速体验。

第三步:编写配置文件(1分钟)

如果您需要连接自己的数据,可以在CONFIG_PATH路径下创建一个配置文件:(示例为grafana-config-play.exe)👉 点击这里查看

如果您只想快速体验示例,可以跳过此步骤,直接进入第四步。

<details> <summary>点击展开查看示例</summary>
/**
 * 基于Grafana Play演示实例的配置文件
 * 以下配置文件内容来源:https://raw.githubusercontent.com/SailingCoder/grafana-mcp-analyzer/main/config/grafana-config-play.js
 * 请求配置方式:支持 http api 和 curl
 */
const config = {
  // Grafana服务器地址
  baseUrl: 'https://play.grafana.org',
  
  // 默认请求头
  defaultHeaders: {
    'Content-Type': 'application/json',
    'Accept': 'application/json, text/plain, */*'
  },

  // 健康检查配置
  healthCheck: {
    url: 'api/health'
  },

  // 查询定义
  queries: {
    // Price Only, Hollow Candles
    // 使用HTTP API格式
    // 数据源:https://play.grafana.org/d/candlestick/candlestick?orgId=1&from=2021-07-13T22:13:30.740Z&to=2021-07-13T22:46:18.921Z&timezone=utc&viewPanel=panel-7
    candlestick_priceOnly_hollowCandles: {
      url: 'api/ds/query',
      method: 'POST',
      params: {
        ds_type: 'grafana-testdata-datasource',
        requestId: 'SQR279'
      },
      headers: {
        'accept': 'application/json, text/plain, */*',
        'accept-language': 'zh-CN,zh;q=0.9',
        'cache-control': 'no-cache',
        'content-type': 'application/json',
        'origin': 'https://play.grafana.org',
        'pragma': 'no-cache',
        'priority': 'u=1, i',
        'referer': 'https://play.grafana.org/d/candlestick/candlestick?orgId=1&from=2021-07-13T22:13:30.740Z&to=2021-07-13T22:46:18.921Z&timezone=utc&viewPanel=panel-7',
        'sec-ch-ua': '"Not)A;Brand";v="8", "Chromium";v="138", "Google Chrome";v="138"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': '"macOS"',
        'sec-fetch-dest': 'empty',
        'sec-fetch-mode': 'cors',
        'sec-fetch-site': 'same-origin',
        'traceparent': '00-f0f1243b82acf0e362fd1f836565154a-fc3a173d3190c9df-01',
        'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36',
        'x-dashboard-title': 'Candlestick',
        'x-dashboard-uid': 'candlestick',
        'x-datasource-uid': 'PD8C576611E62080A',
        'x-grafana-device-id': '49c7d4ecdeee88ab5dde64deffa8ea2e',
        'x-grafana-org-id': '1',
        'x-panel-id': '7',
        'x-panel-plugin-id': 'candlestick',
        'x-panel-title': 'Price Only, Hollow Candles',
        'x-plugin-id': 'grafana-testdata-datasource'
      },
      data: {
        queries: [{
          csvFileName: "ohlc_dogecoin.csv",
          refId: "A",
          scenarioId: "csv_file",
          datasource: {
            type: "grafana-testdata-datasource",
            uid: "PD8C576611E62080A"
          },
          datasourceId: 454,
          intervalMs: 2000,
          maxDataPoints: 1180
        }],
        from: "1626214410740",
        to: "1626216378921"
      },
      systemPrompt: `您是狗狗币K线图分析专家。

**分析重点**:
1. 价格趋势识别 - 识别主要趋势方向(上涨/下跌/横盘)
2. 关键价位分析 - 找出支撑位和阻力位
3. 交易机会评估 - 基于K线形态识别入场时机
4. 风险评估 - 提供风险提示和投资建议

**输出格式**:
## 图表概览
- 时间范围:[具体时间]
- 价格范围:[最高价-最低价] 
- 主要趋势:[上涨/下跌/横盘]

## 技术分析
- 支撑位:[价格水平]
- 阻力位:[价格水平]
- 关键行为:[重要价格行为]

## 交易建议
- 短期方向:[看涨/看跌/中性]
- 关键价位:[关注价位]
- 风险提示:[重要提醒]`
    },
    // faro-shop-control-plane - Overall CPU Utilization
    // 使用 cUrl 格式
    // 数据源:https://play.grafana.org/d/cNMLIAFK/cpu-utilization-details-cores?var-interval=$__auto&orgId=1&from=now-3h&to=now&timezone=browser&var-host=faro-shop-control-plane&var-cpu=$__all&viewPanel=panel-22
    overall_cpu_utilization: {
      curl: `curl 'https://play.grafana.org/api/ds/query?ds_type=prometheus&requestId=SQR112' \
  -H 'accept: application/json, text/plain, */*' \
  -H 'accept-language: zh-CN,zh;q=0.9' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -b '_ga=GA1.2.1909983567.1753671369; _gid=GA1.2.532774264.1753671369; rl_page_init_referrer=RudderEncrypt%3AU2FsdGVkX1%2B2lASJjXBqxv6%2FOpvlv5ClRT5vw%2BELHuE%3D; rl_page_init_referring_domain=RudderEncrypt%3AU2FsdGVkX19MSXh%2BQbiHW5f9mLAaP3ghy%2FcJZIk9zhI%3D; intercom-id-agpb1wfw=219eac14-cc23-4ca5-aa16-c299fab8c0ab; intercom-session-agpb1wfw=; intercom-device-id-agpb1wfw=fd9a6df6-d6c8-4b40-958b-568fc7f30ae2; rl_group_id=RudderEncrypt%3AU2FsdGVkX196IBi0ppflecKuY9333Hf3E8fCWy4xJNU%3D; rl_group_trait=RudderEncrypt%3AU2FsdGVkX19%2Fc4msmFb6pg0d4rM%2BpLKI9zqEnxxFrPE%3D; rl_anonymous_id=RudderEncrypt%3AU2FsdGVkX186iymdvmvCOhwF2sff5XEHniCdK0idYHYA4P%2BUpg8hnPVqFbQpqF%2Fn5dfeDz3BxORb9hPn8cIvwQ%3D%3D; rl_user_id=RudderEncrypt%3AU2FsdGVkX1%2B7qEm%2BjVUpWQfQIZgdXaAXNAGDqx%2ByBo3qzXCeyxQWfQNHP9CFM4cX; rl_trait=RudderEncrypt%3AU2FsdGVkX19zSSOXFUxzg3KWR6VQOAkavGgxHg9JdbDKn6hPh3%2BBm3nDBP%2F6tM0wl0b6r0f1A2MZ2SeB6p9f%2FeeaUcrUzR%2FQDfqJHZGhOCdpwmOXZVVQncG%2Ff3ITY6GU%2BvGu9sfYHNgcpS5UHphpBA%3D%3D; _ga_Y0HRZEVBCW=GS2.2.s1753671369$o1$g1$t1753671728$j23$l0$h0; rl_session=RudderEncrypt%3AU2FsdGVkX18BkXGTwuY7KtE7Zr6WjpDFDtkvh9%2Btz4dc8BJeXT1%2FrqgdzGnXydN9EMwRRVR%2FQzGVBtyZ%2FNhg27pvhkbqL2QVLD%2F79GRtbxM8qDKCDo4c%2FfokCEdeF8AoiuRXQzPkAC7UEy7g1swC9w%3D%3D' \
  -H 'origin: https://play.grafana.org' \
  -H 'pragma: no-cache' \
  -H 'priority: u=1, i' \
  -H 'referer: https://play.grafana.org/d/cNMLIAFK/cpu-utilization-details-cores?var-interval=$__auto&orgId=1&from=now-3h&to=now&timezone=browser&var-host=faro-shop-control-plane&var-cpu=$__all&viewPanel=panel-22&inspect=panel-22&inspectTab=query' \
  -H 'sec-ch-ua: "Not)A;Brand";v="8", "Chromium";v="138", "Google Chrome";v="138"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-origin' \
  -H 'traceparent: 00-fea7a897de47671f57a42d15b26043a5-578babdc8cb152e0-01' \
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36' \
  -H 'x-dashboard-title: CPU Utilization Details (Cores)' \
  -H 'x-dashboard-uid: cNMLIAFK' \
  -H 'x-datasource-uid: grafanacloud-prom' \
  -H 'x-grafana-device-id: 49c7d4ecdeee88ab5dde64deffa8ea2e' \
  -H 'x-grafana-org-id: 1' \
  -H 'x-panel-id: 22' \
  -H 'x-panel-plugin-id: timeseries' \
  -H 'x-panel-title: $host - Overall CPU Utilization' \
  -H 'x-plugin-id: prometheus' \
  --data-raw $'{"queries":[{"calculatedInterval":"2s","datasource":{"type":"prometheus","uid":"grafanacloud-prom"},"datasourceErrors":{},"errors":{},"expr":"clamp_max((avg by (mode) ( (clamp_max(rate(node_cpu_seconds_total{instance=\\"faro-shop-control-plane\\",mode\u0021=\\"idle\\"}[1m]),1)) or (clamp_max(irate(node_cpu_seconds_total{instance=\\"faro-shop-control-plane\\",mode\u0021=\\"idle\\"}[5m]),1)) )),1)","format":"time_series","hide":false,"interval":"1m","intervalFactor":1,"legendFormat":"{{mode}}","metric":"","refId":"A","step":300,"exemplar":false,"requestId":"22A","utcOffsetSec":28800,"scopes":[],"adhocFilters":[],"datasourceId":171,"intervalMs":60000,"maxDataPoints":1180},{"datasource":{"type":"prometheus","uid":"grafanacloud-prom"},"expr":"clamp_max(max by () (sum  by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{instance=\\"faro-shop-control-plane\\",mode\u0021=\\"idle\\",mode\u0021=\\"iowait\\"}[1m]),1)) or (clamp_max(irate(node_cpu_seconds_total{instance=\\"faro-shop-control-plane\\",mode\u0021=\\"idle\\",mode\u0021=\\"iowait\\"}[5m]),1)) )),1)","format":"time_series","hide":false,"interval":"1m","intervalFactor":1,"legendFormat":"Max Core Utilization","refId":"B","exemplar":false,"requestId":"22B","utcOffsetSec":28800,"scopes":[],"adhocFilters":[],"datasourceId":171,"intervalMs":60000,"maxDataPoints":1180}],"from":"1753660994019","to":"1753671794019"}'`,
      systemPrompt: `您是系统性能分析专家,专注于CPU使用率历史趋势分析。

**数据特点**:这是总体CPU使用率的历史时间序列数据,包含:
- **user**: 用户模式CPU使用率
- **system**: 系统模式CPU使用率  
- **iowait**: I/O等待时间
- **softirq**: 软件中断
- **Max Core Utilization**: 单核最大使用率

**分析重点**:
1. **历史趋势分析** - 识别CPU使用率的变化趋势和模式
2. **性能瓶颈识别** - 分析哪个CPU模式占用最多资源
3. **峰值分析** - 识别CPU使用率的峰值时间和原因
4. **系统健康评估** - 基于历史数据