M AI 员工技能商店
AI 员工平台 返回商城
返回技能商店

小紫 日志分析插件

v1.0.0 · 运维协作 · 官方

日志 运维 ERROR 排查 小紫

简介

小紫 日志分析插件 v1.0,AI 直接分析本地日志文件,运维排错不用开终端:

  • tail 读最后 N 行(大文件倒读,不占内存)
  • search 关键词或正则搜索,可带上下文行
  • stats 统计 ERROR / WARN / INFO / DEBUG 数量
  • extract 提取 Exception / Traceback 堆栈块
  • 无需 pip,UTF-8 / GBK 自动尝试

适用:Java 应用、Python 服务、Nginx 访问/错误日志、Windows 事件导出文本等。

典型流程:stats 看错误占比 → search 定位关键词 → extract 拉堆栈 → tail 看最新输出

操作说明

action功能
tail读取日志末尾 N 行,默认 50
search按关键词或正则搜索,返回匹配行及上下文
stats按行识别日志级别并计数
extract提取异常/错误及后续堆栈行

search 参数要点:

  • query 关键词或正则表达式
  • regex 设为 true 启用正则
  • context 匹配行前后各 N 行(默认 0)
  • case_sensitive 设为 true 区分大小写
  • max_results 最多返回条数(默认 50)

extract 参数要点:

  • max_results 最多提取异常块数(默认 30)
  • since / until 按日志行内时间字符串过滤区间(子串匹配)

stats 识别规则: 行内包含 ERROR/FATAL/CRITICAL、WARN/WARNING、INFO、DEBUG;含 Exception/Traceback 计为 ERROR。

安装

  1. 解压到 D:\xiaozi-plugins\运维协作\日志分析插件\
  2. 复制 python/ 到本目录
  3. 测试:run.bat --action tail --filepath D:\logs\app.log --lines 10
文件说明
log_analyzer_plugin.py主程序
run.bat / run.sh启动脚本
日志分析插件.md用户文档
上架文案/商店详情(本文件,不打 zip)
无需 pip,标准库即可。

命令行

REM 看最后 100 行
run.bat --action tail --filepath D:\logs\app.log --lines 100

REM 搜索 ERROR(默认不区分大小写)
run.bat --action search --filepath D:\logs\app.log --query ERROR --context 2

REM 正则搜索 IP 地址
run.bat --action search --filepath D:\logs\nginx.log --query "\d+\.\d+\.\d+\.\d+" --regex true --context 1

REM 区分大小写搜 Exception
run.bat --action search --filepath D:\logs\app.log --query NullPointerException --case_sensitive true

REM 级别统计
run.bat --action stats --filepath D:\logs\app.log

REM 提取最近 20 条异常堆栈
run.bat --action extract --filepath D:\logs\app.log --max_results 20

REM 按时间段提取(日志行须含该时间字符串)
run.bat --action extract --filepath D:\logs\app.log --since "2026-09-17 10:00" --until "2026-09-17 11:00"

REM GBK 编码老日志
run.bat --action tail --filepath D:\logs\legacy.log --encoding gbk

注册技能 log_analyzer

名称: log_analyzer

描述: 日志分析 v1.0:tail/search/stats/extract。读末尾、搜关键词正则、统计 ERROR/WARN/INFO/DEBUG、提取 Exception 堆栈。用户查日志、搜错误、看最后几行、统计级别、分析异常时使用。需提供 filepath 日志文件完整路径。

脚本: D:\xiaozi-plugins\运维协作\日志分析插件\run.bat

参数 JSON:

{
  "type": "object",
  "properties": {
    "action": {"type": "string", "enum": ["search", "tail", "stats", "extract"], "description": "操作类型"},
    "filepath": {"type": "string", "description": "日志文件完整路径,必填"},
    "query": {"type": "string", "description": "search关键词或正则"},
    "regex": {"type": "string", "description": "search是否正则 true/false"},
    "lines": {"type": "string", "description": "tail读取行数,默认50"},
    "max_results": {"type": "string", "description": "search/extract最多返回条数"},
    "context": {"type": "string", "description": "search匹配上下文行数"},
    "encoding": {"type": "string", "description": "编码 utf-8/gbk,不填自动检测"},
    "case_sensitive": {"type": "string", "description": "search区分大小写 true/false"},
    "since": {"type": "string", "description": "extract起始时间字符串过滤"},
    "until": {"type": "string", "description": "extract结束时间字符串过滤"}
  },
  "required": ["action", "filepath"]
}

对话示例

场景说法
看末尾看 D:\logs\app.log 最后 50 行
搜错误在 app.log 里搜索 NullPointerException,带前后 2 行上下文
统计统计 nginx.log 里有多少 ERROR 和 WARN
提异常提取 app.log 里最近的异常堆栈,最多 10 条
查 IP在 access.log 里用正则找所有 IP 地址
老日志用 gbk 编码读 D:\logs\legacy.log 最后 100 行
小紫 AI 会根据描述选 action 并传 filepath、query、lines 等参数。

常见错误

现象处理
文件不存在检查 filepath 完整路径,注意盘符与反斜杠
乱码指定 --encoding gbk 或 --encoding utf-8
search 无结果换关键词、开 --regex true、或关大小写敏感
正则报错检查 query 转义,JSON 传参时注意反斜杠
extract 为空日志可能无 Exception/Traceback,或 since/until 过滤过窄
python folder missing复制 python 到插件目录

能力边界

支持不支持
本地单文件日志实时 tail -f 流式监控
关键词/正则/级别统计ELK / Loki 远程查询
Java/Python 堆栈提取所有自定义日志格式 100% 解析
UTF-8 / GBK 自动尝试二进制 / 压缩包内日志
大文件 tail 倒读多文件合并分析

与其他插件配合

  • 系统基础插件:exec_cmd 定位日志路径、列出目录
  • 服务巡检插件:探活失败后 tail/search 对应服务日志
  • 小紫_push:内网协同把分析结果推送给同事

推荐顺序:stats 看概况 → search 定位 → extract 拿堆栈 → tail 看最新

详见包内 日志分析插件.md。