监控线上错误日志

    xiaoxiao2025-10-24  11

    需求:监控线上的错误日志,有新错误时,将错误信息发送到指定人的邮箱上。

    思路:

    1、根据线上日志文件的总条数来判断是否新增内容

    2、记录上一次的总条数,作为提取日志增量的其实行数

    3、将新增内容发送至邮箱

    代码:

    #!/bin/bash day=`date +"%y%m%d"` #服务器日志位置 server_log=/tmp/app-${day}.log LOG_NUM=/tmp/lognum${day}.log server_ip="ip1 ip2 ip3 ip4" for server in ${server_ip} do LOCAL_LOG_NUM=${LOG_NUM}${server} if [ ! -f "${LOCAL_LOG_NUM}" ];then echo 0 > ${LOCAL_LOG_NUM} fi #服务器当前日志条数 server_num=`ssh root@${server} cat ${server_log} | wc -l` #本地上次记录条数 local_num=`cat ${LOCAL_LOG_NUM}` if [ ${server_num} -ne ${local_num} ];then from_num=`expr ${local_num} + 1` content=`ssh root@${server} tail -n +${from_num} ${server_log}` echo ${content} | mail -s "php error log from server:${server}" xueshengguo@u51.com # echo new message from ${server} echo ${server_num} > ${LOCAL_LOG_NUM} fi done 问题:

    1、如果网络出错没有一些预警机制

    2、晚上0点的时候会出现一些问题

    转载请注明原文地址: https://ju.6miu.com/read-1303466.html
    最新回复(0)