Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We use ks-soft's Advanced Hostmonitor package to monitor around 2000 items on our network. We think it's great, the chap that supports it is fantastic, the product is fast, stable and mature but I feel as as we grow as a company it's beginning to show some friction points in the area of integration with our back office admin systems.

One of the things we'd like to do is be able to add new tests to whatever monitoring tool we use via an API. For example, when orders for servers come from our retail interface, the server gets built automatically, and as part of the automated build process we'd like to automatically add new tests to the network monitoring systems.

Hostmonitor has some support for this via a feature called HM Script but we're starting to encounter some speedbumps -

  1. we can't add new operators/users
  2. we can't define new "Action Profiles" - these are the actions to be taken when a test goes good or bad.

What we love about hostmonitor though are the Action Profiles. For example if a Windows IIS box goes bad our action profile for a bad test does something like:

  • Check host again (one time)
  • Wait another 30 seconds then test again
  • Try restart app pool on remote machine (up to two times)
  • Send an email to ops about the restart failure
  • Try restarting IIS on remote machine (up to four times)
  • Page duty admin (up to 5 times - stops after duty admin ACKS alert)
  • Page backup duty admin (5 times - stops after duty admin ACKS alert)

I'm starting to look around at other network monitoring tools and I'm looking for:

  1. a comprehensive API to be able to add/remove/control tests/test "action profiles"/operators (not just plugins, we need control and admin interfaces)
  2. the ability to have quite detailed action/escalation profiles (and define these via an API)

I've looked at Nagios and Icinga but Ican't seem to glean from their documentation whether we could have these features or not, or if we could, how much work would be involved to implement/customise.

Can anyone provide any advice, guidance or experiences?

share|improve this question

closed as not constructive by sysadmin1138 Nov 17 '11 at 0:18

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers 4

up vote 1 down vote accepted

Icinga does the job pretty well (I prefer it to Nagios because it has a single API you can use to get data and is 100% compatible with Nagios-plugins).

There is a video about Nagios VS Icinga that describes it pretty well: Youtube (It's by Icinga, so, approach with caution)

You can use Icinga to email/sms someone and even to run a script (and thus, restart a service, reboot, ...) Example: Link (It is a nagios-link, but it's the same deal).
The only thing i'm not sure about, is running the commands in a chronological order.

To make the configuration easier we use NConf. It offers an API for hosts, services, ... (not for user-management).

share|improve this answer
    
thanks for the answer. I'm having a stab at installing icinga on a VM. Having scanned the docs I see there are Event Handlers and Notification Escalations.....so I'm going to suck it and see :) –  Kev Mar 14 '11 at 18:05
    
I've had a good poke around Nagios/Icinga and a few other NM tools. Nagios is looking like the front runner, with Zabbix a possible alternative. –  Kev Mar 20 '11 at 10:02

Depending on your environment you may want to look at a solution that doesn't even use probes and instead just analyzes traffic, then set up alerts based on stuff like if you see 500-level errors or traffic plummets for a sustained period of time. For example, take a look at what ExtraHop provides: http://www.extrahop.com/

share|improve this answer
    
Thanks for the answer Don. However I'm always suspicious of companies that don't put any prices on their sites, make you register to see a demo video and their sole source of any half useful information is "white papers" (I worked for one of these once during the .com bubble and all we had was an eternal proof of concept that burned through VC money like a flamethrower - so I recognise that smell). I think I'll be skipping them, unless you've got any experiences to change my opinion? –  Kev Mar 23 '11 at 12:47
    
Kev, those are good points and I know the feeling for sure. I did manage to find a press release that mentioned price here: itjungle.com/fhs/fhs032211-story01.html We had an ExtraHop at the last place I worked (a news company) and it was pretty helpful. –  Don Hennessy Mar 23 '11 at 20:39
    
LOL - "Pricing for the 1U version of ExtraHop's appliance, which can handle network speeds up to 1 Gbps, starts at $59,000." - probably a bit rich for us :). I've spent a few days with Nagios/Incinga and with a wee bit of work I think it'll do the job for us. –  Kev Mar 23 '11 at 20:53

If you are looking for external monitoring you might want to have a look at WatchMouse. Their API provides the functions you mention (if I understand you correct): apidoc.watchmouse.com

Cheers Mark

share|improve this answer
    
Nice looking tool. But we have a bunch of internal stuff that never sees the internet. Will keep in mind as a recommendation for customers though. –  Kev Mar 24 '11 at 20:29

Opsview has an API: http://docs.opsview.com/doku.php?id=opsview3.0:api

share|improve this answer
    
I had a look at that but there wasn't enough functionality exposed. I eventually went with Nagios+Centreon which surfaces a fair bit of functionality via the clapi add-on. Thanks for the answer anyway. –  Kev Jun 8 '11 at 17:39

Not the answer you're looking for? Browse other questions tagged or ask your own question.