项目简介
Varnishmon 是一个受 atop 启发的小工具,它定期采集 Varnish Cache / Varnish Enterprise 的指标,存储到 DuckDB 数据库中,并通过简单的内置 Web 界面展示时间序列数据。此外,它还实现了 Model Context Protocol,能作为 MCP 服务器为 LLM 客户端提供更深度的上下文信息和功能。
主要功能点
- 高粒度、全面地采集 Varnish 指标并持久化存储。
- 提供一个简单有效的 Web 界面用于指标可视化和历史回溯。
- 通过 MCP 接口向 LLM 客户端暴露 Varnish 指标数据和实时配置信息。
- 提供 MCP 工具,例如将 UNIX 时间戳转换为人类可读格式。
- 支持多种运行模式(命令行、服务)和配置方式(文件、命令行参数)。
安装步骤
从项目的 releases 页面 下载对应您操作系统和架构的最新版本。Varnishmon 是一个独立的二进制文件,通常无需额外依赖即可运行。
服务器配置 (MCP)
要将 Varnishmon 作为 MCP 服务器与 LLM 客户端(如 GitHub Copilot)连接,您需要确保 Varnishmon 的 API 接口已启用并可访问,然后将以下配置信息添加到您的 LLM 客户端配置中。请注意,这里的 IP 和端口是 Varnishmon 的 API 监听地址,示例使用了默认值。
{ "mcp": { "servers": { "varnishmon": { "type": "sse", "url": "http://127.0.0.1:6100/mcp/sse" } } } }
- 'type': 指定 MCP 服务器的传输协议,这里使用 SSE (Server-Sent Events)。
- 'url': MCP 服务器的访问地址,通常是 Varnishmon API 的 '/mcp/sse' 路径。
基本使用方法
- 启动 Varnishmon 服务器,例如:'varnishmon --period 15s --db /tmp/varnishmon.db --ip 0.0.0.0 --port 6100' (请根据实际需要调整参数,尤其是 '--ip' 使其可从客户端访问)。
- 在您的 LLM 客户端(如 GitHub Copilot)中添加上述 MCP 服务器配置。
- 在 LLM 客户端中,您现在可以使用 Varnishmon 提供的工具来获取信息,例如通过 'varnishmon-config' 获取配置和数据范围,通过 'varnishmon-metrics' 列出可用指标,通过 'varnishmon-metric' 获取特定指标的时间序列数据,并通过 'varnishmon-timestamp' 转换时间戳。
信息
分类
开发者工具