Script/Program Monitor
BLuKnight
Lehi, UT Icrontian
Greeting Program!
So, my division is trying to centralize the way we track various programs we create. Currently, we use e-mail. If the program completes successfully, we send an e-mail with a success message. If it fails, we send and e-mail with the error message.
We want to have a centralized monitor which allows us to track the locations of our custom built programs, as well as track their health. Think of it as a process monitor, but you place custom code in the php, python or c++ program which pings the central repository of success or fail.
Oh, and as a added bonus, we have multiple co-locations. So, we need to be able to make those talk (because they can't see each other) to dmz servers which talks to the web server.
I've googled, but perhaps other coding gurus have something in place. Any words of wisdom would be advised. At this point, I'm about ready to push a custom built project which our team would take on.
Once again, thanks in advance.
So, my division is trying to centralize the way we track various programs we create. Currently, we use e-mail. If the program completes successfully, we send an e-mail with a success message. If it fails, we send and e-mail with the error message.
We want to have a centralized monitor which allows us to track the locations of our custom built programs, as well as track their health. Think of it as a process monitor, but you place custom code in the php, python or c++ program which pings the central repository of success or fail.
Oh, and as a added bonus, we have multiple co-locations. So, we need to be able to make those talk (because they can't see each other) to dmz servers which talks to the web server.
I've googled, but perhaps other coding gurus have something in place. Any words of wisdom would be advised. At this point, I'm about ready to push a custom built project which our team would take on.
Once again, thanks in advance.
0
Comments
http://www.bb4.org/home1.html
this sort of thing turns into a massive undertaking quickly. not to tell you your business, but i'd seriously suggest looking for an off-the-shelf solution first....
yeah sometimes keeping track of which machine an app is on can be a pain. currently, our build scripts also builds and deploys a static html page to a non-forward-facing http server with ever java app on every server we have. but it only covers the java stuff. we maintain similar pages for non-java apps but those pages get updated by hand.
basically you're wanting a set of programs that do the job of a competent sys admin(s) as well as application-level analyst(s). it's not impossible, but not the simplest thing in the world. and it sounds like you'll need something specific to your environment, so you might be able to start off with a boxed oss product and then havk on it a bit to make it do what you want. i'd still start with big brother or groundwork if i were in your shoes....
either of those systems can make requests to any url and base its monitoring on the response from the webapp/server itself. that's usually all you need, to test the overall healthiness of the webapp in question. if it's not a network-ish process you are trying to monitor, things will get tricky.
you'll need to build a daemon process that will look *specifically* for the app you are wanting to track, and make that daemon talk over the network back to some other machine, or have the daemon update an html page or a database (probably the same instance BB uses) or something so you can retrieve its output. then this process will have to be deployed on each machine you want to monitor. that means you'll have to not only write some code that will do all this (and reliable code too, you don't want your monitor crashing or it will be worthless) and then maintain that code and make sure it's always up. that means writing and testing startup/shutdown scripts for each machine your process monitor is deployed on as well as logging for this process. if each machine is exactly the same, then no sweat. in a mixed environment, it can be aggravating.
i dont know what else to suggest without knowing some specifics on your apps/processes.
link for groundwork:
http://gwmos.sourceforge.net/