Monitoring Avaya Communication Management

Does the above command really end with “-”, or is a part missing?

And, more importantly, can you please share the snmpget command + output that would correspond to the check_snmp you are trying to achieve?

The output of snmpwalk is like:

Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmStatusStationServiceState ::= { avCmStatusStationEntry 4 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmStatusStationConnType ::= { avCmStatusStationEntry 3 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmStatusStationExtension ::= { avCmStatusStationEntry 2 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmStatusStationIdx ::= { avCmStatusStationEntry 1 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmListMeasClanPPPEntry ::= { avCmListMeasClanPPPTable 1 }
Welkom01: Unknown Object Identifier (Sub-id not found: (top) → Welkom01)

SNMPGET
‘/usr/lib/nagios/plugins/check_snmp’ ‘-A’ ‘xxxxx’ ‘-H’ ‘hostIP’ ‘-L’ ‘authPriv’ ‘-P’ ‘3’ ‘-U’ ‘xxxx’ ‘-X’ ‘xxxxx’ ‘-a’ ‘SHA’ ‘-o’ ‘avCmAlarms’ ‘-p’ ‘161’ ‘-t’ ‘10’ ‘-x’ ‘DES’

SNMP OK - No Such Object available on this agent at this OID |

This is the check_snmp command that does not work.

Could you please share the snmpget command (+ output) that would correspond to the check_snmp you are trying to achieve?
From there, we could derive the correct check_snmp command…

I think then check_snmp works only with certain oids. As an example this sysuptime works because this is standard snmp check
‘/usr/lib/nagios/plugins/check_snmp’ ‘-A’ ‘asddd’ ‘-H’ ‘10.xxx.xxx.’ ‘-L’ ‘authPriv’ ‘-P’ ‘3’ ‘-U’ ‘sfsdfsf’ ‘-X’ ‘dfsdfsdf’ ‘-a’ ‘SHA’ ‘-o’ ‘sysUpTime.0’ ‘-p’ ‘161’ ‘-t’ ‘10’ ‘-x’ ‘DES’

image

Hier is de command van check_snmp

object CheckCommand “snmpv3” {
import “plugin-check-command”
command = [ PluginDir + “/check_snmp” ]
timeout = 1m
arguments += {
“–invert-search” = {
description = “Invert search result and return CRITICAL if found”
set_if = “$snmpv3_invert_search$”
}
“–rate” = {
description = “Enable rate calculation”
set_if = “$snmpv3_rate$”
}
“–rate-multiplier” = {
description = “Converts rate per second. For example, set to 60 to convert to per minute”
value = “$snmpv3_rate_multiplier$”
}
“-A” = {
description = “SNMPv3 authentication password”
value = “$snmpv3_auth_key$”
}
“-H” = {
description = “Host name, IP Address, or unix socket (must be an absolute path)”
value = “$snmpv3_address$”
}
“-L” = {
description = “SNMPv3 securityLevel”
value = “$snmpv3_seclevel$”
}
“-N” = {
description = “SNMPv3 context”
value = “$snmpv3_context$”
}
“-P” = {
description = “SNMP protocol version”
value = “3”
}
“-R” = {
description = “Return OK state (for that OID) if case-insensitive extended REGEX matches”
value = “$snmpv3_eregi$”
}
“-U” = {
description = “SNMPv3 username”
value = “$snmpv3_user$”
}
“-X” = {
description = “SNMPv3 privacy password”
value = “$snmpv3_priv_key$”
}
“-a” = {
description = “SNMPv3 auth proto”
value = “$snmpv3_auth_alg$”
}
“-c” = {
description = “Critical threshold range(s)”
value = “$snmpv3_crit$”
}
“-l” = {
description = “Prefix label for output from plugin”
value = “$snmpv3_label$”
}
“-m” = {
description = “List of SNMP MIBs for translating OIDs between numeric and textual representation”
value = “$snmpv3_miblist$”
}
“-n” = {
description = “Use SNMP GETNEXT instead of SNMP GET”
set_if = “$snmpv3_getnext$”
}
“-o” = {
description = “Object identifier(s) or SNMP variables whose value you wish to query”
value = “$snmpv3_oid$”
}
“-p” = {
description = “Port number”
value = “$snmpv3_port$”
}
“-r” = {
description = “Return OK state (for that OID) if extended regular expression REGEX matches”
value = “$snmpv3_ereg$”
}
“-s” = {
description = “Return OK state (for that OID) if STRING is an exact match”
value = “$snmpv3_string$”
}
“-t” = {
description = “Seconds before connection times out (default: 10)”
value = “$snmpv3_timeout$”
}
“-u” = {
description = “Units label(s) for output data (e.g., ‘sec.’)”
value = “$snmpv3_units$”
}
“-w” = {
description = “Warning threshold range(s)”
value = “$snmpv3_warn$”
}
“-x” = {
description = “SNMPv3 priv proto (default DES)”
value = “$snmpv3_priv_alg$”
}
}
vars.check_address = {
arguments = [ ]
deprecated = false
name = “”
side_effect_free = false
type = “Function”
}
vars.check_ipv4 = false
vars.check_ipv6 = false
vars.snmpv3_address = “$check_address$”
vars.snmpv3_auth_alg = “SHA”
vars.snmpv3_priv_alg = “AES”
vars.snmpv3_seclevel = “authPriv”
vars.snmpv3_timeout = “10”
}

Sorry to repeat myself, but you please share the snmpget command (+ output) that would correspond to the check_snmp you are trying to achieve?

NB: As far as I know, check_snmp is only able to check one OID a at time, so you will not able to map a check_snmp command to snmpwalk - only to a snmpget command.

Do you want to see this one???

‘/usr/lib/nagios/plugins/check_snmp’ ‘-A’ ‘adadad’ ‘-H’ ‘10.xxxx’ ‘-L’ ‘authPriv’ ‘-P’ ‘3’ ‘-U’ ‘adsadad’ ‘-X’ ‘Welkom01’ ‘-a’ ‘SHA’ ‘-o’ ‘avCmAlarms’ ‘-p’ ‘161’ ‘-t’ ‘10’ ‘-x’ ‘DES’ -v
/usr/bin/snmpget -Le -t 10 -r 5 -m ALL -v 3 [context] [authpriv] 10.111.1.123:161 avCmAlarms

Plugin Output

SNMP OK - No Such Object available on this agent at this OID |

This is the check_snmp command. Please share the snmpget command + output. NOT an snmpwalk :wink:

This only command we are using, but as u can see its execute as snmpget and not snmpwalk.

snmpget -v 3 -u adad -a SHA -A adasd -x DES -X asdasd -l authPriv -m AVAYA-AURA-CM-MIB -Oqv 10.xxxxxx avCmAlarms

Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmListIpUnregisteredPort ::= { avCmListIpUnregisteredEntry 3 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmListIpUnregisteredExtension ::= { avCmListIpUnregisteredEntry 2 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmListIpUnregisteredExtIdx ::= { avCmListIpUnregisteredEntry 1 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmStatusStationPort ::= { avCmStatusStationEntry 5 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmStatusStationServiceState ::= { avCmStatusStationEntry 4 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmStatusStationConnType ::= { avCmStatusStationEntry 3 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmStatusStationExtension ::= { avCmStatusStationEntry 2 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmStatusStationIdx ::= { avCmStatusStationEntry 1 }
Cannot adopt OID in AVAYA-AURA-CM-MIB: avCmListMeasClanPPPEntry ::= { avCmListMeasClanPPPTable 1 }
avCmAlarms: Unknown Object Identifier (Sub-id not found: (top) → avCmAlarms)

You need to work on this snmpget command, and find the exact OID that you want to check. The snmpget command should return just 1 value.

I have received the MIBS from the department with all mibs groups and available OID, but these are not working either. What is the command to retrieve all available OID from the host

What I do is:

  1. Full MIB walk to see what is available: snmpwalk [OPTIONS] .1.3.6 > /tmp/fullmibwalk.out
  2. Examine /tmp/fullmibwalk.out and decypher the values using MIB description files found on the internet
  3. Identify the values I want to poll from Icinga, and the output I expect
  4. Test these values using snmpget from the command line - this is an optional troubleshooting step
  5. Design and test the check_snmp commands from the command line
  6. Implement the checks in Icinga

Thanks Jean, can you show the command you use in icinga? snmpget + out of.

Hi Egor,

We do not monitor Avaya, and the approach above has nothing to do with Avaya (or with Icinga), it is a generic approach that can be applied to anything you want to monitor with SNMP using any monitoring tool.

For instance, you could monitor the SNMP uptime to detect reboots. You already shared above the snmpget command for sysUpTime, and this can easily get converted:
From:
check_snmp ‘-A’ ‘asddd’ ‘-H’ ‘10.xxx.xxx.’ ‘-L’ ‘authPriv’ ‘-P’ ‘3’ ‘-U’ ‘sfsdfsf’ ‘-X’ ‘dfsdfsdf’ ‘-a’ ‘SHA’ ‘-o’ ‘sysUpTime.0’ ‘-p’ ‘161’ ‘-t’ ‘10’ ‘-x’ ‘DES’

To:
snmpget -t 10 -v 3 -u ‘sfsdfsf’ -l authPriv -a sha -A ‘asddd’ -x DES -X ‘dfsdfsdf’ 10.xxx.xxx .1.3.6.1.2.1.1.3.0

For instance, a live check in our environment:
# snmpget -v 3 -u myUser -l authPriv -a sha -A 'myAuthPassword' -x aes -X 'myEncryptionPassword' -t 3 myDevice .1.3.6.1.2.1.1.3.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (889067533) 102 days, 21:37:55.33
#

If you want a critical state if the time from reboot is less than 1 hour, just add -c '3600:' to your check_snmp command.

Internet reference for OID 1.3.6.1.2.1.1.3 sysUpTime reference info
Internet reference for threshold formats in Development Guidelines · Nagios Plugins

Hi Dominik, @rivad ,

I have started implementing the code you shared, and I wonder what use is made of vars.teams = [ "Telefonie_Avaya" ]. I see none listed, but I am sure that line is not there by accident :slight_smile: .

Just to be sure I am not missing anything relevant, could you please share the DSL for host template tpl-host-cluster-dummy and service template cluster-min-halve ?

Thank you,

Jean