monit监控nginx

monit监控nginx

   张吉吉     2019年12月5日 00:27     377    

1、配置文件

#process就是监控进程的关键字,监控nginx是否运行就是监控nginx的pid文件

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

#启动程序就是调用nginx的启动文件

start program = "/etc/init.d/nginx restart"

#关闭程序就是调用nginx的关闭文件

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

如果pid文件发生改变就会报警

if changed pid then alert

 

2、web上监控信息

以下是在web上看到的监控的信息

1.png

下边是详细信息

2.png

在页面监控最下边可以看到控制nginx关闭和启动的按钮。

3.png

 

3、命令管理nginx

 (1)查看nginx信息

monit status nginx

4.png

(2)使用monit启动和关闭nginx

monit start nginx

monit stop nginx

 

4、问题

将这段配置放到配置文件中,就可以启动监控nginx的作用,并且在nginx挂掉的时候,会自动启动nginx服务。

在测试nginx的时候,遇到了一个问题,配置文件是这样的

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

当我用命令service nginx stop正常去关闭nginx的时候,monit会将nginx启动。

但是当我用kill将nginx的进程杀死的时候,就没有办法进行启动。并且在monit的日志中看到。monit一直在调用/etc/init.d/nginx start命令去启动nginx但是都不成功。

然后我将配置文件修改为此

start program = "/etc/init.d/nginx restart"

monit就直接将nginx启动了,相当于中间多了一步/etc/init.d/nginx stop。

这个应该和monit的配置没有关系。kill以后手动去启动nginx,也是启动不成功。

所以还是使用restart去重启。

 

5、自动重启

5.png

当监测不到nginx的进程的时候monit会去尝试使用命令去启动nginx

6.png

查看日志可以看到nginx被monit启动了。



其他文章