Supervisor管理集群

Supervisor是一款基于Python的进程管理工具,适用于Linux/Unix系统,用于监控和管理后台进程。它不支持Windows,并且要求被管理的进程由Supervisor启动。本文介绍了Supervisor在CentOS7环境下的安装配置步骤,包括如何通过命令行和Web界面进行进程管理,特别适用于多项目和多服务器的管理场景,如Tomcat等应用的监控。
摘要由CSDN通过智能技术生成

1.1 简介

Supervisor(http://supervisord.org/)C/S架构的进程控制系统,是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,基于linux操作系统的一款服务器管理工具,**不支持Windows系统**。

用以监控服务器的运行,发现问题能立即自动预警及自动重启等功能。

Supervisor类似于monit,monit和supervisor的一个比较大的差异是supervisor管理的进程必须由supervisor来启动,

monit可以管理已经在运行的程序;supervisor还要求管理的程序是非daemon程序,supervisord会帮你把它转daemon程序,因此如果用supervisor来管理nginx的话,必须在nginx的配置文件里添加一行设置daemon off让nginx以非daemon方式启动。

因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以CentOS7,Python2.7版本环境下,介绍Supervisor的安装与配置步聚:

1.2 应用场景

公司服务器众多,项目多以tomcat为主,而且服务器上tomcat节点比较多,此时通过脚本管理tomcat已经非常棘手,就需要一个统一的进程管理工具去统一管理项目。因此选用supervisor来管理。

==注意:supervisor只能管理前台进程。==

1.3 安装配置

supervisor安装完成后会生成三个执行程序:

  • supervisord : supervisor的守护进程服务(用于接收进程管理命令)
  • supervisorctl : 客户端(用于和守护进程通信,发送管理进程的指令)
  • echo_supervisord_conf : 生成初始配置文件程序。

环境:Centos7

主机:10.0.0.41

#安装supervisor

yum -y install supervisor

#设置开机自启动

systemctl enable supervisord

#常用supervisorctl命令

supervisorctl status

supervisorctl stop tomcat

supervisorctl start tomcat

supervisorctl restart tomcat

supervisorctl update

通过supervisor管理tomcat

 

首先配置jdk环境

# tar -zxvf jdk-8u60-linux-x64.tar.gz -C /usr/local/

# chown -R root.root /usr/local/jdk1.8.0_60

# cat>>/etc/profile<<\EOF

###jdk环境###

export JAVA_HOME=/usr/local/jdk1.8.0_60

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

EOF

# source /etc/profile

# java -version

安装tomcat

# tar zxf apache-tomcat-8.5.35.tar.gz

# mkdir -p /opt/tomcat01

# cp -a apache-tomcat-8.5.35/* /opt/tomcat01/

开启tomcat

 

创建supervisor管理tomcat的子配置文件:

# vim /etc/supervisord.d/tomcat01.ini

[program:tomcat01]
command=/opt/tomcat01/bin/catalina.sh run
environment=JAVA_HOME="/usr/local/jdk1.8.0_60",JAVA_BIN="/usr/local/jdk1.8.0_60/bin"
directory=/opt/tomcat01/bin/
numprocs=1
user = root
autostart = true
autorestart=true
startsecs = 5

1.4 bash终端管理

命令行模式:

supervisorctl status

supervisorctl stop tomcat

supervisorctl start tomcat

supervisorctl restart tomcat

supervisorctl update

交互模式:

[root@ c7-141 ~]# supervisorctl
tomcat01                         RUNNING   pid 3223, uptime 0:01:10
supervisor> help

default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail
avail  fg        pid   remove  shutdown  status  update
clear  maintail  quit  reread  signal    stop    version

supervisor> status
tomcat01                         RUNNING   pid 3247, uptime 0:00:16
supervisor> stop tomcat01
tomcat01: stopped

1.5 自带Web管理界面

用户名:user

密码:123

 

 

出于安全考虑,默认配置是没有开启web管理界面,需要修改supervisord.conf配置文件打开http访权限,将下面的配置:

;[inet_http_server]         ; inet (TCP) server disabled by default
;port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
;username=user              ; (default is no username (open server))
;password=123

修改后:

[inet_http_server]         ; inet (TCP) server disabled by default
port=10.0.0.41:9001        ; (ip_address:port specifier, *:port for all iface)
username=user              ; (default is no username (open server))
password=123

 

  • port:绑定访问IP和端口,这里是绑定的是本地IP和9001端口
  • username:登录管理后台的用户名
  • password:登录管理后台的密码

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值