使用说明
洛基MCP服务器
一 主控程序 服务器可以轻松搜索和检索Grafana Loki的日志,而无需编写复杂的LogQL查询。
快速开始
您可以直接使用以下命令运行此服务器 npx:
export LOKI_USERNAME="your-username"
export LOKI_PASSWORD="your-password"
export LOKI_URL="https://your-loki-instance.com"
npx @elad12390/loki-mcp
特性
此MCP服务器提供 7工具, 3资源,以及 3个提示 用于日志分析。AI助手会根据您的自然语言请求自动理解何时使用每种语言。
工具
🔍 loki_search_logs -您的主要日志搜索工具
- 只需说:“检查日志”、“查找错误”、“在日志中搜索X”
- 自动搜索所有服务(无需配置!)
- 按应用程序、环境、服务等选择过滤器。
📊 loki_count_errors -获取数字和趋势
- 只需说:“有多少错误”、“错误率”、“是错误在增加吗”
- 返回图表和统计数据,而不是原始日志
🧩 loki_pattern_analysis -将类似错误分组
- 只需说:“将类似错误分组”、“错误类型”、“对错误进行分类”
- 事件必备-看看你是有1个问题还是100个不同的问题
🔎 loki_get_context -根本原因分析
- 只需说:“在此错误之前发生了什么”,“显示上下文”
- 显示特定错误之前/之后的日志
🔗 loki_scan_correlations -分布式跟踪
- 只需说:“跟踪此ID”,“查找跟踪X的所有日志”,“跨服务跟踪此UUID”
- 使用跟踪/关联ID跨微服务跟踪请求
🎯 loki_extract_field -数据提取
- 拉出任何字段,查看频率分布
- 示例:“哪些用户出现错误?”或“最常见的状态代码?”
📈 loki_show_metrics -使用情况分析
- 查看您最常使用的工具
资源(只读数据)
资源提供AI助手可以读取的可发现数据:
loki://services -列出登录到Loki的所有服务/应用程序
- 请先阅读此内容,了解可用内容
loki://labels -列出所有标签键(元数据字段)
- 显示可以过滤的内容(应用程序、环境、命名空间等)
loki://labels/{label}/values -获取特定标签的值
- 例子:
loki://labels/app/values显示所有应用程序名称
提示(引导式工作流)
提示是常见调试场景的预构建工作流:
debug-error -引导错误调试
- 搜索错误,获取上下文,检查模式
- 论据:
error_text(必填),service,time_window
trace-request -跨服务跟踪请求
- 通过分布式系统跟踪相关性/跟踪ID
- 论据:
trace_id(必填),time_window
health-check -快速生产健康检查
- 列出服务、统计错误、识别模式
- 论据:
service,time_window
AI助手使用技巧
当用户说 “检查洛基” 或 “查看日志”,您应该:
- 阅读
loki://services如果您不知道存在哪些服务,请提供资源 - 使用
loki_search_logs作为您的主要搜索工具,它无需标签即可使用! - 跟进
loki_get_context如果你发现一个有趣的错误 - 使用
loki_count_errors当他们问“有多少” - 使用
loki_pattern_analysis在事件期间对类似错误进行分组
对于复杂的调试,请使用 提示:
- “调试此错误”->使用
debug-error提示 - “跟踪此请求ID”->使用
trace-request提示 - “生产健康吗?”->使用
health-check提示
对话示例
用户: “检查loki支付服务中的错误”
人工智能: 用途 loki_search_logs 标签={“app”:“payment”},search_term=“error”
用户: “今天发生了多少错误?”
人工智能: 用途 loki_count_errors time_window=“24小时”
用户: “正在运行哪些服务?”
人工智能: 倒像 loki://services 资源
用户: “调试此错误:连接超时”
人工智能: 用途 debug-error 带有error_text=“连接超时”的提示
用户: “跨所有服务跟踪请求abc-123-def”
人工智能: 用途 trace-request 带有trace_id=“abc-123-def”的提示
配置
设置以下环境变量:
LOKI_URL:您的Loki实例的URL(默认值:http://localhost:3100)LOKI_USERNAME:基本身份验证用户名(如果需要)LOKI_PASSWORD:基本身份验证密码(如果需要)
发展
看 贡献.md 有关以下内容的详细信息:
- 开发设置
- 测试和CI/CD
- 发布新版本
- 部署流程
npm install
npm run build
