编程技术分享平台

网站首页 > 技术教程 正文

supervisor 监控介绍(superspring监控app)

xnh888 2024-10-16 17:40:32 技术教程 20 ℃ 0 评论

一:介绍

superlance介绍

Supervisord支持的Event

PROCESS_STATE 进程状态发生改变

PROCESS_STATE_STARTING 进程状态从其他状态转换为正在启动(Supervisord的配置项中有startsecs配置项, 是指程序启动时需要程序至少稳定运行x秒才认为程序运行正常,在这x秒中程序状态为正在启动)

PROCESS_STATE_RUNNING 进程状态由正在启动转换为正在运行

PROCESS_STATE_BACKOFF 进程状态由正在启动转换为失败

PROCESS_STATE_STOPPING 进程状态由正在运行转换为正在停止

PROCESS_STATE_EXITED 进程状态由正在运行转换为退出

PROCESS_STATE_STOPPED 进程状态由正在停止转换为已经停止(exited和stopped的区别是exited是程序自行退出,而stopped为人为控制其退出)

PROCESS_STATE_FATAL 进程状态由正在运行转换为失败

PROCESS_STATE_UNKNOWN 未知的进程状态

REMOTE_COMMUNICATION 使用Supervisord的RPC接口与Supervisord进行通信

PROCESS_LOG 进程产生日志输出,包括标准输出和标准错误输出

PROCESS_LOG_STDOUT 进程产生标准输出

PROCESS_LOG_STDERR 进程产生标准错误输出

PROCESS_COMMUNICATION 进程的日志输出包含 和

PROCESS_COMMUNICATION_STDOUT 进程的标准输出包含 和

PROCESS_COMMUNICATION_STDERR 进程的标准错误输出包含 和

SUPERVISOR_STATE_CHANGE_RUNNING Supervisord 启动

SUPERVISOR_STATE_CHANGE_STOPPING Supervisord 停止

TICK_5 每隔5秒触发

TICK_60 每隔60秒触发

TICK_3600 每隔3600触发

PROCESS_GROUP Supervisord的进程组发生变化

PROCESS_GROUP_ADDED 新增了Supervisord的进程组

PROCESS_GROUP_REMOVED 删除了Supervisord的进程组

pip install superlance

二:案例介绍

#案例

1)supervisord 管理监控脚本 monitor.sh ,后台运行

2)监控脚本,扫描监控,业务进程状态,

cat /etc/supervisord.d/listener.conf

[eventlistener:nginx-exited]

command=/bin/bash /tmp/monitor.sh

events=PROCESS_STATE_EXITED

redirect_stderr=false

stdout_logfile = /tmp/listener.stdout.log

stderr_logfile = /tmp/listener.stderr.log

#/tmp/monitor.sh

#!/bin/bash

while true

do

sleep 1

isok="`ps -ef|grep -v group |grep group.sh|wc -l`"

if [ $isok -lt 1 ]

then

echo "`date`" >>/tmp/alert.log

#curl post

#send alert

/bin/bash /tmp/group.sh

fi

done

#group.sh

#!/bin/bash

while true

do

sleep 30

done

#mon.sh 监控脚本

#!/usr/bin/env bash

while true
do
        exist=`ps -ef | grep 'httpldlog' | grep -v grep | wc -l`
        if [ $exist -eq 0 ]
        then
                echo `date '+%F %T not exist'`
                ./httpldlog>/dev/null 2>&1 &

        else 
                sleep 10s
        fi
done

三:supervisor安装部署

使用技巧

apt-get install supervisor

/etc/supervisor/conf.d

cat /etc/supervisor/conf.d/filebeat.conf

[program:filebeat]

directory=/data/filebeat

command=/data/filebeat/filebeat -c /data/filebeat/filebeat.yml

;user=ledou00

autorestart=true

redirect_stderr=true

stdout_logfile=/data/log/supervisord/filebeat.log

mkdir -p /data/log/supervisord

chmod -R 777 /data/log/supervisord*

#nginx

supervisorctl update

supervisorctl status

supervisorctl restart nginxsvr

启动 supervisor 服务

/etc/init.d/supervisor start

服务名:filebeat

查看单个任务状态: supervisorctl status 服务名

supervisorctl start 服务名

supervisorctl stop 服务名

supervisorctl restart 服务名

supervisorctl update

#

supervisorctl update

filebeat: added process group

supervisorctl start filebeat

filebeat: started

#添加模块

守护进程 php /data/wwwroot/fanbook-service-http-api/cmd/LogCenterController.php consume

1.进入目录 /etc/supervisor/conf.d

2.编辑配置文件 vi LogCenterController.conf (user 指定用户运行程序)

[program:LogCenterController]

directory=/data/wwwroot/fanbook-service-http-api/cmd

command=php /data/wwwroot/fanbook-service-http-api/cmd/LogCenterController.php consume

user=ubuntu

autorestart=true

redirect_stderr=true

stdout_logfile=/data/log/supervisord/LogCenterController.log

4.更新服务,默认是所有

supervisorctl update

filebeat: stopped

filebeat: updated process group

LogCenterController: added process group

更新指定服务

supervisorctl update LogCenterController

LogCenterController: stopped

LogCenterController: updated process group

5.检查状态

supervisorctl status

supervisorctl status LogCenterController

6.启动服务

supervisorctl start LogCenterController

#Supervisor只能管理非daemon的进程,也就是说Supervisor不能管理守护进程

#nginx 守护提示端口占用

#关闭 daemon off

cat /etc/supervisor/conf.d/nginxsvr.conf

[program:nginxsvr]

directory=/usr/local/nginx

;command=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

command=/usr/local/nginx/sbin/nginx -g 'daemon off;'

;user=ledou00

autorestart=true

redirect_stderr=true

stdout_logfile=/data/log/supervisord/nginxsvr.log

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表