七乐彩往期中奖金额|金七乐奖金查询表

supervisor守護服務遇見的幾個坑

Fri Oct 11, 2019

200 Words|Read in about 1 Min
Tags: Devops  

近期在ubunt系列服務器上遇見了supervisor的幾個坑,所以將服務守護都已經切換到systemd。

坑一、資源限制配額不跟隨limits.conf

1.我們在用supervisor守護一個服務A的時候,發現由supervisor拉起的服務文件描述符未跟隨系統limits設置。

[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.conf

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
[email protected]:~# ulimit -SHn
65535

或者比上訴值更大,然而supervisor守護服務,資源限制配額不跟隨limits.conf。

坑二、supervisor守護prometheus服務的時候吃掉重要參數

2.我們在用supervisor守護prometheus服務的時候發現,重要參數被“吃”掉。

supervisor中prometeus配置如下:

#為方便查看做了換行處理
[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下。 然后通過

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多,資源限制不足

See Also

Fri Oct 11, 2019

200 Words|Read in about 1 Min
Tags: Devops  
七乐彩往期中奖金额 什么是炒股 股票推荐群是不是真的 日本sm调教电影 山西快乐十分 配资平台哪个好 190aa即时指数 日本av女优麻生希裸照清纯写真 天津11选5 河北十一选五 股票配资平台是合法的么重生回古代小说 310足球比分直播 18选7 宁夏11选5 新疆25选7 2009年股票指数 正规网上股票配资平台