Supervisor服务器进程监测

服务器上的应用程序有时候会莫名其妙地挂掉,如果我们经常去登录服务器看是不是程序挂了,挂了再拉起,那样是非常耗时和麻烦的事情。后来我们通过使用 supervisor 去守护启动,实现方法如下。

一、 什么是 supervisor了?

Supervisor是用 Python 开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便地监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,或者是意外被停止(系统负载过高,cpu占用率很高等),supervisor 监听到进程死后,会自动将它重新拉起来,很方便地做到进程自动恢复的功能,不再需要自己写shell脚本来控制。一般情况下,yum直接安装即可

yum install supervisor

二、Supervisor配置

首先我们需要首先注意的一个地方是配置文件的后缀。

vim /etc/supervisord.conf
[include]
files = supervisord.d/*.ini

如果你想配置文件为其他格式,比如 conf 格式的话, 需要更改files = supervisord.d/*.conf 。

比如我们需要守护启动一个进程,我们就以守护Prometheus 为例:

vim /etc/supervisord.d/proms.ini

supervisor配置文件内容:

[program:proms]               # program: 指定的守护进程名 
command=/opt/prometheus/server/prometheus/prometheus  # command:命令 
directory=/opt/prometheus/server/prometheus 
stdout_logfile=/home/data/logs/prometheus/sever.log  # stdout_logfile: 日志路径 
autostart=true               # autostart: supervisor启动的时候是否随着同时启动,默认为true
autorestart=true             # autorestart: 是否挂了自动重启 
redirect_stderr=true         # redirect_stderr:标准错误重定向 
user=root startsecs=3        # 子进程启动多少秒之后,此时的状态是running

三、启动Supervisor(yum方式安装的)

打开终端:

/usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf

或者

systemctl start supervisord.service

我们可以使用如下的命令进行进程的停止,启动,重启等操作

supervisorctl status               # 查看应用启动状态

supervisorctl stop proms           # 停止prometheus应用

supervisorctl start proms          # 启动prometheus应用

supervisorctl restart proms        # 重启prometheus应用

虽然使用上面的策略 supervisor, 可以实现进程的守护启动,如果进程挂了,会自动拉起,但是并没有告警通知的功能。所以我们需要监控进程的状态并实现告警 通知到对应的开发人员以及运维人员。对于这样的场景,我在另一篇博客中用python脚本实现了一个监测功能,当进程挂掉以后,可以通过电子邮件的方式实时告警。

整理自:https://blog.51cto.com/u_11110720/2544387

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值