monit监控服务进程

Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,适用于Linux/Unix平台。 它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误.

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

yum install -y monit

编辑配置文件

vim /etc/monit.conf

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

set daemon  3        # check services at 2-minute intervals

set idfile /tmp/id

# set logfile syslog facility log_daemon

set logfile /var/log/monit.log

mkdir /var/monit

chmod -R 750 /var/monit/

然后启动monit

/etc/init.d/monit start

进入配置目录

cd /etc/monit.d/

添加mysql服务监控

vi mysql

check process mysql with pidfile /usr/local/mysql/var/test.kuaidihelp.com.pid

   start program = "/etc/init.d/mysqld start"

   stop program = "/etc/init.d/mysqld stop"

   if failed host 127.0.0.1 port 3306 then restart

注意以上粗体字部分,是需要修改的。

添加http服务监控

vi http 

check process http with pidfile /usr/local/apache/logs/httpd.pid

   start program = "/etc/init.d/httpd start"

   stop program = "/etc/init.d/httpd stop"

   if failed host 127.0.0.1 port 80 then restart

重启服务

/etc/init.d/monit restart

测试关闭进程,然后查看进程是否启动

如果需要监控tomcat,需要开启tomcat的pid文件,默认是没有的

修改脚本,添加蓝色部分

vi /usr/local/tomcat/bin/catalina.sh

#   CATALINA_PID    (Optional) Path of the file which should contains the pid

#                   of catalina startup java process, when start (fork) is used

CATALINA_PID=/usr/local/tomcat/tomcat.pid

重启tomcat

/usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/bin/startup.sh

vi /etc/monit.d/tomcat

check process java with pidfile /usr/local/tomcat/tomcat.pid

   start program = "/usr/local/tomcat/bin/startup.sh"

   stop program = "/usr/local/tomcat/bin/shutdown.sh"

   if failed host 127.0.0.1 port 8080 then restart

重启monit

/etc/init.d/monit restart

测试关闭tomcat,查看tomcat是否启动

否则服务可能没有停止命令,比如rsync,那么只能kill掉,注意不要用killall,用pkill比较好一点。

vi /etc/monit.d/rsync

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

   start program = "/usr/bin/rsync --daemon"

   stop program = "/usr/bin/pkill rsync"

   if failed host 127.0.0.1 port 873 then restart

重启monit,注意观察输出的信息,没有Warning信息就说明配置正确。

/etc/init.d/monit restart

注意:

Monit是是根据被监控的进程的pid文件来检测的,如果没有pid文件,是无法使用的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java开发

搭建 ElasticSearch 6.1.3分布式集群

先启动mac上的master,再启动Ubuntu上的slave节点,观察输出,会有一个node-102探测到master节点的提示:

1361
来自专栏小狼的世界

Mac环境下配置Tomcat+Eclipse

首先在 Tomcat官方网站 找到自己合适的版本,下载 tar.gz 版本的,下载完成后解压缩到一个目录,进入这个目录下的 bin 执行 startup.sh,...

1102
来自专栏Java成神之路

redis_学习_01_redis的安装

993
来自专栏小狼的世界

CentOS中设置系统级代理

proxy=http://username:password@proxy_ip:port/

1182
来自专栏栗霖积跬步之旅

springboot启动异常:java.lang.IllegalArgumentException: Could not resolve placeholder 'xxx.xxx.xxx' in va

在打包到服务器上时指定的配置文件命名会去查找对应的配置文件,发现不了,导致属性注入失败,最终导致tomcat启动失败。

1240
来自专栏Youngxj

linux更新内核版本

3983
来自专栏章鱼的慢慢技术路

Linux命令_磁盘管理_查看磁盘或目录的容量

1995
来自专栏有趣的Python

9- 快速上手Linux玩转典型应用- git版本管理

932
来自专栏散尽浮华

linux下的缓存机制及清理buffer/cache/swap的方法梳理

1)缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存...

3768
来自专栏linux系统运维

安装PHP5,安装PHP7

2838

扫码关注云+社区