背景

现在项目多数会采用集群部署的形式,进行负载均衡,来分担客户端大量请求的压力,当客户端请求发生异常,异常log只能在某一个服务器节点上产生,当服务器节点比较少时候,我们可以根据log的关键字来单个查找,但是当服务器节点多的时候我们还这么查找真的有些浪费时间而且不准确.

解决方案

在某一台release 服务器上执行下面脚本即可完成多个节点的log信息的查询
check_log_in_console.sh脚本内容如下

#!/bin/bash

if [ $# -lt 1 ]; then
  echo "please provide the content you want to find"
  echo "usage: $0 [content] [date in yyyymmdd format]"
  exit 0
fi

if [ "$2" == "" ]; then
  d=`date +%Y%m%d`
else
  d=$2
fi

s=prd-hybris-pad

for((i=1;i<=4;i++))
do
    server=$s$i.bb.com
    echo "============check logs on $server===================="

    ssh app@$server "grep '$1' /data/workspace/hybris/hybris/log/tomcat/console-$d.log"
        sleep 1
done

echo "done"
#exit 0

这样我们只需要在该文件目录中执行

./check_log_in_console.sh "你要搜索的关键字"  [回车]

就会去以上节点中四个服务器中去查找你要搜索的关键字,打印出类似如下的log信息:

============check logs on prd-hybris-pad1.bb.com==========
============check logs on prd-hybris-pad2.bb.com==========
============check logs on prd-hybris-pad3.bb.com==========
============check logs on prd-hybris-pad4.bb.com==========


加我微信,咱们交流技术与思想,共同成长


 评论



Copyright 2018-2019 Tanθ's Blog   |   辽ICP备19017651号-1   |     站点总字数: 162.6k 字   |   载入天数...载入时分秒...   |  站点地图   |  站长统计
  总访问量:  次  总访问人数:  人

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议