Feature Request - Mitel Application Monitoring

Hi

We have MSL OS support but it’d be ideal if we could bring the application support from the MIBS to the devices identified as MSL along with their alarm statuses:

OID: MITEL-APPLICATION-PLATFORM-LIST-MIB::mitelIdAppPlatManagementApplicationServer

MITEL-APPCMN-MIB::mitelAppTblProductOid.10.1.3.6.1.4.1.1027.1.6.1 = OID: MITEL-APPLICATION-PLATFORM-LIST-MIB::mitelIdAppPlatManagementApplicationServer
MITEL-APPCMN-MIB::mitelAppTblProductOid.10.1.3.6.1.4.1.1027.1.7.8 = OID: MITEL-APPLIST-MIB::mitelIdAppSuiteAppService
MITEL-APPCMN-MIB::mitelAppTblProductOid.10.1.3.6.1.4.1.1027.1.7.9 = OID: MITEL-APPLIST-MIB::mitelIdAppAudioWebConferencing
MITEL-APPCMN-MIB::mitelAppTblProductOid.10.1.3.6.1.4.1.1027.1.7.12 = OID: MITEL-APPLIST-MIB::mitelIdAppUnifiedCommunicationsServer
MITEL-APPCMN-MIB::mitelAppTblProductName.10.1.3.6.1.4.1.1027.1.6.1 = STRING: Mitel Standard Linux
MITEL-APPCMN-MIB::mitelAppTblProductName.10.1.3.6.1.4.1.1027.1.7.8 = STRING: Suite Application Services
MITEL-APPCMN-MIB::mitelAppTblProductName.10.1.3.6.1.4.1.1027.1.7.9 = STRING: Audio, Web and Video Conferencing
MITEL-APPCMN-MIB::mitelAppTblProductName.10.1.3.6.1.4.1.1027.1.7.12 = STRING: Mitel Unified Communicator Advanced

Kind regards
Nat Pearson

Hi all

Has anyone else had any success in extending monitoring for this?

Kind regards

Hi

Further update on this.
I have managed to use the Custom OID settings and values from the MIB to report on alarms but it is very clunky and has to be manually created on each host.

Anyone point me in the right direction to develop the built in OS support to include these values?

Kind regards

check out the docs https://docs.librenms.org/Developing/os/Health-Information/

Hi Kevin

I will take a look through and see if I can get something working.
Is there any cross over between the applications that are installed and monitored on the infrastructure and the OS discovery, e.g. should we define the applications on the hosts to be setup differently to the OS discovery? An example would be Contact Centre Software that runs within the MSL suite.

Kind regards

Hi @Kevin_Krumm

I’ve updated the includes/definitions/discovery/msl.yaml with the following fields and can now see a sensor in the Health Data. Generated an alarm and this reflected in the graph.

mib: MITEL-IperaVoiceLAN-MIB
modules:
sensors:
state:
data:
-
oid: mitelIpera3000Alarms
value: mitelIpera3000AlmLevel
num_oid: ‘.1.3.6.1.4.1.1027.4.1.1.2.2.1.{{ $index }}’
divisor: 1
low_limit: 2
low_warn_limit: 2
warn_limit: 2
high_limit: 4
descr: Mitel Controller Alarm Level
index: mitelIpera3000AlmLevel.{{ $index }}
group: Mitel Alarms
states:
- { value: 1, generic: 0, graph: 0, descr: Clear }
- { value: 2, generic: 1, graph: 0, descr: Minor }
- { value: 3, generic: 1, graph: 0, descr: Major }
- { value: 4, generic: 2, graph: 0, descr: Critical }

Is there also a better way of showing this, like a guage, as there are only 4 possible values?

Is there also a way of pulling down the alarm type data as part of the polling?

The reference I’m using is the mib view here:
MITEL-IperaVoiceLAN-MIB (circitor.fr)

An SNMP Discovery shows the following data, so I’m guessing I need to reference the table to pull all the data, but do not know how to do this properly.


