13 Sep, 2013, Idealiad wrote in the 1st comment:
Votes: 0
So I'm looking around for tools that help to automate process management – starting, restarting, stopping, on localhost and remotely, etcetera. I'm pretty green at the world of system admin so I'm looking for any pointers. I've been reading the Wikipedia entries on DevOps, config management tools, and so on, but I'm wondering what tools people are using in their daily work, or what I should be Googling to find what's out there.

To be more specific, I want to write a config file that looks something like:

{localhost: MyMud, MyWebsite, MyWebsocketProxy
someRemoteServer: ContentWarehouse, SharedWorldDatabase}

Then the tool starts up all these processes; if one of them goes down, it can send an alert, and/or go in and restart it. It has a CLI and/or web interface to monitor stuff, and so on.

From what I've been reading there's a wide spread of options here, from basic CL tools to full-fledged solutions with a lot of moving parts…I guess I'm looking for something in the middle. Bonus points if it runs on the JVM.
13 Sep, 2013, Runter wrote in the 2nd comment:
Votes: 0
Not sure how well it fits your needs, but I use foreman (https://github.com/ddollar/foreman) for local process management,
and http://godrb.com/ for production.

I think foreman is really nice because of log combination, and the tidy way it lets you configure processes like fixtures in your app. I much prefer running database only while app is running, rather than keeping postgres running, or starting/stopped it arbitrarily on my local machine.
14 Sep, 2013, quixadhal wrote in the 3rd comment:
Votes: 0
I just write /etc/init.d scripts. I'm old school, but they do the job.
14 Sep, 2013, Kelvin wrote in the 4th comment:
Votes: 0
supervisord has been excellent for me for stuff like this. http://supervisord.org/index.html

Easily installable on any distro that has Python, manageable via sockets and/or a command, runs wonderfully on non-privved users if you roll that way. Auto-restarts processes that crash, makes it super easy to reload your stuff after code updates, etc etc.

I've heard good things about runit as well. I've been hesitant to use upstart or launchctl, since those are very distro/platform-specific (and because screw upstart).
14 Sep, 2013, Idealiad wrote in the 5th comment:
Votes: 0
Hey, that looks great Kelvin. godrb looks like a good fit as well. Quix, I'm looking for a more managed solution because I might want this to be a recommendation for general end users as well. Thanks for all the suggestions so far.
15 Sep, 2013, quixadhal wrote in the 6th comment:
Votes: 0
Ah, ok. Yes, for end users, writing scripts is usually not the best solution. Makes sense! :)