netcool
netcool
Objectives
2
IBM Software Group Tivoli software
Common Integrations
• The question most often asked
• Can Netcool/OMNIbus manage vendor XYZ device
3
IBM Software Group Tivoli software
Probe Operation
A Probe is lightweight software used to collect and pre-process event data.
START PROBE $OMNIHOME/probes/nco_p_<probename> -server SERVERNAME
READ EVENT FROM SOURCE Connect to source (API, logfile, etc) and read an event
BUILD INSERT COMMAND The @fields are collected into an SQL Insert command
4
IBM Software Group Tivoli software
Probe Basics
A Probe consists of a binary, a .rules and a .props file:
Binaries - retrieve and tokenise event streams($OMNIHOME/probes/nco_p_<probename>)
Properties - run-time settings of probe ($OMNIHOME/probes/<arch>/<probename>.props)
Rules - instructions for processing event ($OMNIHOME/probes/<arch>/<probename>.rules)
Probe Properties
Properties can be set:
- with command line switches at probe startup
( -help , -dumpprops lists switches)
Rules File
• Rules Files contain program steps, executed for each event, to
manipulate incoming data and assign it to alerts.status fields
• Found in $OMNIHOME/probes/<arch>/<probename>.rules
• Inbound tokens start with $ , Object Server Fields start with @
• Major function of rules file is to define Identifier field
• Field values of alerts.status may be set by the rules file
• Additional information can be added using the rules file
• Probe can have multiple associated rules files (include files)
• Netcool Knowledge Library (NCKL) uses this technique
• One master rules file
• Contains multiple “include” statements for individual vendor / technology rules
files
IBM Software Group Tivoli software
switch ($EquipType) {
case “router":
@Class=3303
if (regmatch($Summary,".*offline.*"))
{
@Class=3304
}
default:
@Class = 3300
}
IBM Software Group Tivoli software
Note: Be sure to use discard inside a test, or all events will be discarded.
• A discard can be negated with a recover:
if (match(@CustSLA,“Platinum"))
{ recover }
• The details table can be inserted into with the details function:
if (regmatch(@Summary,"Link .* down"))
{details($Card, $Slot)}
The remove function excludes a token from further consideration:
if (match(@Node,"newdevice"))
{ remove($Slot)
details($*) }
Note: Using details($*) impacts performance – use during testing only.
IBM Software Group Tivoli software
extract($Summary,"Port ([0-9]+)")
Lookup Tables
At the very top of the rules file, place a file reference or the table
itself:
File Reference: table name ="$OMNIHOME/probes/<arch>/file"
file should look like: key[tab]value
key[tab]value
Table in Rules: table name = {{"key","value"},{"key","value"}}
where key - item looked up, value - item returned.
Then, to use the table:
@result = lookup(key, name)
16
IBM Software Group Tivoli software
if (match(%TotalEvents),"")) { %TotalEvents=1 }
else
{ %TotalEvents=int(%TotalEvents)+1 }
@RunningTotal = %TotalEvents
IBM Software Group Tivoli software
Associative Arrays
• Store and use data in dynamic arrays in rules
• Retain values when rules are re-read, but not when cold started
• Array elements are keyed by a string; Array must be declared
Additional Functions
• String Functions
• Converts format of string functions
• Time Functions
• Converts UNIX time to time and vice versa
• Get current time
• Utility Functions
• Obtain platform specific information such as hostname
19
IBM Software Group Tivoli software
Asia = registertarget("TOK1","LON1",
"alerts.stat_asia","alerts.det_asia")
setdefaulttarget("Usa")
....
if (match(@Location,"Tokyo")) {settarget("Asia")}
20
IBM Software Group Tivoli software
if (regmatch(@Summary,"interface.*down"))
{ @AlertGroup="Interface"
@Type = 1 }
21
IBM Software Group Tivoli software
22
IBM Software Group Tivoli software
Syslog Probe
• Install the probe with
$NCHOME/omnibus/install/nco_install_integration
• The syslog Probe can obtain its input from a log file or fifo
• Create either a file or a fifo
File: touch /var/adm/xyz
Fifo: mkfifo /var/adm/xyz
• Add the following line to /etc/syslog.conf
*.debug /var/adm/xyz
• Restart the syslog daemon
• Run the probe
$OMNIHOME/probes/nco_p_syslog -logfile /var/adm/xyz
$OMNIHOME/probes/nco_p_syslog -fifo /var/adm/xyz
IBM Software Group Tivoli software
24
IBM Software Group Tivoli software
MTTrapd Probe
• Install the probe via
$NCHOME/omnibus/install/nco_install_integration
• The most common method of integration
• Supports SNMP v1, v2 and v3
• Configured in property settings
• Supports UDP or TCP communication
• Configured in property settings
• Probe must run as the root user if using default port – 162
• UNIX operating system requirement (port < 1024)
• Possible to configure for non-root user
IBM Software Group Tivoli software
27
IBM Software Group Tivoli software
28
IBM Software Group Tivoli software
29
IBM Software Group Tivoli software
Installation
30
IBM Software Group Tivoli software
Configuration
• Configuration is done in flood.config.rules
• Configure the time windows for collecting events for flood and
anomalous event rate detection
• Configure the length of the ‘training period’ during which the ‘normal’ rate
of receipt of events is determined
• Configure the threshold (events/sec) for determining when an event
flood is in progress
• Configure what percentage of the ‘normal’ event rate constitutes an
unusually low or unusually high rate of receipt of events.
• Configure remedial behavior to take during the event flood.
• For example, discard all events with severity less than major
31
IBM Software Group Tivoli software
Usage
• flood.config.rules
• Included at the beginning of the user’s set of rules
• Necessary because the rules file fragment defines an array
• flood.rules
• Included towards the end of the user’s set of rules
• Necessary because the remedial action to take during the event
flood may be based on the event severity
• Rules file needs to be processed first to determine this severity
• The probe is run as normal
32
IBM Software Group Tivoli software
Limitations
• There may be work involved in adjusting the configuration
variables for the user’s environment
• How long the probe should be running before flood detection is
enabled to cope with an initial burst of alarms when the probe is
started
• How long the training period should be to determine the normal
rate of receipt of events
• Once the training period has completed and the normal rate of
receipt of events has been determined
• This normal rate is only valid while the probe is running
• Not persisted between subsequent restarts of the probe
33
IBM Software Group Tivoli software
34
IBM Software Group Tivoli software
• Flood Condition
• Probe receives more than 50 events per second
• ObjectServer event indicating that a flood has been detected
• Flood Subsides
• ObjectServer event indicating that an event flood has finished
• Describes number of events received during flood condition and
the duration
• Low Event Condition
• Probe receives less than 10% of the expected rate of events
• ObjectServer event indicating low event rate
• High Event Condition
• Probe receives more than five times the expected rate of events
• ObjectServer event indicating high event rate
35
IBM Software Group Tivoli software
Summary
36