Supervisord
Command line client, web based UI and HTTP API. Everything you could need for monitoring, logging and restarting processes
It even has the ability to restart processes if/when they die. Example; in our development we can send a trigger to our application that just called exit 0; and restarts the application (useful for debugging)