Question from a non-technical person interested in monitorin


#1

Hey all - I receievd informaion about Nagios via an open posting on metafilter. First, a caveat: I am a marketing/product development guy, not a technical person, so please excuse any missteps I may make w/respect to functionality and application.

One of the new products I am developing for my company involves a software program that is used to enable our core business - the current scope of the project is basically a refresh of the somewhat limited functionality we currently have into a current software language.

However, we are looking at potential enhancements to this software; one of the thoughts/concepts we have had (and that’s all it is at the moment) is to better enable our software and systems/hardware to ‘play nice’ with other programs and systems in our customer’s environment. Sorry for being a bit bvague in my description - the purpose is two-fold: one, I don’t want any competitors to scoop me, and 2) We are still trying to put specifics to the concept, so please bear with me…

Most of the applications of solutions like Nagios that I have seen have been IT-heavy; that is, they are designed to be installed, used, mangaged, etc. by people who are looking at IT systems: network health, connectivity, hard drive or CPU utilization, etc. I am looking at the potential of a system that takes the same concept, but abstracts away the presumption that the user or the ‘systems’ being monitored relate to orare concerned with network monitoring. Below is the text of my post to ask.metafilter,com:

Here’s what I am looking for… a software package (to be integrated with my company’s software) that, either via push or pull, collects information (likely quantifiable numerical data, but not necessarily) from other systems deployed at a customer site. We could define the package I am looking for as a ‘central’ system and the others as ‘input’ systems.

The central system would then, based on user-definable metrics, invoke actions (e-mails, pager alerts, etc) when measurements/thresholds from the input systems reach a certain level - the rub is that it (the threshold) would often be based on a combination of inputs from more than one system.

Easy (potentially nonsensical) example: there’s a thermostat and a humidity detector in a rooom - each has a ‘system’ attached to it that monitors the temperature and the humidity. Those individual systems could easily tell me when the temperature reaches X OR the humidity leve reaches Y, respectively. But what I am looking for is central a system that would tell me when both events occur at the same time - that is, when the temperature reaches X AND the humidity reaches Y - something that each individual input system cannot do.

This central system I am referring to could allow the user to define what X and Y (and Z, etc) would need to be and how often the threshold would need to be reached over a given time period - that is, the user defines what is important and how he wants to be alerted. To continue the example above, maybe the user is only interested if the conditions are met twice in a 24 hour period, and so the central system would only define an ‘action’ when the condition(s) is/are met a second time in the past 24 hours…

(back to Nagios forum…) How applicable would a solution like Nagios be for an implementation ‘outside’ of the IT realm? Do any of the members of this forum have examples along the lines of what I described above? Is it too abstract to comment on? My engineers/IT folks here at my company are sort of scratching their heads when I use examples like above…

In an attempt to add a few details… imagine an environment with access control (online locks), point of sale systems, energy management systems, PBX system, reservation systems, etc. These might be some of the ‘input systems’ that would connect to the central system I am describing.

Thanks in advance for any input or advice… I am still fishing at this point!


#2

hey Frank,

“Here’s what I am looking for… a software package (to be integrated with my company’s software) that, either via push or pull, collects information (likely quantifiable numerical data, but not necessarily) from other systems deployed at a customer site. We could define the package I am looking for as a ‘central’ system and the others as ‘input’ systems.”

This is exactly what a distributed nagios setup does. On a normal Nagios installation, people make scripts (or as nagios calls them, “plugins”) which will do things like match temperature X to temperature Y, return output to nagios, and nagios alerts based on its status. Nagios is simply a process that runs scripts on a scheduled basis, and then performs an alerting action based on the scripts result. It does a bunch of other stuff, but that’s the basics.

As for some sort of easy to use frontend for your customer, yes it’s very possible. It’s easy to talk to nagios and get information back from it. You just have to learn nagios well first, which is the hard part! There are no current programs that I know of that already give an easy user interface that does what you would like, you really need to make something for each customer.

You’re going to have to set nagios up or get one of your Eng/IT guys to, and your programmers are going to have to at the very least know how to push and pull info from nagios. Once that is done though, yes an easy custom user interface is very possible, you will see once you learn more about nagios!

Good luck