很无聊,想起前短时间产品报了个bug,需要在生产环境抓取相关日志报文信息。结果生产环境10个节点,苦逼的去一个一个切换,并grep查询,今天无聊就想起这个事情,动手解决这个问题。另外,别见笑,小功能。
首先确定目标,linux环境,所以必须使用shell了,我能说我全程现学现卖,搞定的么,连字符串拼接都很懵逼的。
十个节点,将每个节点的ip地址写到文件里面。
实现思路是一个主节点调用脚本,输入相关关键词,主节点调用其他节点布置好的脚本,使其打印本机的相关日志。
因为生产环境使用堡垒机。所以需要except环境,于是,运维兄弟早搭建好了。
进入正题:(必须有except环境)
相关内容打马了xxx
首先是在每个节点布置一个打印相关日志的脚本,要求只有一个,可以接受变长入参,具体看代码:(文件名:_log.sh)
#!/bin/bash
if [ $# == 1 ] ; then
cat /xxx/xxxxx/logs/catalina.out |grep $1
elif [ $# == 2 ] ; then
cat /xxx/xxxxxx/logs/catalina.out |grep $1|grep $2
elif [ $# == 3 ] ; then
cat /xxx/xxxxxx/logs/catalina.out |grep $1|grep $2|grep $3
e