Linux运维常用工具之multitail

一 multitail 简介

  • MultiTail是个用来实现同时监控多个文档、类似tail命令的功能的软件。
  • 多重tail功能。

二 multitail 安装

2.1 ubuntu 系统

root@wgs:~# apt -y install multitail

2.2 centos 系统

[root@wgs ~]# yum -y install multitail

三 multitail 使用帮助

点击查看代码
---*- multitail 6.4.2 (C) 2003-2014 来自folkert@vanheusden.com --*--

multitail [-cs|-Cs|-c-] [-i] 输入文件 [-i anotherinputfile] [...]

*** 选择要关注的文件 ***
-i x 以下参数是文件名(以防它以破折号开头)
-I x like -i only this one 将此日志文件合并到前一个窗口

-q x z 通过搜索条件 z 每 x 秒检查一次新文件,为那些创建一个新窗口
-qs x y z 按搜索条件 z 每 x 秒检查一次新文件,为这些文件创建一个新窗口,使用配色方案 y
-Q x z 通过搜索条件 z 每 x 秒检查一次新文件,将它们全部放在同一个窗口中(使用子窗口)
-Qs x y z 通过搜索条件 z 每 x 秒检查一次新文件,将它们全部放在同一个窗口中(使用子窗口),使用配色方案 y
-iw file 我每'i'秒检查一次'file'是否出现在文件系统中
--new-only (for -q/-Q) 只为 multitail 启动后创建的文件创建窗口,忽略现有文件

-f 跟随以下文件名,而不是描述符(例如,当 logrotate 归档日志文件时)
--follow-all 见 -f: 此开关后的所有文件
--retry 继续尝试打开以下文件,直到它可以访问
--retry-all 类似于 --retry 但对于以下所有文件

