supervisor守护服务碰见的几个坑

近期在ubunt系列服务器上碰见了supervisor的几个坑,因此将服务守护都已经切换到systemd。linux

坑1、资源限制配额不跟随limits.conf

1.咱们在用supervisor守护一个服务A的时候,发现由supervisor拉起的服务文件描述符未跟随系统limits设置。web

[program:servicea]
username=root
command = bash /etc/servicea.sh
autostart = true
stopasgroup = true
autorestart = true
startsecs = 3
stdout_logfile = /var/log/servicea.log

cat /proc/$(ps ax|grep servicea|grep -v grep|awk {print $1})/limits |grep open
Max open files            1024                 4096                 files

发现最大的文件描述符仍是1024,对于系统初始化优化的时候,咱们都会更改/etc/security/limits.confbash

root  soft   nofile  65535
root  hard   nofile  65535
root  soft   nproc    65535
root  hard   nproc    65535
* soft   nproc    65535
* hard   nproc    65535
* soft   nofile  65535
* hard   nofile  65535
root@sklinux.com:~# ulimit -SHn
65535

或者比上诉值更大,然而supervisor守护服务,资源限制配额不跟随limits.conf。服务器

坑2、supervisor守护prometheus服务的时候吃掉重要参数

2.咱们在用supervisor守护prometheus服务的时候发现,重要参数被“吃”掉。优化

supervisor中prometeus配置以下:spa

#为方便查看作了换行处理
[program:prometheus]
username=root
directory=/opt/prometheus/data
command = /opt/prometheus/prometheus 
--config.file=/opt/prometheus/prometheus.yml
--web.listen-address="8.8.8.8:9090" 
--storage.tsdb.path="/opt/prometheus/data/"
--storage.tsdb.retention.time=90d --web.enable-lifecycle 
autostart = flase
stopasgroup = true
autorestart = true
startsecs = 3
stdout_logfile = /var/log/prometheus.log

咱们发现每次拉起服务的时候,–storage.tsdb.path=“/opt/prometheus/data/“参数未生效,数据始终默认保存在/data下。 而后经过rest

command = /start.prometheus.sh


start.prometheus.sh 内容:
#为方便查看作了换行处理
/opt/prometheus/prometheus 
--config.file=/opt/prometheus/prometheus.yml
--web.listen-address="8.8.8.8:9090"
--storage.tsdb.path="/opt/prometheus/data/"
--storage.tsdb.retention.time=90d --web.enable-lifecycle

一样,参数无效。可是经过手工执行/start.prometheus.sh 能够将数据存储路径存在目标路径/opt/prometheus/data/中。
后来,咱们将上诉服务切换为systemd守护,一切ok了! 比较:日志

Systemd

a.稳定可靠
b.支持 Before/After 依赖机制 c.支持 Notify 机制
d.支持基于 cgroup 的资源限制进程

Supervisord

a.支持经过 priority 配置进程启动顺序
b.日志友好方便查阅
c.跨平台使用
d.扩展开发友好,守护业务系统
e.可是bug多,资源限制不足资源

 

https://www.sklinux.com/

相关文章
相关标签/搜索