hi there
i'm using supervisor for controlling a zope server and varnish cache in a
python buildout (this is why some configuration options might look different
from what you're used to)
monitoring and restarting varnish with memmon does not work out of the box.
varnish does not get restarted, since the process really eating memory (pid
13271)
is not the one started by supervisor and observerd by MemmonVarnish (13265)
(see supervisor and top output below)
how can i make Memmon watch vanish sub-processes or varnish not fork any
processes?
regards, fRiSi
# bin/supervisorctl
MemmonVarnish RUNNING pid 13261, uptime 1 day, 4:37:05
MemmonZope RUNNING pid 13260, uptime 1 day, 4:37:05
varnish RUNNING pid 13265, uptime 1 day, 4:37:02
zeo RUNNING pid 13262, uptime 1 day, 4:37:04
zope RUNNING pid 13263, uptime 1 day, 4:37:03
# top
...
Mem: 1548288k total, 1540624k used, 7664k free, 2172k buffers
Swap: 1048568k total, 767628k used, 280940k free, 171980k cached
13271 nobody 15 0 1864m 771m 90m S 0 51.0 0:14.43 varnishd
13263 zope 15 0 635m 454m 3500 S 0 30.1 47:59.16 python2.4
13265 root 15 0 98192 81m 80m S 0 5.4 0:00.04 varnishd
13262 root 16 0 109m 12m 2772 S 0 0.8 0:50.06 python2.4
...
varnish is started by supervisor with these parameters
exec ...parts/varnish-build/sbin/varnishd \
-f "...etc/varnish.vcl" \
-P "...parts/varnish/varnish.pid" \
-a localhost:6181 \
-T localhost:6182 \
-s file,"...parts/varnish/storage",500M \
-F \
-t 0 "$@"
the supervisor section for varnish and memmon-varnish looks like this
[program:varnish]
command = ...bin/varnish
process_name = varnish
directory = ...bin
priority = 30
redirect_stderr = true
[eventlistener:MemmonVarnish]
command = ...bin/memmon -p varnish=600MB
events = TICK_60
process_name=MemmonVarnish
environment=SUPERVISOR_USERNAME=admin,SUPERVISOR_PASSWORD=admin,SUPERVISOR_SERVER_URL=http://localhost:9001
buildout configuration:
[varnish]
recipe = plone.recipe.varnish:instance
daemon = ${buildout:directory}/parts/varnish-build/sbin/varnishd
bind = localhost:6181
config = ${buildout:directory}/etc/varnish.vcl
cache-size = 500M
telnet = localhost:6182
# foreground is needed for supervisor to control varnish correctly
mode = foreground
[supervisor]
recipe = collective.recipe.supervisor
programs =
10 zeo ${zeoserver:location}/bin/runzeo ${zeoserver:location} true
20 zope ${instance:location}/bin/runzope ${instance:location} true
30 varnish ${buildout:directory}/bin/varnish true
eventlisteners =
MemmonZope TICK_60 ${buildout:bin-directory}/memmon [-p zope=1000MB]
MemmonVarnish TICK_60 ${buildout:bin-directory}/memmon [-p
varnish=600MB]
--
Webmeisterei GmbH - Büro für Netzfragen
Tel: +43 5572 908877, Fax: +43 5572 908877-66
Steinebach 18, A-6850 Dornbirn
http://www.webmeisterei.com
_______________________________________________
Supervisor-users mailing list
[email protected]
http://lists.supervisord.org/mailman/listinfo/supervisor-users