Monitor Mitel 3300 ICP with Nagios

I have a cluster of Mitel 3300 ICP PABX’s across several offices internationally and have been looking for a monitoring solution that can send alerts whenever an alarm is triggered on any one of the PABX controllers. Mitel already have a monitoring solution called Enterprise Manager, but this didn’t do what I wanted it to do. Enterprise Manager will send out emails based on certain policies and allow for issue escalation but its features are a little limited. I already have an extensive Nagios setup that will SMS and email for alerts, so I looked at integrating with this system.

I have developed a script that will check the Mitel system via SNMP to check the current alarm level, if there is an alarm it will then make another SNMP call to the alarm categories table and list the current list of alarms as part of the alert. The script requires the perl module Net::SNMP and can be downloaded from the download section at the bottom of this post.

Usage:

Usage: ./check_mitel.pl hostname [snmp community: Defaults to "public"]
            [snmp port: Defaults to "161"]

Check Command Definition:

define command{
        command_name    mitelalarm
        command_line    $USER1$/check_mitel.pl $HOSTADDRESS$ $ARG1$
}

Service Template Definition:

define service {
        name mitelalarm
        use base
        check_command mitelalarm
        register 0
}

Service Definition (replace “public” with the SNMP Community set on your Mitel controller):

define service {
        use base
        service_description Mitel Alarm Check
        check_command mitelalarm!public
        host_name mitelcontroller1
}

Download:

I have also been working on Cacti graphs of the Bandwidth management details, more on that early next month :-).

This entry was posted in Mitel, Nagios, Sys Admin and tagged , , , , , . Bookmark the permalink.

5 Responses to Monitor Mitel 3300 ICP with Nagios

  1. ArtZ says:

    Thanks for this. I oversee 4 Mitel sites on an MPLS network and would love to integrate a check through Nagios to tell me of alarms. I will implement this and see if I can get it to work.

    Thanks!

  2. Phil says:

    Hi John, great script! Has been working brilliantly… until we upgraded to MCD 4. the OID is ammended slightly.. so just looked at the SNMP response, and if it was a “No”.. then uses another OID as mitelAlarmCategories. Not sure what happens if we get an alarm with a “No” in it though!! Can you think of a neater way to do it? I’ve never worked with perl before!


    if ($alarmState > 1) {
    my $mitelAlarmCategories = '1.3.6.1.4.1.1027.4.1.1.2.2.4.1.8';
    $result = $session->get_table($mitelAlarmCategories);
    if ($result="*No") {
    my $mitelAlarmCategories = '1.3.6.1.4.1.1027.4.1.1.2.2.4';
    $result = $session->get_table($mitelAlarmCategories);
    }

  3. Gavin says:

    I’ve been asked if we can monitor a Mitel device through Nagios and was going to test this – however the download link does not appear to be working. Is it still available or are you no longer distributing this?

    Thanks.

  4. Jon Smith says:

    Hi Gavin,

    The script should be available now.

    Cheers,

    Jon

  5. James says:

    Just wanted to say thanks, just implemented your script with my OpsView installation (a Nagios fork) and it works like a charm.

Leave a Reply

Your email address will not be published. Required fields are marked *