Hi all,
I was also looking for a way to manage distributed supervisor instances,
and some months ago I already mentioned the idea of creating a
dispatcher for the xmlrpc interface that implements the same interface
again. (Here is the old thread:
http://thread.gmane.org/gmane.comp.sysutils.supervisor.general/894)
In the meantime I got as far as implementing the core dispatching logic
and a few tests: https://github.com/alexkrauss/supervisor-dispatcher
Basically, the processes of different supervisor instances end up in a
single process list with names of the form "processA@host1",
"processB@host1", "processA@host2", ...
I haven't yet figured out how to hook this into supervisorctl, but it
can't be too hard in principle I suppose. Maybe someone more familiar
with the supervisorctl code can give me some hints here...
I am grateful for any comments/hints/suggestions.
Alex
On 10/03/2012 04:13 AM, Timothy Jones wrote:
Today, the same suggestion came up where I work, about navigating
multiple supervisor instances through one web interface.
I am familiar with the XMLRPC API and that works well for shell scripts,
but we are interested in a way to do this from a webserver as well.
A very basic form of inter-instance navigation might be to include a
HTML snippet that gets included in each process-listpage that is
displayed. This snippet would include HTML <A HREF> tags to the other
supervisor instances.
A better form might be for each supervisor instance to contact all the
others through the XMLRPC interface and show all the processes on one
page. The hyperlinks for the start/stop/tail functions would invoke
those actions on the other supervisor instances directly. The hostname
in the browser's URL bar would change in this case.
What do you think?
tlj
On Oct 2, 2012, at 8:50 PM, "Phil Whelan" <[email protected]
<mailto:[email protected]>> wrote:
Hi Spencer,
Have you looked at the XMLRPC API for Supervisord?
http://supervisord.org/api.html
With this it's quite easy to remotely query status and stop|start
processes. You can do this for multiple instances of supervisord quite
easily.
Cheers,
Phil
On Tue, Oct 2, 2012 at 3:08 PM, Spencer Liechty
<[email protected] <mailto:[email protected]>>
wrote:
Hey all,
I've been using supervisord to run persistent scripts on my web
application servers, and am wondering what best practices exist for a
couple of challenges I'm facing.
1. Process Logging: I'm currently logging all process logs locally to
/var/log/supervisor/ on my app servers. Does supervisor
suggest/provide a standard way to retrieve those logs from my various
servers? I suppose I could scp that directory daily/weekly/etc, but am
wondering if there exists a canonical supervisor-approved way of
aggregating those logs.
2. Process Monitoring/Management: I know I can set up
inet_http_servers on every web server I'm running and manage processes
by simply navigating to each server's supervisorctl web interface, but
I was wondering if there was a way to manage all my different
supervisord servers from a central location. For example, I have 10
app servers running supervisord on each one, and would like to restart
all processes on all servers. Any ideas on an easy/scriptable way to
do this? Would y'all suggest thinking of dev op tools for activities
such as this?
Thanks for the help!
Spencer
_______________________________________________
Supervisor-users mailing list
[email protected]
<mailto:[email protected]>
http://lists.supervisord.org/mailman/listinfo/supervisor-users
_______________________________________________
Supervisor-users mailing list
[email protected]
<mailto:[email protected]>
http://lists.supervisord.org/mailman/listinfo/supervisor-users
_______________________________________________
Supervisor-users mailing list
[email protected]
http://lists.supervisord.org/mailman/listinfo/supervisor-users
_______________________________________________
Supervisor-users mailing list
[email protected]
http://lists.supervisord.org/mailman/listinfo/supervisor-users