Grafana与Deepseek集成工具

该项目演示了如何将Deepseek LLM与Grafana OSS集成,提供自动补全功能,并支持VSCode的部分Model Context Protocol(MCP)集成。

  • by amaurycarvalho
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 amaurycarvalho/grafana-deepseek-demo

使用说明

🚀 Grafana OSS vs Deepseek演示

这个MVP项目展示了 Deepseek法学硕士(通过Ollama) 随着 OSS图形,提供基本的自动补全功能。它还使 深度求索 与 VSCode,为 模型上下文协议 (MCP)。

⚠️ 警告:这是一个仅用于测试的正在进行中的原型(MVP)项目。 不要将其部署到生产环境中——它缺乏安全强化和验证机制。

📖 用户指南

引言

Grafana的内置LLM支持目前仅在Grafana Cloud上通过 Grafana助手 服务。当 最初免费 它将成为 2026年的付费功能.

然而,Grafana OSS提供了与OpenAI兼容的API兼容的基本LLM集成。

此MVP演示了如何使用将响应转换为OpenAI兼容格式的Node.js桥将Grafana OSS连接到在Ollama上运行的本地Deepseek模型。

您可以使用Docker在本地轻松运行此设置,并使其适应您自己的环境。

⚠️ 警告:一些LLM型号在低规格或经济高效的机器上可能非常慢。虽然Grafana集成在这些条件下可能会失败,但集成日志将继续正常运行。


⚡ 快速启动

⚙️ 桥接器配置

  1. 创建一个 .env 项目根目录中的文件(请参见 .env.example);
  2. 选择您喜欢的型号 OLLAMA_DEFAULT_MODEL 环境变量。

🧱 构建容器

sudo docker-compose build

▶️ 启动堆栈

sudo docker-compose up -d

🛑 停止堆栈

sudo docker-compose down

👉 Grafana基础集成

🖥️ 访问Grafana

http://localhost:3000 (admin/admin)

⚙️ LLM插件设置

  1. 打开Grafana的插件列表:
    导航至 Grafana > Administration > Plugins and data > Plugins 或直接前往 http://localhost:3000/plugins.
  2. 搜索LLM插件;
  3. 配置如下:
    选择 Use a Custom API 选项
    供应商: OpenAI
    API网址: http://llm-bridge:3001
  4. 点击 Save & test 并等待健康检查完成。

🧪 测试

  1. 在浏览器中打开Granafa;
  2. 创建一个 新仪表盘;
  3. 点击面板标题→ 自动生成选项。
    Grafana将使用连接的LLM自动生成标题和描述。

尝试使用 Hello 作为面板标题,测试桥接集成。

另外,试试 Explain Flame Graph 选项在 Drilldown > Profiles > Flame graph.


👉 VSCode部分MCP集成

使用Continue在VSCode中设置本地助手

  1. 安装并启用 继续-开源AI代码代理 VSCode中的扩展;
  2. 点击 继续 左侧工具栏中的图标;
  3. 在继续 聊天 选项卡,单击 打开设置 图标(⚙️);
  4. 选择 配置 左侧新工具栏中的纸张图标,然后单击 本地配置 图标(⚙️);
  5. 将以下内容添加到您的 .continue/agents/config.yaml 文件并保存。
name: Local Assistant
version: 1.0.0
schema: v1
models:
  - name: Deepseek Proxy Chat
    provider: openai
    model: deepseek-r1:1.5b
    apiBase: http://localhost:3001/v1
    apiKey:
    roles:
      - chat
      - edit
      - apply

📌 备注:

  1. 改变 apiKey 相同 LLM_BRIDGE_API_KEY 您输入的值键 .env 档案;
  2. 看 .continue/agents/config.yaml.example 在项目存储库中查看更完整的配置。

测试

  1. 选择型号:
    在聊天部分,选择 Deepseek代理聊天 然后单击 < 返回.
  2. 测试助手:
    类型 你好 在聊天中等待本地Deepseek模型的响应。

在VSCode内部,尝试以下提示:

  • #llm:test
  • Hello!
  • What do you know about Node.js?

