实时输出多主机日志文件内容
实现跨多主机的类似tail
功能
版本&兼容性
版本支持
兼容性
- [x]
CentOS6
- [x]
CentOS7
使用方式
参考以下链接进行安装
生成默认配置文件
$ 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行读取
建议使用默认值key
:whence、offset
注意: 实现原理为通过协程ssh
至目标机读取文件并输出,本身并不会对日志文件内容进行处理,
所以读取历史内容是无序的,如有排序需求建议使用elk
等专业产品。
执行
$ easyctl track tail-log -c config.yaml