Caching data: sensors
SNMP[‘/usr/bin/snmpbulkwalk’ ‘-v2c’ ‘-c’ ‘COMMUNITY’ ‘-OteQUs’ ‘-Ih’ ‘-m’ ‘MITEL-IperaVoiceLAN-MIB’ ‘-M’ ‘/opt/librenms/mibs:/opt/librenms/mibs/mitel’ ‘-t’ ‘10’ ‘udp:HOSTNAME:161’ ‘mitelIpera3000Alarms’]

mitelIpera3000AlmLevel.0 = 2
mitelIpera3000AlmDetectDate.0 = "07 E5 02 10 15 0C 1D 00 00 00 00 "
mitelIpera3000AlmNbrCategories.0 = 1
mitelIpera3000CatTblIndex.1 = 1
mitelIpera3000CatTblAvailable.1 = 512
mitelIpera3000CatTblUnavailable.1 = 461
mitelIpera3000CatTblLevel.1 = 2
mitelIpera3000CatTblMinorThresh.1 = 89
mitelIpera3000CatTblMajorThresh.1 = 94
mitelIpera3000CatTblCriticalThresh.1 = 98
mitelIpera3000CatTblName.1 = “Mem. Used (Mb)”
mitelIpera3000TrapAlmShutdownCause.0 = 12
mitelIpera3000TrapAlmShutdownDetailedCause.0 = 0
mitelIpera3000AlmResetCause.0 = 2
mitelIpera3000AlmResetCauseBITS.0 = 259

State:
Dynamic Discovery (state):

array (
‘data’ =>
array (
0 =>
array (
‘oid’ => ‘mitelIpera3000Alarms’,
‘value’ => ‘mitelIpera3000AlmLevel’,
‘num_oid’ => ‘.1.3.6.1.4.1.1027.4.1.1.2.2.1.{{ $index }}’,
‘divisor’ => 1,
‘low_limit’ => 2,
‘low_warn_limit’ => 2,
‘warn_limit’ => 2,
‘high_limit’ => 4,
‘descr’ => ‘Mitel Controller Alarm Level’,
‘index’ => ‘mitelIpera3000AlmLevel.{{ $index }}’,
‘group’ => ‘Mitel Alarms’,
‘states’ =>
array (
0 =>
array (
‘value’ => 1,
‘generic’ => 0,
‘graph’ => 0,
‘descr’ => ‘Clear’,
),
1 =>
array (
‘value’ => 2,
‘generic’ => 1,
‘graph’ => 0,
‘descr’ => ‘Minor’,
),
2 =>
array (
‘value’ => 3,
‘generic’ => 1,
‘graph’ => 0,
‘descr’ => ‘Major’,
),
3 =>
array (
‘value’ => 4,
‘generic’ => 2,
‘graph’ => 0,
‘descr’ => ‘Critical’,
),
),
),
),
)

Data mitelIpera3000Alarms:
array (
0 =>
array (
‘mitelIpera3000AlmLevel’ => ‘2’,
‘mitelIpera3000AlmDetectDate’ => ‘07 E5 02 10 15 0C 1D 00 00 00 00’,
‘mitelIpera3000AlmNbrCategories’ => ‘1’,
‘mitelIpera3000TrapAlmShutdownCause’ => ‘12’,
‘mitelIpera3000TrapAlmShutdownDetailedCause’ => ‘0’,
‘mitelIpera3000AlmResetCause’ => ‘2’,
‘mitelIpera3000AlmResetCauseBITS’ => ‘259’,
),
1 =>
array (
‘mitelIpera3000CatTblIndex’ => ‘1’,
‘mitelIpera3000CatTblAvailable’ => ‘512’,
‘mitelIpera3000CatTblUnavailable’ => ‘461’,
‘mitelIpera3000CatTblLevel’ => ‘2’,
‘mitelIpera3000CatTblMinorThresh’ => ‘89’,
‘mitelIpera3000CatTblMajorThresh’ => ‘94’,
‘mitelIpera3000CatTblCriticalThresh’ => ‘98’,
‘mitelIpera3000CatTblName’ => ‘Mem. Used (Mb)’,
),
)

Final sensor value: 2

Cur 2, Low: 2, Low Warn: 2, Warn: 2, High: 4

Thanks for any assistance you can provide.

Kind regards

Hi

I’ve updated the Mitel files but don’t have a different dev server.
How can I submit these working changes for inclusion in the main release?

Kind regards