而且,仍然是实验性的(需要 MCP_API_KEY 工作):

  • #mcp:grafana Show grafana version
  • #mcp:grafana Show all dashboards names.
  • #mcp:grafana Show all metrics names.
  • #mcp:grafana Show the CPU metrics.
  • #mcp:grafana Show tools list

🧑‍💻 开发者指南

🧩 堆栈概述:

名称 描述 URL
普罗米修斯 指标 http://localhost:9090
Grafana 仪表板和警报 http://localhost:3000(管理员/管理员)
洛基 日志 http://localhost:3100
高温计 分析器 http://localhost:4040
node_exporter 暴露主机CPU/内存 http://localhost:9100
麦格拉法纳 MCP服务器 http://localhost:8000/mcp
Ollama 法学硕士(Deepseek) http://localhost:11434
Bridge 类似OpenAI的代理 http://localhost:3001/v1

🪵 日志

Grafana原木

打开Grafana>深入挖掘>原木

集装箱日志

sudo docker-compose logs | grep 'bridge[[:space:]]*|'

🧠 LLM桥梁手动测试

健康检查

curl -X GET http://localhost:3001/health

简单聊天测试

curl -X POST http://localhost:3001/v1/chat/completions -H "Content-Type: application/json" -d '{"messages": [{"role":"user","content":"#llm:test"}]}'

curl -X POST http://localhost:3001/v1/chat/completions -H "Content-Type: application/json" -d '{"messages": [{"role":"user","content":"Hello"}]}'

MCP查询示例(需要MCP_API_KEY才能工作)

curl -X POST http://localhost:3001/v1/chat/completions -H "Content-Type: application/json" -d '{"messages":[{"role":"user","content":"#mcp:grafana Show grafana version."}]}'

curl -X POST http://localhost:3001/v1/chat/completions -H "Content-Type: application/json" -d '{"messages":[{"role":"user","content":"#mcp:grafana Show all dashboards names."}]}'

设置LLM_BRIDGE_API_KEY时的示例

curl -X POST http://localhost:3001/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer LLM_BRIDGE_API_KEY_value" -d '{"messages": [{ "role": "user", "content": "Hello" }]}'

⚙️ 运营

重新启动所有容器

sudo docker-compose restart

下载并测试Deepseek模型:

sudo docker exec -it ollama sh
ollama pull deepseek-r1:1.5b
ollama list
ollama run deepseek-r1:1.5b "Hello"
exit

打开Grafana容器外壳

sudo docker exec -it grafana sh

📌 配置说明

桥接配置

  • 更改LLM模型:编辑 .env 文件并更改 OLLAMA_DEFAULT_MODEL 环境变量;
  • 安全API密钥:编辑 .env 文件并更改 LLM_BRIDGE_API_KEY 环境变量。在Grafana LLM插件和VSCode中输入相同的值 .Continue 插件配置。

Grafana配置

  • 默认用户/密码:编辑 ./grafana/grafana.ini 归档并搜索“安全”部分;
  • 连接网址(普罗米修斯、洛基、烟火和节奏):编辑 ./grafana/provisioning/datasources/datasources.yml 和 ./.env 文件夹。

Grafana MCP配置

  • MCP令牌首选 Administration > Users and access > Service accounts,添加新服务 viewer 并创建新令牌。将此令牌复制到 MCP_API_KEY 环境变量 .env 文件。重新启动容器。

扩展MCP功能:

编辑 ./bridge/GrafanaMcp.js 通过添加新的MCP服务器方法来创建文件(按照那里的示例)。


📌 附加说明

  • 节点导出器(用于CPU和内存本地数据遥测):需要对/proc和/sys进行读取访问。为了安全起见,提供的Docker Compose使用只读挂载;
  • 所有组件都是从最新的Docker镜像中提取的。如果上游版本发生变化,请进行审查和更新 docker-compose.yml 以及保持兼容性的相关配置。

📚 参考文献和进一步阅读

🔗 OSS图形

🔗 法学硕士和OpenAI

🔗 MCP和OpenAI

🔗 VSCode。继续扩展

🔗 普罗米修斯

🔗 洛基OSS

🔗 高温计OSS

🔗 OSS时间