监控线上错误日志

来源:互联网 发布:斐讯k3端口转发 编辑:程序博客网 时间:2024/04/29 18:37

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

思路:

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

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

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


代码:

#!/bin/bashday=`date +"%y%m%d"`#服务器日志位置server_log=/tmp/app-${day}.logLOG_NUM=/tmp/lognum${day}.logserver_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}    fidone

问题:

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

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

0 0
原创粉丝点击