Some product/consulting companies charge upto 25K USD for integration of FM-FM/FM-PM products. One has to be careful of such offerings because not only they have a one time cost, but also they come with a continual license fee for the gateway. BAD!! So let me save you some money by generalizing this process by an example of integrating two highly used NMS solutions – Tivoli Netcool [from IBM] and NAGIOS [Open source offering]. Integration from Nagios to Netcool is simple [not sure why people pay tones of money for this] and can be done in couple different ways:
Overview
- Asynchronous uni-directional data flow [from Nagios SBI to Netcool] : In this method of integration, Netcool shall receive events as forwarded, but shall not acknowledge the event back in Nagios. This is useful when Nagios is not used by operators for RT monitoring.
- Synchronous bi-directional data flow: An event in Nagios will flow to Netcool and will be confirmed back in Nagios as recieved by Netcool. On every update on the event [such as journal entry, acknowledgements] the event in Netcool, status shall be updated in Nagios.
Either options work based on the business/solution requirements. So without further ado:
Implementation:
- Asynchronous uni-directional data flow [from Nagios SBI to Netcool]
To understand the implementation, I shall divide the steps as southbound implementation and northbound implementation. Southbound implementation refers to the changes/configuration on Nagios end, and Northbound implementation refers to updates in Netcool.
Southbound updates [On Nagios];
a) Create a script to send tcp socket messages or snmp traps or direct JDBC insert to NBI.
You can use snmptrap command for writing the script, if you are not a SNMP guy you can use a simple script to do socket message communication/JDBC inserts into Objectserver. Test this script.
sample snmp script:
Send trap
# Arguments:
# $1 = Management Station
# $2 = Community String
# $3 = host_name
# $4 = service_description (Description of the service)
# $5 = return_code (An integer that determines the state
# of the service check, 0=OK, 1=WARNING, 2=CRITICAL,
# 3=UNKNOWN).
# $6 = plugin_output (A text string that should be used
# as the plugin output for the service check)
#
# Sample
# /usr/bin/snmptrap -v 2c -c $2 $1 ” NAGIOS-NOTIFY-MIB::nSvcEvent nSvcHostname s “$3″ nSvcDesc s “$4″ nSvcStateID i $5 nSvcOutput s “$6″
b) Define a global event handler in Nagios: Global event handler will help execute the script on every state change on Nagios instance and will communicate, failure and seizure of the problem. How to configure GEH: http://nagios.sourceforge.net/docs/2_0/eventhandlers.html
Northbound updates [On Netcool]
If SNMP:
a) Download the Nagios MIB and compile with MIB2Rules
http://sourceforge.net/projects/nagiosplug/files/nagiosmib/
b) Update the rules file and include it in mttrapd main ruleset
If socket:
a) Update the socket probe to parse message based on delimiters
b) Ensure all mandatory objectsesrver fields are accounted for
If JDBC:
a) Ensure all mandatory objectsesrver fields are accounted for
b) **CAUTION** Watch the objectserver profiler for IDUC consumption, as this is not so much of a conventional approach
DID YOU CATCH THE HEADFAKE?
Nagios an Netcool were just examples, you can integrate most FM-FM/FM-PM solutions using the aforementioned procedure, you just need to know the NBI data model, SBI data model, right triggers on the SBI system and right listner on NBI system. Made your life easy, din’t I? So start saving your company some money now!!
In the next post, I will talk about method 2 {bidirectional data flow}. Keep visiting!!
Recent Comments