• 一招搞定错误日志监控


    今日主题:使用Shell 脚本快速定位项目工程的错误日志

    在工作中,我们会发现,随着需求的不断迭代,项目系统变得越发的复杂,一个项目系统里需要同时部署N个项目工程。

    如何快速的去检查当前所有项目工程的日志是否有报错就成了一个棘手的问题。

    面对这个问题,我的选择是使用Shell 脚本来实现项目工程的错误日志查找与定位。

    以下内容是Shell 脚本的实现内容,每一行都有对应的注释,帮助理解。

     1root@l-test bin # more check_log.sh #检查一个目录下所有指定日志文件中的报错
     2
     3日志脚本
     4#!/usr/bin/env bash #是对shell的声明
     5
     6#定义一个变量,用于指定扫描日志的目录
     7base="/home/project" 
     8
     9#shell 中无限循环定义
    10while [[ 1 ]]; do 
    11
    12#for 循环开始遍历目录下的文件,过滤掉default目录
    13    for name in `ls $base | grep -vE "default"`;
    14
    15#开始执行
    16    do 
    17
    18#输出目录路径
    19        echo $base/$name 
    20#判断是否是目录
    21        if [[ -d $base/$name ]]; then
    22
    23# 获取catalina.out 文件中报Exception|ERROR的日志,过滤掉DEBUG|skywalking|10.8.0.37:8800这三类信息
    24            result=`grep -C10 $base/$name/logs/catalina.out | grep -vE "DEBUG|skywalking|10.8.0.37:8800" | grep -C5 -E "Exception|ERROR"` 
    25
    26#if 判断如果$result为空
    27            if [[ -z "$result" ]]; then
    28#继续 
    29continue;
    30
    31#if 结束符
    32            fi 
    33
    34#带颜色的输出一行信息,说明是什么目录下有报错
    35            echo -e "
    33[find Exception in $name33[0m
    
    Excpetion:
    
    $result" 
    36#if 结束符
    37        fi
    38#do 结束符
    39    done
    40
    41#输出休息一分钟 
    42   echo -e "sleep 60 seconds
    "
    43#等待一分钟
    44    sleep 60s
    45#do 结束符
    46done

    欢迎关注【无量测试之道】公众号,回复【领取资源】,
    Python编程学习资源干货、
    Python+Appium框架APP的UI自动化、
    Python+Selenium框架Web的UI自动化、
    Python+Unittest框架API自动化、

    资源和代码 免费送啦~
    文章下方有公众号二维码,可直接微信扫一扫关注即可。

    备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

     添加关注,让我们一起共同成长!

  • 相关阅读:
    Django model转字典的几种方法
    使用Nagios打造专业的业务状态监控
    Etcd安全配置之Basic Auth认证
    ELK日志系统之通用应用程序日志接入方案
    ELK日志系统之使用Rsyslog快速方便的收集Nginx日志
    中小团队落地配置中心详解
    ELK构建MySQL慢日志收集平台详解
    Django model select的各种用法详解
    Python:每日一题003
    Python:每日一题002
  • 原文地址:https://www.cnblogs.com/Wu13241454771/p/13816750.html
Copyright © 2020-2023  润新知