*** 选择要遵循的命令输出 ***
-l x 参数是要执行的命令
-L x 查看 -l 但将输出合并到先前创建的窗口
-r interval 在`interval' 秒后终止时重新启动命令
-R 间隔与 -r 类似,但仅显示差异
-Rc/-rc 间隔类似于 -r/-R 但在每次迭代前清理窗口

-j 从 STDIN 读取(只能使用一次)
-J 类似于 -j 但合并到前一个窗口

--listen [interface]:port 就像一个系统日志服务器。端口通常是 514
--Listen [interface]:port 类似于 --listen 但合并到前一个窗口

*** 合并参数 ***
--mergeall 将以下所有文件合并到同一个窗口中(在前一个窗口中)
--mergeall-new 将以下所有文件合并到同一个窗口中(在新窗口中)
--no-mergeall 停止将所有文件合并到一个窗口中
--no-repeat 禁止重复行并用“最后一条消息重复 x 次”替换它们

*** 标记 ***
--mark-interval x 当没有任何东西进入时,每 'x' 秒打印一个 '---mark---' 行
--mark-change 当多个文件合并时多尾在两个窗口之间切换,打印带有文件名的标记线
--no-mark-change 在文件更改时不打印标记线(覆盖配置文件)

*** 初始尾部/回滚参数 ***
-n x 要拖尾的初始行数
-m x 设置回滚缓冲区大小(# 行)
-mb x 设置回滚缓冲区大小(以字节为单位,使用 xKB/MB/GB)
-bw a/f 要缓冲的内容:'a'll 或通过'f'过滤器的内容

“三通”功能
-a x like 'tee':将(过滤的)输入写入文件 'x'
-A x 查看 -a: 但将未过滤的 (!) 输入写入文件 'x'
-g x 将输入也重定向(过滤)到命令/进程 'x'
-G x 将未过滤的输入也重定向到命令/进程 'x'

*** 屏幕布局 ***
-s x 垂直分屏(在“x”列中)
-sw x,x,... 在哪些列拆分屏幕,使用“0”自动调整大小
-sn x,x,... 每列的窗口数
-wh x 窗口高度

*** 过滤 ***
-fr 方案使用配置文件中的预定义过滤器
-e[m] 仅在与此正则表达式匹配时才打印
-ev 仅在与此正则表达式不匹配时才打印
-ec 使用正则表达式,但在以下文件中显示反向匹配
-eC 使用正则表达式,显示所有内容,但在以下文件中反转匹配
-ex 执行命令 ('-ex regexp command') 匹配时,匹配行作为命令行参数给出
-eX 与 -ex 类似,但仅将匹配的子字符串作为命令行参数提供给命令
-E 在以下文件上使用正则表达式
-Ec 使用正则表达式,但在以下文件中显示反向匹配
-EC 使用正则表达式,显示所有内容,但在以下文件中反转匹配
-ke x 使用正则表达式 'x' 去除部分输入
-kr x y 去除输入的一部分,从偏移量 x 开始到结束(不包括!)偏移量 y
-kc x y 去除输入的部分:带分隔符 'x' 的去除列 'y'
-ks x 使用编辑方案 'x'(在配置文件中定义)
-kS x 只显示常规 epxression 'x' 中子字符串选择匹配的子字符串('(' 和 ')' 之间的部分)
-v 反转下一个正则表达式(不要与 -ev/em 一起使用)

*** 颜色 ***
-cv x 使用转换方案 'x'(参见 multitail.conf)
-c 着色当前
-cS 方案使用配色方案“方案”(在 multitail.conf 中定义)
-csn 用于以下开关的额外开关;不要使用反向(反转)颜色
-Cs 使用 syslog-scheme 为以下所有文件着色
-C 为以下所有文件着色
-cf/-cf 字段分隔符根据给定的字段编号为下一个/所有文件着色。字段用给定的字段分隔符分隔
-ci color 使用“颜色”(红色、绿色等),在合并多个输入时很有用
-c- 不要给以下文件上色
-C- 不要给以下文件上色
-cT term 解释来自文件/命令的终端代码(对于终端类型“term”)
-Z color 为标记线设置颜色
-w 不使用颜色

*** 时间戳 ***
-ts 在每行之前添加时间戳(格式可在 multitail.conf 中配置)
-T 在标记线中放置时间戳

*** 状态行参数 ***
-d 不更新状态行
-D 根本不显示状态行
-du 将状态行放在数据窗口上方

*** 状态行参数 ***
-z 不显示“窗口关闭”弹出窗口
-x str 在 xterm 标题栏中显示“str”
-t x 在窗口标题中显示“x”(当 MultiTail 在 xterm 中运行时)
-u 设置更新间隔(对于慢速链接)

*** 输入文本处理 ***
-p x [y] 设置换行(l=left/a=all/r=right/s=syslog,S=syslog w/o procname,o=offset -> 'y',w=wordwrap)
-P 与 -p 类似,但适用于以下所有文件
-b n 设置制表符宽度
--cont 以 '' 结尾重新连接行

*** 行前缀 ***
--basename 只在状态行中显示文件名(而不是路径)
--label x 放在每行前面
-S 在合并输出中预先显示子窗口编号

*** 配置文件 ***
-F 文件使用 'file' 作为配置文件(而不是 /etc/multitail.conf)
--no-load-global-config 不读取 /etc/multitail.conf
-o config_file_parameter 做一个通常会在配置文件中设置的设置

*** 监控 ***
-H x 显示心跳(让你的会话保持活跃)
--beep-interval x 每 x 行处理一次蜂鸣声
--bi x 类似于 '--beep-interval' 但仅适用于当前(子)窗口
--closeidle x 当超过 'x' 秒没有处理新数据时关闭窗口

*** 各种各样的 ***
-V 显示版本并退出
-h 这个帮助

每个文件/命令可以有多个正则表达式。警告:如果
您定义了多个,其中一个用“-E”指定(=对于每个
以下文件),当前正则表达式的_all_适用于所有
以下文件!

如需帮助,请随时按 F1。

四 multitail 使用实例

3.1 交互模式下命令

  • 按b键弹出选择文件窗口
  • 按q键退出
  • 按h键帮助
  • 按F1键帮助

3.2 横排显示

root@wgs:~# multitail /var/log/syslog /var/log/auth.log

3.3 竖排显示

点击查看代码
root@wgs:~# multitail -s 3 /var/log/syslog /var/log/syslog /var/log/syslog

3.4 多个文件合并并指定颜色

root@wgs:~# multitail -ci green /var/log/syslog -ci yellow  -I /var/log/auth.log -ci red  -I /var/log/kern.log

3.5 其它输出格式

#3行3列
root@wgs:~# multitail -s 3 -n 3 /var/log/syslog  /var/log/auth.log  /var/log/kern.log /var/log/kern.log /var/log/kern.log /var/log/kern.log /var/log/kern.log /var/log/kern.log /var/log/kern.log

3.6 文件内容过滤

#只显示带failed的行
root@wgs:~# multitail -e "failed"  /var/log/syslog

3.7 文件内容排除

点击查看代码
# 不显示包含failed和Started Session的行
root@wgs:~# multitail -ev "failed"  -e "Started Session" /var/log/syslog

五 其它功能

5.1 查看远程主机日志

# 需要免密登录
root@wgs:~# multitail -l "ssh  wgs@192.168.75.155 tail -f /var/log/syslog"

5.2 查看执行命令

# 1秒刷新一次
root@wgs:~# multitail -R 1 -l "ps -ef"

posted @ 2021-09-14 10:27  小吉猫  阅读(710)  评论(0编辑  收藏  举报