日志分析SQLite服务器

提供从压缩日志文件创建SQLite数据库并通过MCP协议进行交互的工具,适用于日志分析和查询场景。

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

使用说明

SQLite MCP服务器日志分析

该项目提供了从压缩日志文件创建SQLite数据库的工具,并使用模型上下文协议(MCP)SQLite服务器与之交互。

安装说明

python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt

将日志文件作为.gz文件放置在文件夹中,然后运行:

python3 create_log_db.py 

MCP SQLite服务器

在Cursor中配置MCP SQLite服务器-

  • 光标设置
  • 主控程序
  • 添加新的MCP服务器
  • 名字 SQLlite
  • 将类型设置为 command
  • 将其放入命令框中
npx -y @smithery/cli@latest run mcp-server-sqlite-npx --config "{\"databasePath\":\"/path/to/thedatbase/logs.db\"}"

目录

  • create_log_db.py:将日志文件提取并解析到SQLite数据库中的脚本
  • query_logs.py:直接查询SQLite数据库的脚本
  • logs.db:包含已解析日志数据的SQLite数据库

数据库结构

数据库包含以下表:

logs 表格

  • id:每个日志条目的唯一标识符
  • timestamp:日志条目的时间戳
  • thread:生成日志的线程
  • level:日志级别(信息、警告、错误、调试)
  • module:生成日志的模块
  • message:日志消息内容
  • source_file:源日志文件
  • raw_log:原始日志条目

stack_traces 表格

  • id:每个堆栈跟踪的唯一标识符
  • log_id:引用此堆栈跟踪所属的日志条目
  • stack_trace:全栈跟踪文本

parsing_errors 表格

  • id:每个解析错误的唯一标识符
  • line:无法解析的行
  • source_file:源日志文件
  • error_message:解释解析失败原因的错误消息
  • timestamp:发生解析错误时

您可以使用直接查询数据库 query_logs.py 脚本: