用于监控日志文件的是否被修改的脚本

最近一段需要监控观察web服务器上的日志文件是否有写入,用来判断是否服务进程是否是正常,为此就简单写了一个脚本:

#!/bin/bash
#check_logfile_io.sh
#Used to monitor logs I/O
#writer jim
#histor
#2017.3.22
log_file_path=/usr/local/apache/log/access.log

First_md5sum=$(/usr/bin/md5sum $log_file_path | awk ‘{print $1}‘)
sleep 2
Second_md5sum=$(/usr/bin/md5sum $log_file_path | awk ‘{print $1}‘)
#利用比对2次取得的md5值来判断文件是否有被改动
if [ "$First_md5sum" == "$Second_md5sum" ]
then
    echo "CRITICAL"
else
    echo "OK"
fi

当然可以在此基础上稍作修改用于监控中。

时间: 2024-12-16 18:48:28

用于监控日志文件的是否被修改的脚本的相关文章

在Linux上使用logwatch分析监控日志文件

原文:http://seanlook.com/2014/08/23/linux-logwatch-usage/ 1. 介绍 在维护Linux服务器时,经常需要查看系统中各种服务的日志,以检查服务器的运行状态. 如登陆历史.邮件.软件安装等日志.系统管理员一个个去检查会十分不方便:且大多时候,这会是一种被动的检查,即只有在发现系统运行异常时才会想到去查看 日志以获取异常的信息.那么如何主动.集中的分析这些日志,并产生报告,定时发送给管理员就会显得十分重要. logwatch 是一款用 Perl 语

zabbix监控日志文件

参考 http://www.linuxidc.com/Linux/2014-06/103777.htm 一 监控日志文件 1 首先添加items 2  添加完成之后如果不是显示enable的状态,是不能用的,可能是你所监控日志的权限的问题 更改权限 chown zabbix.mysql /var/log/mysqld.log chmod 777 /var/log/mysqld.log 3  然后到monitoring-lastdata就可以看到有日志的数据了. 到此为止监控日志完成了. 二 设置

tail 监控日志文件

ail命令可以输出文件的尾部内容,默认情况下它显示文件的最后十行.它常用来动态监视文件的尾部内容的增长情况,比如用来监视日志文件的变化.与tail命令对应的是head命令,用来显示文件头部内容. 常用参数 格式:tail file 输出指定文件file的尾部内容,默认输出最后十行内容(output the last part of files.Print  the  last 10 lines of each FILE to standard output. ) 格式:tail file1 fi

日志文件内容的时间戳比对脚本

#!/bin/bash #The owner is Echo.Atlas mtime=`stat -c %Y /logs/blackhole/main.log` systime=`date +%s` if [ $[ $systime - $mtime ] -gt 21600 ] then echo "This file has been updated for more than 6 hours" else echo "The file status is true"

zabbix之日志文件监控

一.日志item介绍 下面介绍zabbix另一个"重量级"的功能--日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持. 在配置Item的时候,Type选择Zabbix agent (active),这里主要需要配置的是Key.下面是监控日志的两种key--log和logtr. log[/path/to/some/file,<regexp>,<encoding>,<maxlines>,<mod

日志监控之文件更新时间监控

进程状态除了可以通过ps命令或查询端口的形式确认外,还可以通过检查相关的日志.如果进程的日志设置是合理的,那么日志文件中就应当包含了进程的信息,包括处理的数据,异常等.因为日志文件的写入,日志的时间戳就会相应的更新,通过监控日志文件有没有被刷新,可以检查进程有没有出现错误,如进程挂起,客户端连接失败,数据库连接断开等. 在我们支持的应用中,我们也采用了检查日志的更新日期和系统日期是否一致来判断进程是否正常.从检查的结果来看,大部分的进程可以通过这种方式来检查,有一些非"活跃"的进程:没

linux之使用cron,logrotate管理日志文件

1) logrotate配置   logrotate 程序是一个日志文件管理工具.用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”.   我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行.   logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail . logrotate 的配置文件是 /etc/logrotate.conf  主要参数如下表: 参数                         功能   co

mysql 的日志文件

mysql的日志文件 日志文件大致分为  error log, binary log, query log, slow query log, innodb redo log ;如图: 1.error log the error log file contains information indicating when mysqld was started and stopped also any critical errors that occur while the server is run

lnmp vps服务器删除mysql日志文件三种方法

我在上一篇文章介绍了著名的LNMP主机一键安装工具,对比了军哥lnmp和AMH主机的差别,由于AMH拥有用户后台界面,易于新手操作,值得推荐. 但是,上周末我网站宕机,收到DNSPOD发来了宕机提醒,不得不半夜爬起来处理VPS问题,最终查明原因是AMH运行产生了大量的mysql数据库二进制文件,25GB的VPS硬盘几乎占满,导致网站不稳定,出现502宕机错误. AMH作者给出了解决办法,我不喜欢,其实后台修改配置就好了.考虑到所有lnmp vps用户的方便,我把所有解决办法都列出来给各位参考: