centos 6.5 monit监控inotifywait进程

最近2天,nagios总是报警,inotifywait进程为0

express_1这台主机有2个rsync脚本,express_1向express_2同步,开启后,会有2个inotifywait进程。

每隔几个小时就会挂掉,需要手动启动一下。但是这样太麻烦了,一晚上就发了十几条nagios报警。

所以我就想用monit来监控inotifywait进程。

创建启动脚本

vi /manage/express_monit.sh

#!/bin/bash

case "$1" in

start)

echo "Starting express..."

/manage/rsync/rsync_express.sh &

sleep 1

ps -aux | grep kuaidihelp_express | head -1 | awk ‘{print $2}‘ > /var/run/express.pid

;;

stop)

echo "Stopping express..."

kill -9 `cat /var/run/express.pid`

;;

restart)

echo "Stopping express..."

kill -9 `cat /var/run/express.pid`

sleep 1

echo

echo "Starting express..."

/manage/rsync/rsync_express.sh &

sleep 1

ps -aux | grep kuaidihelp_express | head -1 | awk ‘{print $2}‘ > /var/run/express.pid

;;

*)

echo "Usage: $prog {start|stop|restart}"

;;

esac

exit 0

设置权限

chmod 755 express_monit.sh

安装monit,最好使用rpm安装,使用编码包编译有问题

yum install -y monit

编辑配置文件

vim /etc/monit.conf

修改检查时间为3秒以及id文件路径和开启日志

set daemon  3        # check services at 2-minute intervals

# set logfile syslog facility log_daemon

set logfile /var/log/monit.log

set idfile /var/.monit.id

set statefile /var/.monit.state

注释倒数第3行

# set daemon mode timeout to 1 minute

#set daemon 60

然后启动monit

/etc/init.d/monit start

进入配置目录

cd /etc/monit.d/

添加express同步进程监控

vi express

check process express with pidfile /var/run/express.pid

start program = "/manage/express_monit.sh start"

stop program = "/manage/express_monit.sh stop"

启动monit

/etc/init.d/monit start

kill掉inotifywait进程

pkill inotifywait

观察monit日志

tail -f /var/log/monit

[CST Apr 20 10:41:07] error    : ‘express‘ process is not running

[CST Apr 20 10:41:07] info     : ‘express‘ trying to restart

[CST Apr 20 10:41:07] info     : ‘express‘ start: /manage/express_monit.sh

[CST Apr 20 10:41:12] info     : ‘express‘ process is running with pid 14139

查看进程是否启动

[[email protected] ~]# ps -aux | grep ino

Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ

root     14306  0.0  0.0   6344   776 ?        S    10:41   0:00 /usr/local/inotify/bin/inotifywait -mrq --timefmt %d/%m/%y %H:%M --format %T %w%f -e modify,delete,create,attrib /www/kuaidihelp_express/

root     17537  0.0  0.0 103252   864 pts/2    S+   10:47   0:00 grep ino

测试正常。

时间: 2024-10-13 02:06:50

centos 6.5 monit监控inotifywait进程的相关文章

用monit监控系统关键进程

monit是一款功能强大的系统状态.进程.文件.目录和设备的监控软件,用于*nix平台, 它可以自动重启那些已经挂掉的程序,非常适合监控系统关键的进程和资源,如:nginx.apache.mysql和cpu占有率等.而监控管理Python进程,常用的是supervisor,后续会另外撰文介绍. 下面分别介绍monit的安装.配置和启动. 安装 在debian或ubuntu上安装monit非常方便,通过下面的命令 sudoapt-getinstall monit 即可,其它*nix上也很简单,下载

Monit监控软件安装

Monit是一款功能非常丰富的进程.文件.目录和设备的监测软件,适用于Linux/Unix平台. 在CentOS 6.4上配置Monit的步骤: 我们以服务器IP地址:10.153.126.189,为例进行配置,监控10.153.110.12, 10.153.75.78这两台服务器. 一.安装EPEL.在命令行输入: # rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 二.安装Mon

Linux下用NetHogs监控各个进程流量

有时候我们客户会发现服务器或 VPS 网络慢,进一步发现大量带宽被占用,一些客户到这里为止就不知道怎么办了.有什么简单办法能找出哪个程序(或者进程)占用了带宽呢?Linux 监控流量的小工具不少,如 iftop, iptraf, ifstat, darkstat, bwm-ng, vnstat 等,大都是统计和监控网卡流量的.今天介绍的 NetHogs 有点特别,可以监控每个进程的网络带宽占用情况. 在 Ubuntu/Debian 上安装 nethogs: $ sudo apt-get inst

Zabbix 通过 JMX 监控 java 进程

参考: [ JMX monitoring ] [ Zabbix Java gateway ] [ JMX Monitoring (Java Gateway) not Working ] 这里会说明通过 JMX 监控 java 进程的配置过程以及需要注意的问题. 本文在 zabbix 已经安装好的基础之上展开. 如果使用 zabbix_proxy , 配置完全一致, 只需要打开zabbix_proxy 对 java app server 有所有端口的访问权限即可. 环境说明 基本环境 OS: Ce

Centos 6安装Cacti监控网络流量

Centos 6安装Cacti监控网络流量 1.操作系统的安装,这个就不用写教程了吧(略)我个人用的是CentOS6.5最小化安装装好系统以后关闭防火墙和selinux#service iptables stop     /*关闭防火墙服务*/#chkconfig iptables off    /*永久性关闭*/ #vim /etc/sysconfig/selinux   /*把SELINUX=enforcing改为SELINUX=disabled*/ 2.安装cacti依赖的软件 #yum

zabbix监控之进程自动发现

1,获取要监控的进程到/tmp/process_list.txt文件 cat process_list.sh #!/bin/bashcat /dev/null >/tmp/process_list.txt if [ `ps aux|grep "/data/apache_projects/tomcat7-express-18034"|grep -v grep |wc -l` -gt 0 ];then echo "/data/apache_projects/tomcat7-

CentOS上配置Cacti监控MySQL

防伪码:即使没有辉煌的未来.如果能有无悔的往昔.   第九章 CentOS上配置Cacti监控MySQL 前言:在企业网络运维过程中,管理员必须随时关注服务器和网络的运行状况.以便及时发现问题,尽可能减少故障的发生.当网络中的设备.服务器等数量较多时,为了更加方便.快捷的获得各种监控信息,通常会借助于一些集中检测软件.本章将以著名的Cacti套件为例,介绍服务器集中监控体系的构建和使用. 一.Cacti官方简介: 1.Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且

Windows zabbix监控远程进程实现机制

最近负责zabbix监控部署方面的工作,需要完成本地服务端监控远程虚拟机的运行状态(CPU.打开的进程等),与大家分享下我的实现方法. (1) 首先,需要实现记录zabbix客户端的进程的批处理:zabbix_task.bat; zabbix_task.bat内容如下: @echo off chcp 65001 tasklist /v |findstr "%username%" > c:/zabbix_temp.txt  #进程路径根据个人习惯设置 pause (2) 其次,实现

zabbix 监控特定进程

由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发现原来强大的zabbix居然能监控程序是否运行,并能监控其使用的内存大小,以下是我的实践记录: 1. 在特定机器或模板上创建新的监控项,点击Key 后面的Select 按钮,选择如下两项,一项是用来监控特定进程的数量,另一项是用来监控进程使用内存的大小. 2.以下是对squid进程的监控配置,key中的参数说明,第一个参数是