返回资讯中心
外部精选
软件工程
#开发者实时流

Logcrux:在本地运行的智能日志分析工具

来源标题:Show HN: Logcrux – An intelligent local log analyzer

Logcrux 是一款完全本地运行的日志分析工具,能读取 nginx、postgres、kubernetes、syslog 等格式的日志文件,判断系统是否真的出了问题。它不仅能识别突发峰值,还能发现单行记录即可体现的故障,如后端崩溃、备份未运行、证书过期等,并逐条标注相关日志行号。所有分析均在本机完成,无需服务器组件或 API key,日志数据不会离开本地。

Hacker News 最新ravipatib2026/11/9 · 今天8 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

首页 安装 用法 格式 工作原理 配置 故障排查 常见问题 源码

logcrux 读取日志文件(nginx、postgres、kubernetes、syslog、auth,任何格式都行),并告诉你是否真的出了问题。突发和尖峰能发现,但也能发现只有一行的故障:崩溃的后端、没运行的备份任务、因未处理异常而挂掉的应用、过期的证书、变成只读的磁盘、没有可用后端的代理、文件描述符耗尽的进程。

每条发现都会说明它针对什么(攻击的 IP 和用户、OOM killer 选中的进程、崩溃的 unit),并按行号指出能证明它的日志行。干净的结果会说明检查了什么。一切都在你的机器上运行。没有服务器组件,没有 API key,日志数据永远不会离开它运行的那台机器。

把它指向一个文件,或者把流管道传给它:

$ logcrux /var/log/syslog $ logcrux /var/log/nginx/ $ journalctl -b | logcrux $ docker logs myapp 2>&1 | logcrux $ kubectl logs deploy/api --previous | logcrux

参见安装让它跑起来,以及 用法获取完整命令参考。

对一个糟糕下午之后的服务器 journal 的实际运行结果:一次 OOM kill、一个崩溃循环的服务、一个被拒绝的 nginx 配置和一次 SSH 暴力破解。

$ journalctl -b | logcrux ╭──────────────────────── CRITICAL 内存不足 ─────────────────────────╮ │ ● OOM killer 触发(6 个事件) │ │ 2026-10-19 19:41:55 → 19:42:14(19秒) │ │ killed: tail ×2 · cgroup: /system.slice/report-export.service ×1 │ │ line 1443: kernel: Memory cgroup out of memory: Killed process 17110(… │ │ line 1444: systemd: report-export.service: A process of this unit has … │ │ ● 服务崩溃(10 个事件) │ │ 2026-10-19 19:41:55 → 19:42:52(57秒) │ │ process: tail ×1 · unit: orders-worker.service ×6, report-export.serv… │ │ line 1530: systemd: orders-worker.service: Main process exited, code=e… │ │ line 1571: systemd: Failed to start orders worker. │ │ ● 配置被拒绝(1 个事件) │ │ 于 2026-10-19 19:42:52 │ │ line 1607: nginx: configuration file /etc/nginx/nginx.conf test failed │ │ ● 认证失败集群(60 个事件) │ │ 2026-10-19 19:41:58 → 19:42:11(13秒) │ │ ● 检测到错误突发(77 个事件) │ │ 2026-10-19 19:38:06 → 19:42:52(4分46秒) │ │ │ │ 置信度:90% │ │ │ │ 修复建议:检查 /proc/meminfo 和 dmesg | grep -i oom。考虑增加 │ │ swap 或在 /etc/sysctl.conf 中调整 vm.overcommit_memory=2。 │ ╰──────────────────────────────────────────────────────────────────────────────╯ 以 syslog 身份检查了 1,611 个事件 │ 1,620 行中 100% 已解析 │ 2026-10-19 19:37:49 → 19:43:02(5分13秒) │ 78 个错误 · 1 个警告 在 0.5s 内分析了 1,611 个事件 │ 5 个事件 │ logcrux v0.10.0 $ echo $? 4

没有事件,就没有消息:干净的运行会打印一个简短的 CLEAN 框并以 0 退出。参见用法了解退出码,以及工作原理了解这背后的处理管线。

参见完整格式列表。任何无法识别的格式仍会由通用回退解析器处理,它绝不会静默丢弃一行。

logcrux 是自由开源软件,采用 Apache-2.0 许可。

本站不设置 cookie,也不运行脚本。logcrux 本身永远不会向任何地方发送任何东西。

源码在 github · pypi · 报告安全问题

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →