美文网首页
使用easyctl实现跨主机tail日志文件

使用easyctl实现跨主机tail日志文件

作者: 微凉哇 | 来源:发表于2021-10-01 12:01 被阅读0次

背景描述

在我们日常开发、运维过程中,基本每天都要查看日志。对于分布式系统而言,日志存储于多个节点,查看起来很不方面。

ELK栈是很不错的日志采集、追踪、分析方案,但本身组件较多,有一定的使用成本。对于以下场景不太适用:

  • 实时追踪多主机日志内容至控制台
  • 依赖尽可能的少,小白也能使用

由此催生出这个功能,该功能实现简单,使用也很简单:

  • 实现原理:基于go通过协程ssh至目标主机,读取文件内容并输出至控制台,输出内容前标明主机IP地址
  • 使用方式:二进制文件,下载后执行授权语句即可使用

功能描述

该功能为easyctl 的一个子功能,实现实时追踪多主机文件内容至控制台功能(类似tail

版本&兼容性

使用方式

参考以下链接进行安装

生成默认配置文件

$ easyctl track tail-log
I1001 11:13:06.384839  126576 track.go:50] 检测到配置文件参数为空,生成配置文件样例 -> config.yaml

修改配置文件

config.yaml,修改server列表,日志文件path

server:
  - host: 10.10.10.[1:3]
    username: root
    password: "123456"
    port: 22
excludes:
  - 192.168.235.132
tail-log:
  log-path: "/opt/nginx/logs/access.log" # 日志文件路径
  whence: 2   # 读取位置: 0为从文件开头读取 1为相对当前位置 2为从文件结尾开始读取
  offset: 200 # 当whence为1时生效,offset表示从文件第200行读取

建议使用默认值keywhence、offset

注意: 实现原理为通过协程ssh至目标机读取文件并输出,本身并不会对日志文件内容进行处理,
所以读取历史内容是无序的,如有排序需求建议使用elk等专业产品。

执行

$ easyctl track tail-log -c config.yaml

相关文章

  • 使用easyctl实现跨主机tail日志文件

    背景描述 在我们日常开发、运维过程中,基本每天都要查看日志。对于分布式系统而言,日志存储于多个节点,查看起来很不方...

  • 【easyctl】使用easyctl跨主机并行执行shell

    背景说明 很多时候我们需要批量对主机执行shell,比如说设置内核参数。一台一台登录执行配置显然不行。 当然ans...

  • 【easyctl】 使用easyctl安装redis

    背景说明 用于简化但/多主机安装redis 安装easyctl 编译安装最新版 下载编译好的文件 easyctl-...

  • Flume自定义Source实现读取文件偏移量的管理

    1.我们知道使用Flume实时监控日志文件,可以使用tail -F 文件地址,但是使用tail -F 会有一个问题...

  • Linux常用命令

    文件编辑 cat:查看 查看日志后100行 tail -f :实时查看日志文件 tail -f 日志文件log t...

  • shell tail

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail...

  • (二)tail命令

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail...

  • (15)tail命令

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail...

  • Python实现linux的tail功能

    基于python3,简单实现tail -n、tail -f功能 原理 把文件大小分页进行读取,这样读取大日志就无需...

  • 【easyctl】使用easyctl扫描多主机信息

    背景说明 最近有个场景:获取某地址段内linux主机信息 扫描内容: 基本信息:IP地址主机名系统版本内核版本 C...

网友评论

      本文标题:使用easyctl实现跨主机tail日志文件

      本文链接:https://www.haomeiwen.com/subject/qwqunltx.html