Only answering the service restart part. I came across Monit as well, but on CentOS 7 systemd takes care of all that for you. You just need to add these two lines to the .service file (if they're not there already):
See https://jonarcher.info/2015/08/ensure-systemd-services-restart-on-failure/ for reference.
If you want to create a custom systemd service, it's pretty straightforward to write your own service file. See the example below, for a custom http server.
Start the editor with a new service file:
And add the following content, which you can edit as required:
Description=My httpd Service
I want it to start automatically on boot:
systemctl enable httpd
Tell systemd about the changes and start the service:
systemctl start httpd
And now you can see the status:
systemctl status httpd