![Page 2: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/2.jpg)
Agenda
• What the heck is OpenNMS?• Getting It Installed• Discovery• Event Management• Service Assurance• Data Collection
![Page 3: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/3.jpg)
OpenNMS is the world's frst enterprise-grade network management application platform developed under the open source model.
![Page 4: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/4.jpg)
“world's first”
• NetSaint 2000-01-10 1323
• OpenNMS 2000-03-29 4141
• Nagios 2001-05-03 26589
• RRDTool 2003-01-13 71544
• Groundwork 2006-02-21 160654
• ZenOSS 2006-03-20 163126
• Hyperic 2006-07-17 172556
![Page 5: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/5.jpg)
“enterprise-grade”
• Nearly 60,000 Devices on a Single Instance (Swisscom)
• 1.2 Million Data Points Every Five Minutes (New Edge)
• 32,000 Interfaces per Device (Wind)• 3000 Remote Monitors (Papa Johns)
![Page 6: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/6.jpg)
“network management application platform”
The Architecture of OpenNMS has been designed to allow for easy integration of other tools, both proprietary and open.
![Page 7: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/7.jpg)
“open source model”
OpenNMS is published under the GPL and all components are licensed under an OSI-qualified free software license.
![Page 8: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/8.jpg)
![Page 9: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/9.jpg)
• Provisioning: Both Automated Discovery and Directed Discovery.
• Event and Notification Management: Generate, receive, reduce and correlate various network alerts and feed them to a robust notification system.
• Service Assurance: Is a particular network service reachable and available?
• Performance Data Collection: Gather numeric data from across the network for display, trending and thresholding.
The Four Main Areas of OpenNMS
![Page 10: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/10.jpg)
The Architecture
Network
PostgreSQL
RRD
RRD
RRD
RRD
RRD
Jetty/Tomcat
poller
JD
BC
LD
AP
DN
S
HT
TP
SM
TP
IM
AP
PO
P3
TC
P
IC
MP
Discoverycapsd
(CapabilitiesDaemon)ICMPD
EVENTD (Event Daemon)
trapd(SNMP Trap
Receiver)
RTC ViewCategory Manager
Users
threshd
collectdSNMPHTTP
![Page 11: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/11.jpg)
OpenNMS Versions
• Stable (Production) Versions Have an Even Number:– 1.2– 1.6– 1.8
• Unstable (Development) Versions Have an Odd Number:– 1.7– 1.9
![Page 12: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/12.jpg)
Let's Get This Sucker Installed
• Java JDK (1.5 or higher)• PostgreSQL• jicmp• opennms-core• An opennms webapp• iplike• jrrd (optional)
![Page 13: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/13.jpg)
Packages Are Your Friend
• Use “yum” on rpm-based distros• Use “apt” on Debian/Ubuntu distros• Use “fink” on Mac OS X• Use Solaris packages for Sun• Use the standalone installer for Windows• Use the wiki for FreeBSD
![Page 14: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/14.jpg)
Getting Set Up
• The java to use must be set:
$OPENNMS_HOME/bin/runjava -s
• The installer should be run:
$OPENMS_HOME/bin/install -dis
• The iplike function should be installed.
![Page 15: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/15.jpg)
Start 'er Up
• Make sure the database is running and is accessible on localhost:5432
• Start the Application:
$OPENNMS_HOME/bin/opennms start
• Access the WebUI:
http://[host]:8980/opennms
![Page 16: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/16.jpg)
Where OpenNMS Stores Data
• Database (PostgreSQL)• Round Robin Database (JRobin or
RRDtool)• Configuration:
$OPENNMS_HOME/etc
Usually in XML files
![Page 17: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/17.jpg)
![Page 18: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/18.jpg)
![Page 19: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/19.jpg)
![Page 20: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/20.jpg)
![Page 21: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/21.jpg)
![Page 22: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/22.jpg)
![Page 23: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/23.jpg)
![Page 24: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/24.jpg)
![Page 25: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/25.jpg)
![Page 26: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/26.jpg)
<discovery-configuration threads="1" packets-per-second="1" initial-sleep-time="30000" restart-sleep-time="86400000" retries="1" timeout="2000"> <include-range retries="1" timeout="2000"> <begin xmlns="">172.20.1.1</begin> <end xmlns="">172.20.1.50</end> </include-range></discovery-configuration>
![Page 27: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/27.jpg)
provisiond
• Controls both automated and directed discovery
• The “foreign source” controls what gets discovered
• The “foreignid” is a unique key for the device
• Can finely control what gets discovered• Everything reflected in XML files
![Page 28: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/28.jpg)
![Page 29: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/29.jpg)
![Page 30: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/30.jpg)
<model-import last-import="2010-06-08T08:49:35.190-04:00" foreign-source="SortovaFarm" date-stamp="2010-06-08T08:49:34.616-04:00"> <node node-label="rabalog.dyndns.org" foreign-id="1238625352367" building="SortovaFarm"> <interface status="1" snmp-primary="P" ip-addr="71.52.248.189" descr=""> <monitored-service service-name="SNMP"/> <monitored-service service-name="ICMP"/> </interface> </node> <node node-label="sortova.dyndns.org" foreign-id="1196974970537" building="SortovaFarm"> <interface status="1" snmp-primary="P" ip-addr="71.54.38.225" descr=""> <monitored-service service-name="SNMP"/> <monitored-service service-name="ICMP"/> </interface> </node></model-import>
![Page 31: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/31.jpg)
Events
• OpenNMS can generate internal events, receive external events such as SNMP traps
• Events can be reduced – taking a number of events and representing them as a single line with a count
• Events can be translated into other events• There are a variety of correlation methods
to match problems with resolutions, identify widespread outages and “flapping”
![Page 32: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/32.jpg)
Event reduction
![Page 33: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/33.jpg)
Automations
![Page 34: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/34.jpg)
Automations
![Page 35: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/35.jpg)
Automations
![Page 36: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/36.jpg)
Correlation
![Page 37: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/37.jpg)
Create Custom Events
• OpenNMS listens on port 5817 for event messages
• Events are simply properly formatted XML objects
• Use or modify the included send-event.pl script for creating events
![Page 38: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/38.jpg)
Unique Event Identifier
• A new interface is discovered: uei.opennms.org/internal/discovery/newSuspect
• A service is down:uei.opennms.org/nodes/nodeLostService
• All services on an interface are down:uei.opennms.org/nodes/interfaceDown
• All interfaces on a node are down:uei.opennms.org/nodes/nodeDown
![Page 39: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/39.jpg)
Create Custom UEIs
$ send-event.pl uei.self.org/demo/testEvent
![Page 40: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/40.jpg)
$ cat SELF.events.xml
<events><event> <uei>uei.self.org/demo/testEvent</uei> <event-label>An Event Created for the SELF Conference</event-label> <descr><p> This event is just to demonstrate custom events in OpenNMS. </p> </descr> <logmsg dest='logndisplay'> <p> Hello folks at SELF. </p></logmsg> <severity>Warning</severity></event></events>
Configure the UEI
![Page 41: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/41.jpg)
Create Custom UEIs
$ send-event.pl uei.self.org/demo/testEvent
![Page 42: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/42.jpg)
Create Custom UEIs
$ send-event.pl –severity 7 uei.self.org/demo/testEvent
![Page 43: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/43.jpg)
Notifications
• Any command line application can be used to send notices:– Email– Pages– SMS messages– IM's via XMPP (Jabber)
• Includes– Duty schedules and roles– Escalations– Auto acknowledgment
![Page 44: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/44.jpg)
Service Assurance
• Monitor network services like HTTP, DNS, Databases and even ICMP
• Calculate availability over devices and categories.
• Packages and adaptable downtime models• Support for plugins, including Nagios® and
custom scripts• Distributed monitoring via webstart app
![Page 45: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/45.jpg)
Adaptable Downtime Model
• When an outage occurs, OpenNMS changes the default service poll:– 30 second polls for the first 5 minutes– 5 minute polls for the first 12 hours– 10 minute polls for the first 5 days– Unmange the service if down longer
• Shortest outage is on the order of 30 seconds
![Page 46: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/46.jpg)
![Page 47: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/47.jpg)
Using Net-SNMP for SA
• Protocols like SSH don't scale and have security issues
• Net-SNMP can be easily extended and secured
• Use the “extend” feature with OpenNMS for easy custom poller creation
![Page 48: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/48.jpg)
$ mailq-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------2BCEFAC8DE 6907 Mon Jun 7 23:55:02 MAILER-DAEMON (connect to wanadoo.co.uk[195.92.249.131]:25: Connection timed out) [email protected]
CC185AC83D 1026 Tue Jun 8 21:21:12 [email protected] (connect to jdsubmit.yahoo.com[98.137.132.14]:25: Connection timed out) [email protected]
-- 9 Kbytes in 2 Requests.
$ cat ./mailqstats.sh #!/bin/bash
ISZERO=`mailq | grep Mail\ queue\ is\ empty | wc -l`if [ $ISZERO -eq 1 ] ; then echo 0 exit 0fi
mailq | grep Request | awk '{print $5}'
$ ./mailqstats.sh 2
![Page 49: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/49.jpg)
In /etc/snmp/snmpd.conf:
extend mailqstats /root/crons/mailqstats.sh
$ snmpwalk -v1 -c public 10.1.1.1 .1.3.6.1.4.1.8072.1.3.2NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 1NET-SNMP-EXTEND-MIB::nsExtendCommand."mailqstats" = STRING: /root/crons/mailqstats.shNET-SNMP-EXTEND-MIB::nsExtendArgs."mailqstats" = STRING: NET-SNMP-EXTEND-MIB::nsExtendInput."mailqstats" = STRING: NET-SNMP-EXTEND-MIB::nsExtendCacheTime."mailqstats" = INTEGER: 5NET-SNMP-EXTEND-MIB::nsExtendExecType."mailqstats" = INTEGER: exec(1)NET-SNMP-EXTEND-MIB::nsExtendRunType."mailqstats" = INTEGER: run-on-read(1)NET-SNMP-EXTEND-MIB::nsExtendStorage."mailqstats" = INTEGER: permanent(4)NET-SNMP-EXTEND-MIB::nsExtendStatus."mailqstats" = INTEGER: active(1)NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."mailqstats" = STRING: 2NET-SNMP-EXTEND-MIB::nsExtendOutputFull."mailqstats" = STRING: 2NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."mailqstats" = INTEGER: 1NET-SNMP-EXTEND-MIB::nsExtendResult."mailqstats" = INTEGER: 0NET-SNMP-EXTEND-MIB::nsExtendOutLine."mailqstats".1 = STRING: 2
.1.3.6.1.4.1.8072.1.3.2.4.1.2.10.109.97.105.108.113.115.116.97.116.115.1 = STRING: 2
![Page 50: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/50.jpg)
In poller-configuration.xml:
<service name="Mailq" interval="300000" user-defined="false" status="on"> <parameter key="retry" value="1"/> <parameter key="timeout" value="3000"/> <parameter key="port" value="161"/> <parameter key="oid" value=".1.3.6.1.4.1.8072.1.3.2.4.1.2.10.109.97.105.108.113.115.116.97.116.115.1"/> <parameter key="operator" value="<"/> <parameter key="operand" value="300"/> </service>
<monitor service="Mailq" class-name="org.opennms.netmgt.poller.monitors.SnmpMonitor"/>
![Page 51: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/51.jpg)
Distributed Monitoring
![Page 52: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/52.jpg)
Maps Integration
![Page 53: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/53.jpg)
Surveillance Views
![Page 54: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/54.jpg)
Performance Data Collection
• Uses JRobin (or RRDTool) to store time series data
• Support for– SNMP (v1, v2c, v3)– JMX– HTTP– NSClient– WMI
• Automated configuration
![Page 55: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/55.jpg)
Performance reports
![Page 56: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/56.jpg)
Tracking an eBay Auction
![Page 57: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/57.jpg)
Figure Out the RegEx
<td colspan="4" height="10"></td></tr><tr><td colspan="4" class="vi-is1-bdr"><div class="vi-is1-tl"><div class="vi-is1-tr"></div></div></td></tr><tr><td class="vi-is1-lblp vi-is1-solidBg">Current bid:</td><td class="vi-is1-solid vi-is1-tbll"><span><span id="v4-32" class="vi-is1-prcp">US $390.00</span></span></td>
(?s).*?Current bid.*?US.*?([.0-9]+).*
![Page 58: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/58.jpg)
Discovery and Collection
In collectd-configuration.xml:
<package name="ebay"> <filter>IPADDR != '0.0.0.0'</filter> <include-range begin="1.1.1.1" end="254.254.254.254"/> <service name="EbayAuction" interval="300000" user-defined="false" status="on"> <parameter key="collection" value="ebay"/> <parameter key="retry" value="1"/> <parameter key="timeout" value="7000"/> </service> </package>
<collector service="EbayAuction" class-name="org.opennms.netmgt.collectd.HttpCollector"/>
![Page 59: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/59.jpg)
Define HTTP CollectionIn http-datacollection-config.xml:
<uris> <uri name="ebay"> <url path="/ws/eBayISAPI.dll?ViewItem&item=190402522901" virtual-host="cgi.ebay.com" user-agent="Mozilla/5.0" matches="(?s).*?Current bid.*?US.*?([.0-9]+).*" response-range="100-399" > </url> <attributes> <attrib alias="ebayprice" match-group="1" type="gauge32"/> </attributes> </uri>
$ ls -l /opt/opennms/share/rrd/snmp/121total 288-rw-rw-r-- 1 root root 282736 Jun 10 11:07 ebayprice.jrb
![Page 60: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/60.jpg)
Create the Graph
In snmp-graph.properties:
report.example.ebay.name=This an Ebay Auctionreport.example.ebay.columns=ebaypricereport.example.ebay.type=nodeSnmpreport.example.ebay.command= \ --title="The price of a Nexus One eBay Auction" \ DEF:number={rrd1}:ebayprice:AVERAGE \ LINE2:number#00A000:"Price" \ GPRINT:number:AVERAGE:" Avg \\: %8.2lf %s" \ GPRINT:number:MIN:"Min \\: %8.2lf %s" \ GPRINT:number:MAX:"Max \\: %8.2lf %s\\n"
![Page 61: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/61.jpg)
eBay Auction Graph
![Page 62: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/62.jpg)
Configure Thresholds
![Page 63: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/63.jpg)
• The Wiki: http://www.opennms.org/
• The Mailing Lists– opennms-install– opennms-discuss– opennms-devel– opennms-announce
• Italian Users: www.opennms.it opennms-it• IRC: #opennms on freenode.
The OpenNMS Project
![Page 64: Introduction to OpenNMS · Introduction to OpenNMS confsl – 12 Giugno 2010 Antonio Russo antonio@opennms.org](https://reader033.vdocuments.site/reader033/viewer/2022042518/5f75334a60e21a511f1e2797/html5/thumbnails/64.jpg)
• SVG Maps• Linkd• Rancid Integration• MapsProvisiongAdapter• RancidProvisioningAdapter• Ipv6 Migration?• More and More.....
Opennms Italian Adventures