日志语义查询服务

Loki MCP Server是一个基于Loki的语义日志查询服务,帮助AI模型回答关于集群日志的自然语言问题,提供错误汇总、Pod重启检测、日志搜索等功能。

  • by mvs5465-test
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 mvs5465/loki-mcp-server

使用说明

洛基MCP服务器

用于通过Loki进行语义日志查询的MCP(模型上下文协议)服务器。旨在帮助AI模型回答有关集群日志的自然语言问题。

特性

  • 错误摘要:按类型汇总集群中的错误
  • Pod重启检测:查找崩溃/重新启动的Pod
  • 日志搜索:跨集群的基于正则表达式的日志搜索
  • 命名空间/Pod发现:列出可用的命名空间和特定于查询的Pod
  • 语义工具设计:工具名称和参数与自然语言问题匹配

工具

get_error_summary

获取集群中发生的错误摘要。

  • namespace:筛选到特定命名空间(空=全部)
  • hours:回顾这几个小时(默认值:1)

find_pod_restarts

查找最近重新启动或崩溃的Pod。

  • namespace:筛选到特定命名空间(空=全部)
  • hours:回顾这几个小时(默认值:1)

search_logs

使用正则表达式模式搜索日志。

  • query:要搜索的正则表达式模式
  • namespace:筛选到特定命名空间(空=全部)
  • hours:回顾这几个小时(默认值:1)
  • limit:要返回的最大日志行数(默认值:100)

list_namespaces

列出在Loki中有日志的所有命名空间。

get_pod_logs

获取特定pod的日志。

  • pod_name:Pod名称(支持通配符,如 ollama*)
  • namespace:pod的命名空间(空=搜索全部)
  • hours:回顾这几个小时(默认值:1)
  • limit:要返回的最大日志行数(默认值:100)

发展

# Install dependencies
uv sync

# Run the server
uv run server.py

服务器通过流式HTTP在以下位置公开FastMCP /mcp (默认端口 8000).

部署(群集中)

将Helm值添加到您的本地k8s-apps中:

  • 使用MCP服务器进行部署
  • 通过HTTP在端口8000上暴露
  • 环境变量: LOKI_URL 指向洛基服务

Ollama MCP桥将加载此服务器的工具并将其暴露给模型。