原文地址:开源【dockertail】docker日志查看神器

项目地址

github地址:GitHub - llody55/dockertail: 实时查看多副本docker容器的工具。

gitee地址dockertail: 实时查看多副本docker容器的工具。

使用说明

使用docker过程中,难免会遇到要查看日志的情况,但是在面对多副本,比如微服务多个副本需要实时查看日志的情况,就只能躲开一个终端进行查看。

dockertail就是为了解决这个问题才出现的。

使用场景

实时监控:可以通过该工具实时监控 Docker 容器的日志,对容器的运行状态有更清晰的了解。

故障排查:查看容器日志对于诊断问题和排除故障至关重要。这个工具能够快速定位和查看特定容器的日志信息,有助于解决问题。

多容器副本日志聚合:能够同时查看多个容器的日志,适用于需要同时监控多个容器的场景。

主要功能

-f: 查看实时日志,类似于:tail -f 或者 docker logs -f

-n: 显示日志的行数

多容器支持: 可以同时查看多个容器的日志,并用颜色区分显示各个容器的日志输出。

代码细节

参数解析:工具使用 flag 包解析命令行参数,支持 -f 参数用于实时查看日志、-n 参数用于指定显示最后 N 行日志。

Docker 客户端:使用 github.com/docker/docker/client 包建立与 Docker 引擎的连接,通过 Docker 客户端获取容器日志。

颜色标识:为了区分不同容器的日志,使用了颜色标识,每个容器输出都有自己的颜色。

并发处理:使用 Go 协程并发处理多个容器的日志输出,以实现同时查看多个容器的日志。

使用指南

下载二进制文件

wget https://github.com/llody55/dockertail/releases/download/v1/dockertail-amd64 && chmod +x dockertail-amd64 && mv dockertail-amd64 /usr/local/bin/dockertail

使用示例

# 实时查看容器最新的100行日志
dockertail-amd64 -f -n 100 <container_id_1>
# 多容器示例
dockertail-amd64 -f -n 100 <container_id_1> <container_id_2> <container_id_3>

使用实践

1698999883079.png

1698999918966.jpg

1698999940366.jpg

总结

Dockertail 日志查看器 是一个简单但实用的工具,为用户提供了在终端中实时查看 Docker 容器日志的能力。无论是开发、测试还是生产环境,这个工具都能帮助用户更好地监控和聚合容器日志。通过了解其源码和功能,用户可以更好地利用这个工具来简化容器日志的管理与监控。

如果遇到问题欢迎留言或者提交issues。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