首页 » PHP教程 » supervisor监控php技巧_supervisor 监控介绍

supervisor监控php技巧_supervisor 监控介绍

访客 2024-12-06 0

扫一扫用手机浏览

文章目录 [+]

superlance先容

Supervisord支持的Event

supervisor监控php技巧_supervisor 监控介绍

PROCESS_STATE 进程状态发生改变

supervisor监控php技巧_supervisor 监控介绍
(图片来自网络侵删)

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 bashwhile truedo 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 fidone

三: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

标签:

相关文章

爬虫引擎php技巧_PHP爬虫编写

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本措辞。语法接...

PHP教程 2024-12-08 阅读0 评论0

phpcookiemaxage技巧_JSP Cookie 处理

常日有三个步骤来识别转头客:做事器脚本发送一系列cookie至浏览器。比如名字,年事,ID号码等等。浏览器在本地机中存储这些信息,...

PHP教程 2024-12-08 阅读0 评论0

php成果json技巧_PHP轨范的JSON

环境配置在 php5.2.0 及以上版本已经内置 JSON 扩展。JSON 函数函数描述json_encode对变量进行 JSON...

PHP教程 2024-12-08 阅读0 评论0