监控线上错误日志

10 篇文章 0 订阅

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

思路:

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点的时候会出现一些问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李昂的数字之旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值