#日志文件 #监控 #工具 #CLI #终端用户界面 #系统

程序 logtail

基于一个或多个日志文件显示和更新仪表盘

16 个版本 (2 个稳定版)

1.0.1 2022年2月3日
1.0.0 2020年11月26日
0.2.8 2020年11月9日
0.2.7 2020年9月25日
0.1.4 2020年8月19日

#1964命令行工具

每月 43 次下载

GPL-3.0 许可

37KB
977

用于监控日志文件的终端仪表盘

logtailtail -f 的方式在终端中显示一个或多个日志文件。

logtail 的功能

  • 可以显示多个日志文件,一个接一个或并排显示
  • 随着每个日志文件的增长,显示会更新
  • 使用制表符键或箭头键进行导航和滚动
  • 您可以将 logtail-dash 分支出来以创建对日志文件数据的自定义视图

logtail 使用 Rust 编写,并使用 tui-rs 创建终端 UI,以及 linemux 监控日志文件。

操作系统

  • Linux: 在 Ubuntu 上工作。
  • Windows: 在 Windows 10 上工作。
  • MacOS: 通知我发生了什么!

从 crates.io 安装

1 通过 https://doc.rust-lang.net.cn/cargo/getting-started/installation.html 安装 Rust

2 Linux (Ubuntu)

sudo apt-get install build-essential

3a. Linux/MacOS 安装 logtail:

cargo install logtail
logtail --help

3b. Windows 安装 logtail-crossterm:

在 Windows 上构建时,您必须使用 'nightly' 编译器,直到 'itarget' 功能成为 'stable' 的一部分,因此请使用 rustup 安装 Rust nightly

rustup toolchain install nightly

在 Windows 上构建 logtail-crossterm,克隆 logtail-dash,使用 +nightly 构建,并使用 ./target/release 下的二进制文件

git clone https://github.com/happybeing/logtail-dash
cd logtail-dash
cargo +nightly build -Z features=itarget --bin logtail-crossterm --release --no-default-features

./target/release/logtail-crossterm --help

注意:vdashlogtail 的分支,提供 SAFE Network Vaults 的仪表盘(参见 vdash)。

用法

在终端中输入命令和您想要监控的一个或多个日志文件的路径。例如

logtail /var/log/auth.log /var/log/kern.log

当仪表盘处于活动状态时,按 'v' 或 'h' 切换到水平和垂直排列(当查看多个日志文件时)。

更多信息

logtail --help

自定义日志文件仪表盘

如果您想使用 logtail-dash 的核心功能来创建基于文件实时更新的自定义终端显示,您可以通过创建分支并在 src/custom 中的文件进行自定义来实现。

src/custom/opt.rs:命令行选项和用法

src/custom/app.rs:应用程序逻辑(例如,将日志文件解析为“仪表板状态”)

src/custom/ui.rs :仪表板显示和键盘/鼠标界面

示例:vdashlogtail的一个分支,为SAFE Network保险库提供仪表板(见vdash)。

构建

获取先决条件

  1. 获取Rust:见:https://doc.rust-lang.net.cn/cargo/getting-started/installation.html

获取代码

git clone https://github.com/happybeing/logtail-dash
cd logtail-dash

构建

Linux / MacOS

构建使用termion后端(见tui-rs)的logtail。注意:MacOS尚未测试

cargo build --bin logtail --features="termion" --release

Windows 10

构建使用crossterm后端(见tui-rs)的logtail-crossterm,旨在支持Windows。

目前尚未在Windows上工作,目前正在解决。欢迎测试。

cargo build --bin logtail-crossterm --features="crossterm" --release

快速测试

以下是一些构建和运行logtail以监视Linux日志文件的实用命令。

打开两个终端,在一个中运行logtail-dash

cargo run --bin logtail --features="termion"  /var/log/auth.log /var/log/kern.log

在第二个终端中,您可以尝试并失败地使用'su root'来影响第一个日志文件

su root </dev/null

您可以使用任何日志文件进行此基本级别的测试。以下是一些尝试的日志文件

/var/log/syslog
/var/log/auth.log 
/var/log/lastlog
/var/log/dmesg
/var/log/kern.log
/var/log/boot.log

许可协议

除非另有说明,否则一切均为GPL3.0。任何贡献都必须符合此许可协议。

另请参阅./LICENSE

依赖项

~9–18MB
~231K SLoC