导读 | Docker多进程管理主要有两个工具,一个是Supervisor,另一个是Monit。在之前的文章中,我们介绍了一个在Docker中常用的用于管理多进程的工具Supervisor,本篇再来介绍一个比supervisor用起来更加方便的容器内多进程管理工具Monit。 |
Monit和Supervisor还是有很大区别的,Supervisor管理的都是前台执行的进程,Monit既可以管理前台进程也可以管理后台进程,简单的说,在CentOS中使用service xxx start 启动的程序,使用Monit可以直接管理,这就解决了很多没有前台方式启动的程序不能用Supervisor来管理的问题。 Monit本身可以做的事情,远不止管理进程,它还可以监控文件,socket,并定义触发器等等,功能很强,具体的用法,可以参见它的官网。
本篇的重点,就来介绍在容器里面,如果用它来管理多个进程。
一、Monit介绍及原理
Monit有以下几个功能:
1、主动触发:
根据某些条件主动采取操作,比如服务不可用,主动开启服务;资源使用过高,主动重启服务,并发邮件告警。
2、进程监控:
Monit可以监控后台进程,比如在/etc/init 下定义的开机启动程序。
3、文件,目录,文件系统监控:
监控一个文件,或者目录的变化,比如