nerdlog:一款高效的远程日志查看器

nerdlog:一款高效的远程日志查看器

nerdlog Nerdlog: fast, remote-first, multi-host TUI log viewer with timeline histogram and no central server nerdlog 项目地址: https://gitcode.com/gh_mirrors/ne/nerdlog

项目介绍

nerdlog 是一款快速、远程优先、支持多主机的 TUI(文本用户界面)日志查看器,具备时间线直方图功能,且无需中央服务器。它的设计灵感来源于 Graylog 和 Kibana,但避免了这些工具的膨胀特性。使用时几乎无需任何设置。

nerdlog 致力于在查询来自多个远程主机的日志时保持高效性,支持按时间范围和模式进行过滤,同时绘制时间线直方图,以便快速获取视觉洞察:

Nerdlog

nerdlog 的主要应用场景是读取一个或多个远程主机的系统日志(如 /var/log/messages/var/log/syslog),即使在大型日志文件(如1GB以上)上也非常高效。

虽然它也支持其他一些日志格式并可以使用任何日志文件,但其设计和实现主要围绕上述用例展开:项目的原始需求是高效地读取运行在多个 Linux 实例上作为 systemd 服务的 web 服务后端的日志,并希望拥有类似于 Graylog 工具的时间线直方图功能。

项目技术分析

nerdlog 的设计亮点包括:

  • 无需中央服务器;nerdlog 与用户想要收集日志的每个节点建立 ssh 连接,并在后台保持空闲状态(虽然在某些情况下,一个单独的服务器来存储日志文件可能会有所帮助,具体请参阅文章中的 要求和限制 部分);
  • 日志不会完整下载到本地机器:所有日志分析都在远程节点上完成,每次查询时,只从每个节点下载以下数据:每个日志流最多 250 条消息(可配置),以及时间线直方图的数据。显然,可以分页浏览日志,以获取下一条消息等。nerdlog 然后将所有节点的响应合并在一起,以统一的格式呈现给用户;
  • 大部分数据在传输过程中都进行了 gzip 压缩,从而节省了带宽。

项目技术应用场景

nerdlog 主要用于读取系统日志,尤其是在有大量日志输出的情况下,如1GB或更大的日志文件。它适用于需要同时查询多个远程主机日志的场景,支持通过 ssh 连接进行日志分析,且不需要将日志文件下载到本地。

项目特点

  • 高效性:nerdlog 在处理大量日志时表现出色,通过仅下载必要的日志数据和压缩传输,减少了资源消耗。
  • 灵活的日志源:支持多种日志格式,并且可以通过配置文件定义远程主机上的日志文件路径。
  • 直观的界面:通过时间线直方图和表格形式展示日志数据,便于用户快速定位信息。
  • 无需中央服务器:通过直接与远程主机建立 ssh 连接,无需维护额外的服务器基础设施。

以下是nerdlog的一个演示,展示了如何在四个远程节点上使用:

Nerdlog

nerdlog 的历史可以追溯到2022年,最初是为了替代效率低下的 Splunk 设备。在2025年进行了清洁和开源。尽管目前仍处于概念验证阶段,代码可能较为混乱,测试覆盖不足,功能也有待完善,但它已经能够以令人惊讶的速度运行。

安装nerdlog需要Go语言环境。可以通过以下命令安装:

$ make && make install

或者在不安装的情况下构建和运行:

$ make && bin/nerdlog

使用nerdlog时,会显示一个查询编辑表单,包括时间范围、日志流和选择字段表达式等选项。用户可以通过ssh配置文件或nerdlog的配置文件定义日志流。

nerdlog的用户界面包括多个关键元素,如awk模式输入、编辑按钮、菜单按钮、时间范围直方图、日志表格和状态栏等。用户可以通过多种方式导航应用程序,包括使用Tab键切换小部件、箭头键在表格内移动,以及使用类似于Vim的键绑定等。

nerdlog是一款功能强大且实用的开源日志查看器,特别适合那些需要在多个远程主机上高效查看日志的用户。通过其独特的特点和设计,nerdlog无疑为日志管理领域带来了新的选择。

nerdlog Nerdlog: fast, remote-first, multi-host TUI log viewer with timeline histogram and no central server nerdlog 项目地址: https://gitcode.com/gh_mirrors/ne/nerdlog

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邵瑗跃Free

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值