Escolar Documentos
Profissional Documentos
Cultura Documentos
(Day 1-2.5)
Quick Background on OpenNMS High Level Architecture Review Installation Solution: Bringing Events Under Control Solution: Monitoring Disk Space
(Day 1-2.5)
Further Analysis
KSC Reports Statistical Reports (TopN/BottomN) SLA Reports Database Reports
(Day 1-2.5)
Get Up to Date
Basic Course Labs
Stop OpenNMS (service opennms stop) Upgrade (yum install opennms) Deal with any .rpmnew les Run the installer (/opt/opennms/bin/install -dis) Clear the log les (rm -f /opt/opennms/logs/*/*) Start OpenNMS (service opennms start)
The Basics
OpenNMS is an Enterprise-grade Network Management Platform Developed Using the Open-Source Model It is
written in Java (well 99.999%) Congured via XML (human and machine readable) Uses a back-end database
10
Background
100% open source; Not fauxpen source License: GPL v2 25 Active Developers (OGP) Annual Developers Conference Focus on extreme scaleability and stability Complete build, unit-test, & packaging systems Registered: 2000-03-30 on SourceForge as Project 4141 http:/ /sourceforge.net/projects/opennms/ Project Stewardship: The OpenNMS Group, Inc.
11
Functions of OpenNMS
Provisioning
Automatic Discovery Directed Policy Supported
Monitoring
Service SLAs Application Status and Performance
Fault Management
Event Proxies Alarms Notications Reporting
Performance Management
Data Collection Thresholding Graphing
12
Features Of OpenNMS
Publish and Subscribe Event Bus Flexible Scalable Provisioning Pluggable Architecture Embedded Reporting Engine Topological and Geographical Mapping Web-UI ReST API Open Source Unit Tested Complete Build & Packaging System
13
Technical Overview
Architecture
2 JNI modules:
ICMP (Discovery and Polling) RRD (Response Time and Performance Graphing) (User Optional)
14
Schematic of Components
Architecture
ORM
15
16
Eventd
Discovery
Vacuumd
Collectd
Threshd
Service Daemons
1 - ICMP Echo Reply 2 - New Suspect Event 3 - SNMP Reply 4 Node Gained Service Event (SNMP) 5 - SNMP Poll Failure 6 - Node Lost Service Event (SNMP) 7 - Alarm Escalated Event 8 - Create Ticket Event
17
Ticketd
Alarmd
Notifd
Capsd
Poller
First Break
Basic Course: Day1
Be back in 15 minutes...
18
19
Chapter 1
Managing Events
After completing this chapter, you will have an understanding on how events are managed within OpenNMS.
20
Use Cases
Chapter 1: Managing Events
My environment has a number of applications that all perform work and generate events. I want to bring all of those events into a single location.
Most programs have the ability to run an external command. Use this feature and the send-event.pl script to generate a custom event. Congure the event to display properly in OpenNMS
21
All Events in OpenNMS are identied by a unique string called the Unique Event Identier or UEI. Events in the OpenNMS format contain a UEI. Some common examples:
uei.opennms.org/nodes/nodeDown uei.opennms.org/nodes/interfaceDown uei.opennms.org/nodes/nodeLostService
Events from external sources, such as SNMP traps and Syslog messages, must have a UEI assigned.
22
The eventconf.xml le
Chapter 1: Managing Events
This le controls events All OpenNMS events are dened in this le Other event les can be included
23
eventconf.xml - security
Chapter 1: Managing Events
24
<event> <uei>uei.opennms.org/nodes/nodeLostService</uei> <event-label>OpenNMS-defined node event: nodeLostService</event-label> <descr> <p>A %service% outage was identified on interface %interface%. </p> <p>A new Outage record has been created and service level availability calculations will be impacted until this outage is resolved.</p> </descr> <logmsg dest="logndisplay">%service% outage identified on interface %interface% with reason code: %parm[eventReason]%. </logmsg> <severity>Minor</severity> <alarm-data reduction-key="%uei%:%dpname%:%nodeid%:%interface%:%service%" alarm-type="1" auto-clean="false"/> </event>
25
26
<event-file>events/Rancid.events.xml</event-file> <event-file>events/3Com.events.xml</event-file> <event-file>events/AdaptecRaid.events.xml</event-file> <event-file>events/ADIC-v2.events.xml</event-file> <event-file>events/Adtran.events.xml</event-file> <event-file>events/Adtran.Atlas.events.xml</event-file> <event-file>events/Aedilis.events.xml</event-file> <event-file>events/AirDefense.events.xml</event-file> <event-file>events/AIX.events.xml</event-file> ... <event-file>events/programmatic.events.xml</event-file> <event-file>events/Standard.events.xml</event-file> <event-file>events/Translator.default.events.xml</event-file> <event-file>events/default.events.xml</event-file>
26 27
eventd-conguration.xml
Chapter 1: Managing Events
<EventdConfiguration TCPAddress="*" TCPPort="5817" UDPAddress="*" UDPPort="5817" receivers="5" getNextEventID="SELECT nextval('eventsNxtId')" socketSoTimeoutRequired="yes" socketSoTimeoutPeriod="3000"> </EventdConfiguration>
26 28
send-event.pl
Chapter 1: Managing Events
Usage: /opt/opennms/bin/send-event.pl [host] [options] <UEI> Options: <UEI> [host[:port]] --version, -V --verbose, -v --help, -h --timezone, -t --service, -s --nodeid, -n --interface, -i --descr, -d --severity, -x the universal event identifier (URI) a hostname to send the event to (default: localhost) print version and exit successfully print the raw XML that's generated this help message the time zone you are in service name node identifier (numeric) IP address of the interface a description for the event browser the severity of the event (numeric or name) 1 = Indeterminate 2 = Cleared (unimplemented at this time) 3 = Normal 4 = Warning 5 = Minor 6 = Major 7 = Critical an event parameter (ie: --parm 'url http://www.google.com/') a UUID to pass with the event
--parm, -p --uuid, -U
26 29
Create a custom down event. Be sure to include alarm-data. Create a custom up event. Have this event clear the rst alarm. Insure your events work. Test overriding both the severity and logmsg.
30
Class.events.xml
Events: Practical
<events> <event> <uei>uei.opennms.org/class/downTest</uei> <event-label>AAA - Class Test Event - Down</event-label> <descr><p> Oh my, something be broken! </p> </descr> <logmsg dest='logndisplay'><p>Down: Something be broken!</p></logmsg> <severity>Warning</severity> <alarm-data reduction-key="%uei%" alarm-type="1" auto-clean="false"/> </event> <event> <uei>uei.opennms.org/class/upTest</uei> <event-label>AAA - Class Test Event - Up</event-label> <descr><p> Never mind, I was just kidding. </p> </descr> <logmsg dest='logndisplay'><p>Up: All better now.</p></logmsg> <severity>Normal</severity> <alarm-data reduction-key="%uei%" alarm-type="2" clear-key="uei.opennms.org/class/downTest" auto-clean="false"/> </event> </events>
26 31
Send the down event: send-event.pl uei.opennms.org/class/downTest Verify it shows up in both events and alarms Send the down event again. Verify it shows up twice in events, once in alarms. Send the down event with a severity: send-event.pl -x 7 uei.opennms.org/class/downTest Verify the event and alarm once again. Send the up event: send-event.pl uei.opennms.org/class/upTest Verify the event and alarms Wait 30 seconds and refresh the alarms. What happens?
30 32
Break Time
15 Minute Break
33
Chapter 2
Monitoring Disk Usage
After completing this chapter in the OpenNMS Basic Course, you will have a fundamental understanding for provisioning of monitored services in OpenNMS.
34
Use Cases
Chapter 2: Monitoring Disk Usage
An application often becomes unresponsive and/or unavailable to users due to the / (root) disk le system being full or nearly full.
Automatically notify the appropriate system administrators when the le system is at 80% capacity. Automatically notify all previous notied admins when problem is resolved. Bonus: Notify the appropriate system administrators when the le system capacity changes by 50%.
35
Install an SNMP Agent on problematic system(s) Install a Network Management System (NMS) Congure Email notication infrastructure Add (Provision) the problematic system(s) in the NMS Congure threshold monitoring
In the NMS In the SNMP Agent
36
Install Net-SNMP
Monitoring Disk Usage: Practical
Installing OpenNMS
Monitoring Disk Usage: Practical
pg_hba.conf (hint: switch to user postgres) postgresql.conf (localhost access if necessary) sudo /sbin/service postgresql start sudo /sbin/chkcong postgresql on
Congure OpenNMS
sudo /opt/opennms/bin/runjava -fS /usr/bin/java sudo /opt/opennms/bin/install -dis sudo yum install iplike sudo /sbin/chkcong opennms on
Congure PostgreSQL
sudo /sbin/service postgresql initdb
Start OpenNMS
sudo /opt/opennms/bin/opennms start
38
Email Notications
Monitoring Disk Usage: Practical
OpenNMS Web-UI create opennms user having the Gmail account and a member of the OpenNMS Admin Group enable notications Throw the main breaker for notications to On Set Threshold notications to On
39
Email Notications
(cont)
Monitoring Disk Usage: Practical
40
Email Notications
(cont)
Monitoring Disk Usage: Practical
41
Active Thresholding
Monitoring Disk Usage: Practical
42
43
Passive Thresholding
Monitoring Disk Usage: Practical
44
Congure SNMP
Web-UI Admin/Congure Community Strings:
127.0.0.1:YrUsonoZ
Provision the system Create management-systems Provisioning Group Add Node with Primary SNMP Interface (127.0.0.1) and the ICMP and SNMP services Synchronize
45
46
Node is in inventory!
47
Break Time
Monitoring Disk Usage: Break
48
Hands On Lab
Monitoring Disk Usage: Student Lab
Its now your turn to complete the use cases for this lab. Be sure you complete the PreGame Checks!
49
Break Time
Monitoring Disk Usage: Break
Take a break! Stretch Get some coffee Well start a lecture to discuss the details of this exercise (zzzzz.....)
50
The Solution
Monitoring Disk Usage: Analysis
Software Packaging
RPM, DEB, PKG Dependency Management:YUM/APT OpenNMS Dependencies Java PostgreSQL JICMP Versions: Stable, Testing, Unstable Current Stable: 1.8.7 Current Unstable: 1.9.3
51
Installed Components
OpenNMS Net-SNMP PostgreSQL
What is an NMS?
FCAPS (Generically Speaking) Fault Management Conguration Management Accounting Performance Management Security
52
Some terms you heard thrown around: SNMP: Simple Network Management Protocol
TCP/IP Protocol UDP datagrams Ports 161, 162 Versions: 1, 2c, 3
ccitt (0)
iso (1)
joint-iso-ccitt (2)
standard (0)
member-body (2)
organization (3)
registration-authority (1)
internet (1)
54
internet (.1.3.6.1)
private (4)
mib-II (1)
enterprises (1)
55
Scaler: ends in 0
sysDescr - .1.3.6.1.2.1.1.1.0
56
ASN.1 Example
Monitoring Disk Usage: Analysis
sysDescr OBJECT-TYPE SYNTAX DisplayString (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the entity. This value should include the full name and version identication of the system's hardware type, software operating-system, and networking software." ::= { system 1 }
57
MIB-II
Monitoring Disk Usage: Analysis
Most commonly referenced OIDs Supported by all* agents Provides generic metrics
System Group Interface Table IP Table Host-Resources Table etc.
58
Enterprises MIB
Monitoring Disk Usage: Analysis
59
System OID
Monitoring Disk Usage: Analysis
sysObjectID (.1.3.6.1.2.1.1.2)
snmpget -v 2c -c YrUsonoZ localhost .1.3.6.1.2.1.1.2.0
60
SNMP Versions
Monitoring Disk Usage: Analysis
V1
Security: community names, no encyrption Simple protocol implications: Extremely powerful and easy to transport Extremely complex to instrument
V2c
Security Identical to v1 Results of V2 collaboration failure Improvements Added 64-bit counters Improved PDU structure and error handling Get-Bulks
V3
Security Supports pluggable privacy protocols Supports pluggable encryptions protocols
61
Conguring Net-SNMP
Monitoring Disk Usage: Analysis
Basic Conguration
Run the snmpconf utility trap2sink rocommunity rwcommunity syslocation syscontact
Advanced Conguration
View Based Access Control System Monitoring Process Checks Load Checks Disk Checks Executables
62
Conguring OpenNMS
Thresholds
Monitoring Disk Usage: Analysis
Threshold Methods
High Low Relative Change Absolute Value
Data Sources
MIB Objects Expressions
63
Conguring OpenNMS
Thresholds (cont)
Monitoring Disk Usage: Analysis
64
Conguring OpenNMS
SNMP
Monitoring Disk Usage: Analysis
XML Conguration
vim /opt/opennms/etc/snmp-cong.xml Supported Perl Script to send congure Web-UI: Admin/Congure SNMP by IP (Sends congure SNMP Event) Automatic snmp-cong optimization
65
SNMP Conguration
Auto-Optimized
Monitoring Disk Usage: Analysis
$ /opt/opennms/bin/send-event.pl uei.opennms.org/internal/configureSNMP \ --parm 'communityString public' --parm 'version v2c' --parm 'timeout 2000' --parm 'firstIPAddress 1.1.1.1' --parm 'lastIPAddress 5.5.5.5'
<definition timeout="2000" read-community="public" version="v2c"> <ns1:range xmlns:ns1="http://xmlns.opennms.org/xsd/types" begin="1.1.1.1" end="5.5.5.5"/> </definition>
$ /opt/opennms/bin/send-event.pl uei.opennms.org/internal/configureSNMP \ --parm 'communityString public' \ --parm 'firstIPAddress 1.1.1.10' \ --parm 'lastIPAddress 1.1.1.100' \ --parm 'version v2c'
<definition timeout="2000" read-community="public" version="v2c"> <ns1:range xmlns:ns1="http://xmlns.opennms.org/xsd/types" begin="1.1.1.1" end="1.1.1.9"/> <ns2:range xmlns:ns2="http://xmlns.opennms.org/xsd/types" begin="1.1.1.101" end="5.5.5.5"/> </definition> <definition retry="1" read-community="public" version="v2c"> <ns3:range xmlns:ns3="http://xmlns.opennms.org/xsd/types" begin="1.1.1.10" end="1.1.1.100"/> </definition>
66
Conguring OpenNMS
Provisioning Nodes
Monitoring Disk Usage: Analysis
Directed
Add Interface Provisioning Groups
Auto-Discovery
Highly efcient Ping sweeper Generates New Suspect Events
67
Conguring OpenNMS
Provisioning Nodes (cont)
Monitoring Disk Usage: Analysis
Now that Thresholds, Notications, and SNMP is congured, Provision your node(s).
Create an linux-systems Provisioning Group Dene the Linux System interface with ICMP and SNMP services and set P for SNMP Primary on the IP management interface Adjust the detectors as desired (Policies are discussed in Advanced Course)
68
Conguring OpenNMS
Provisioning Nodes (cont)
*Monitoring Disk Usage: Analysis
69
Break Time
15 Minute Break
70
Chapter 3
Monitoring Internet Search
After completing this chapter in the OpenNMS Basic Course, you will have a complete understanding for creating new services, Status Views, and Notication Workows.
71
The availability and performance of Internet (and Cloud) based web services has become extremely critical to your organization. Congure OpenNMS to provide comprehensive monitoring support the security (rewall) and network admin teams.
Notify the rewall on-call team when the Search service fails on one of 3 main Internet web search sites. Notify network the admin team when ICMP fails on one of 3 main Internet web search sites. Notify network on-call team when the Internet is down. Provide the network and rewall teams with comprehensive status views and dashboards of their respective services. Provide the network and rewall teams with comprehensive reporting of their respective services.
72
Create custom notication workows for the rewall and the network admin teams Add Custom Search Monitoring Services Use StrafePing to provide detailed ICMP Analysis of Internet Search Sites Create a Node in OpenNMS that represents the Internet Search service from Google, Yahoo, & Bing Customize OpenNMS with Surveillance Views, Site Status Views, Custom RTC, and Dashboards
73
Create Users
Security Team Superman Batman Wonder Woman Network Team Fantastic Invisible Girl Torch ThingCreate Groups Security Networking
74
capsd-conguration.xml
<protocol-plugin protocol="GoogleSearch" class-name="org.opennms.netmgt.capsd.plugins.HttpPlugin" scan="off" /> <protocol-plugin protocol="YahooSearch" class-name="org.opennms.netmgt.capsd.plugins.HttpPlugin" scan="off" /> <protocol-plugin protocol="BingSearch" class-name="org.opennms.netmgt.capsd.plugins.HttpPlugin" scan="off" />
Notice the different XML closure than scene in the default conguration
75
poller-conguration.xml
76
Congure the Polling of the Services by dening the monitor classes for each service
poller-conguration.xml
<monitor service="BingSearch" class-name="org.opennms.netmgt.poller.monitors.HttpMonitor" /> <monitor service="GoogleSearch" class-name="org.opennms.netmgt.poller.monitors.HttpMonitor" /> <monitor service="YahooSearch" class-name="org.opennms.netmgt.poller.monitors.HttpMonitor" />
Restart OpenNMS
77
Creating Users
Monitoring Internet Search: Practical
Create all users with a 9-5 duty schedule (they are Super Heros after all!) and add your email address to one of the heros in each group.
78
Creating Groups
Monitoring Internet Search: Practical
79
80
Notication Workow
Monitoring Internet Search: Practical
81
82
83
85
categories.xml
... <category> <label><![CDATA[Search Services]]></label> <comment>This category includes all managed interfaces which are currently providing Google, Yahoo, and Bloomberg Search services</comment> <normal>99.99</normal> <warning>97</warning> <service>GoogleSearch</service> <service>YahooSearch</service> <service>BingSearch</service> <rule><![CDATA[isGoogleSearch | isYahooSearch | isBingSearch]]></rule> </category> ...
87
views-display.xml
88
89
90
Congure the dashboards for each of the users in the Security and Networking Groups
<view name="Security" refresh-seconds="300" > <rows> <row-def label="Security Search Services" > <category name="Search"/> <category name="Security"/> </row-def> </rows> <columns> <column-def label="PROD" > <category name="Production" /> </column-def> <column-def label="TEST" > <category name="Test" /> </column-def> <column-def label="DEV" > <category name="Development" /> </column-def> </columns> </view> <view name="Networking" refresh-seconds="300" > <rows> <row-def label="Security Search Services" > <category name="Search"/> <category name="Networking"/> </row-def> </rows> <columns> <column-def label="PROD" > <category name="Production" /> </column-def> <column-def label="TEST" > <category name="Test" /> </column-def> <column-def label="DEV" > <category name="Development" /> </column-def> </columns> </view>
91
92
93
Break Time
Monitoring Internet Search: Student Lab
94
Hands On Lab
Monitoring Internet Search: Student Lab
1. Complete the conguration supplied in the practical exercise for you OpenNMS instance. 2. Simulate the Google Interface down and verify the notications.
95
Break Time
Monitoring Internet Search: Student Lab
Take a break! Stretch Get some coffee Well start a lecture to discuss the details of this exercise (zzzzz.....)
96
Conguring OpenNMS
Notications
Monitoring Internet Search: Analysis
Targets
Users w/ Duty Schedules Groups w/ Duty Schedules Roles w/ On-Call Calendars
Notication Commands
Built-in Java Classes External System Commands
Destination Paths
Provides complex workows Unlimited escalations
Path Outages
User congurable Layer3 Topology Suppresses Notication of Downstream Alarms
97
Conguring OpenNMS
Notications (cont)
Monitoring Internet Search: Analysis
Create Users with Duty Schedule (e.g. 0700 1600) Create SysAdmin Group with general Duty Schedule (e.g. 07 - 1900) Create On-Call Role for SysAdmin Group Create non-urgent Destination Path sending notications to SysAdmin Group Create urgent Destination Path sending notications to SysAdmin Group + On-Call Role
98
Conguring OpenNMS
Notications (cont)
Monitoring Internet Search: Analysis
U sched in Role?
Notify
G on Duty?
U on Duty?
Queue
Notify
99
Break Time
10 Minute Break
100
Chapter 4
Getting Graphical
After completing this chapter in the OpenNMS Basic Course, you will have a complete understanding for creating performance graphs and topological maps.
101
Use Case
Getting Graphical
Create Graphs for Search Services Provide the Security and Networking teams with Topological Maps that show the status of each OpenNMS Instance
Student 1: Massachusetts Student 2: North Carolina Student 3: Georgia Student 4: Ohio Student 5: Minnesota Student 6: Colorado Student 7: Oregon
102
#report keys, list ALL prefab reports here! reports=icmp, avail, dhcp, dns, http, http-8000, http-8080, mail, pop3, radius, smtp, ssh, jboss, snmp, ldap, strafeping, bingsearch, googlesearch, yahoosearch
response-graph.properties
103
104
105
Strafe Ping
Getting Graphical
http:/ /www.opennms.org/wiki/StrafePing
106
107
108
Completed Map
Getting Graphical
109
Break Time
Getting Graphical
110
Lab 1
Getting Graphical
Complete the practical exercise Create a static bit bucket route for one of the student nodes and view the outage on the Map
route add -host 172.20.1.202 gw 127.0.0.1
111
Break Time
Getting Graphical
112
Chapter 5
Monitoring an Application: OpenNMS
After completing this chapter, you will have basic knowledge and understanding of the and concepts can capabilities of OpenNMSs extensible data collection engine.
113
Use Case
Monitoring an Application: OpenNMS
By the end of this combined course, OpenNMS will be securely congured and dependent on multiple system and application components: Java VM, Apache HTTPd, and Linux system resources (CPU, disk, etc.) Provide performance graphs of each of these critical components for trending and analysis.
114
Enable Apache:httpd w/ mod_status on your NMS Congure HTTP style data collection for Apache HTTPd stats. Congure Apache:httpd performance graphs Modify the provisioning requisition from Chapter-1 to include the HTTP, OpenNMS-JVM, OpenNMSLogin services. Create KSC Report for HTTP and OpenNMS Login service response times, HTTP collected Apache:httpd stats, System CPU and Disk Resources, and OpenNMS JMX statistics.
115
capsd-conguration
<protocol-plugin protocol="OpenNMS-Login" class-name="org.opennms.netmgt.capsd.plugins.HttpPlugin" scan="off" user-defined="false"> </protocol-plugin>
117
poller-conguration
<service name="OpenNMS-Login" interval="300000" user-defined="true" status="on"> <parameter key="retry" value="1"/> <parameter key="timeout" value="5000"/> <parameter key=port value=8980 /> <parameter key=url value=/opennms/login.jsp /> <parameter key="rrd-repository" value="/opt/opennms/share/rrd/response"/> <parameter key=rrd-base-name value=opennms-login /> <parameter key="ds-name" value="opennms-login"/> </service> ... <monitor service="OpenNMSLogin" class-name="org.opennms.netmgt.poller.monitors.HttpMonitor"/>
118
response-graph.properties
report.opennms-jvm.name=OpenNMS-JVM report.opennms-jvm.columns=opennms-jvm report.opennms-jvm.type=responseTime, distributedStatus report.opennms-jvm.command=--title="OpenNMS JVM Response Time" \ --vertical-label="Seconds" \ DEF:rtMills={rrd1}:opennms-jvm:AVERAGE \ DEF:minRtMills={rrd1}:opennms-jvm:MIN \ DEF:maxRtMills={rrd1}:opennms-jvm:MAX \ CDEF:rt=rtMills,1000,/ \ CDEF:minRt=minRtMills,1000,/ \ CDEF:maxRt=maxRtMills,1000,/ \ LINE1:rt#0000ff:"Response Time" \ GPRINT:rt:AVERAGE:" Avg \\: %8.2lf %s" \ GPRINT:rt:MIN:"Min \\: %8.2lf %s" \ GPRINT:rt:MAX:"Max \\: %8.2lf %s\\n"
119
http-datacollection-cong
120
collectd-conguration
<service name="HTTP" interval="30000" user-defined="false" status="on"> <parameter key="collection" value="apache-stats"/> <parameter key="thresholding-enabled" value="true"/> </service> ... <collector service="HTTP" class-name="org.opennms.netmgt.collectd.HttpCollector"/>
121
snmp-graph.properties
report.apache.server-status.request-rate.name=Apache HTTPD Average Request Rate report.apache.server-status.request-rate.columns=apacheAccesses,apacheUptime report.apache.server-status.request-rate.type=nodeSnmp report.apache.server-status.request-rate.command=--title="Apache HTTPD Average Request Rate" \ --vertical-label="Requests / sec" \ COMMENT:"Note\\: Rate calculated since HTTPD last started\\n" \ COMMENT:"\\n" \ DEF:req={rrd1}:apacheAccesses:AVERAGE \ DEF:time={rrd2}:apacheUptime:AVERAGE \ CDEF:rate=req,time,/ \ AREA:rate#0000ff:"Requests" \ GPRINT:rate:AVERAGE:"Avg \\: %8.2lf" \ GPRINT:rate:MIN:"Min \\: %8.2lf" \ GPRINT:rate:MAX:"Max \\: %8.2lf\\n"
122
snmp-graph.properties
123
snmp-graph.properties
report.apache.server-status.uptime.name=Apache HTTPD Uptime report.apache.server-status.uptime.columns=apacheUptime report.apache.server-status.uptime.type=nodeSnmp report.apache.server-status.uptime.command=--title="Apache HTTPD Uptime" \ --vertical-label="Days" \ DEF:sec={rrd1}:apacheUptime:AVERAGE \ CDEF:days=sec,86400,/ \ AREA:days#0000ff:"HTTPD Uptime" \ GPRINT:days:AVERAGE:"Avg \\: %8.2lf" \ GPRINT:days:MIN:"Min \\: %8.2lf" \ GPRINT:days:MAX:"Max \\: %8.2lf\\n"
124
snmp-graph.properties
125
Restart
Monitoring an Application: OpenNMS
126
KSC Reports can contain graphs from any resource Use the Report builder to create a report with data from SNMP, JMX, and Apache:
System Swap (Net-SNMP via SNMP Collector) OpenNMS Login Response Time (HTTP Login via Poller) Apache CPU Load (Apache CPU via HTTP Collector) OpenNMS JVM Memory Usage (JVM via JMX Collector) CPU Statistics (Net-SNMP via SNMP Collector)
128
(cont)
129
A Quick Break
Monitoring an Application: OpenNMS
130
Lab 1
Monitoring an Application: OpenNMS
131
132
Break Time
Monitoring an Application: OpenNMS
133
Chapter 6
Generating Reports
The Pointy-Haired Boss wants the data that OpenNMS produces but wants it to look pretty. Enter database reports.
134
iReport
Database Reports
JasperReports is an open source database reporting tool. The iReport application will allow you to create .jrxml les that can be imported directly into OpenNMS.
135
iReport - starting
Database Reports
136
137
138
139
140
Fields
Database Reports
141
Details
Database Reports
142
Dene Headers
Database Reports
142 143
Add a Chart
Database Reports
Create Variables
Database Reports
142 145
Unique Event Identifier (UEI) uei.opennms.org/nodes/nodeLostService uei.opennms.org/syslogd/auth/Info uei.opennms.org/nodes/nodeRegainedService uei.opennms.org/syslogd/unknown facility='10'/Warning uei.opennms.org/internal/promoteQueueData uei.opennms.org/nodes/nodeDown uei.opennms.org/vendor/powerware/traps/accessViolationHTTP uei.opennms.org/nodes/nodeUp uei.opennms.org/troubleTicket/update uei.opennms.org/nodes/dataCollectionFailed
Count 19569 11212 8740 5129 4182 2235 2118 1490 953 637
Warning
nodeRegainedService
Info
146
Break Time
Monitoring an Application: OpenNMS
147