Many freeware IT monitoring tools are great but using them to manage complex systems can be a real challenge. It can also be unforgiving on anyone less than expert in configuring the system with mistakes being punished by a complete stop in monitoring activity.
This post summarises the work involved to successfully monitor your ESX environment using Opsview and the vSphere SDK for Perl. Continue reading »
In our recent Opsview Customer Survey we asked for feedback on specific features we were considering for the product roadmap. This had a direct influence on our plans as I’m hoping to illustrate in this article. Opsview Customer Survey Results
The features below scored highest so I’ll describe how we’re planning to address them… Continue reading »
With Opsview, we’re always looking at how to improve performance. We have some users with really large systems, so getting the best out of Opsview is imperative to the user experience.
One thing we’ve done is to create post reload helper tables. As all status data is stored in a MySQL database – and our status views need to query the database – this is one part that needs to work fast and efficiently.
We tried some initial queries to get summarised status data across 10000 services, grouping results by host groups and separated out into handled and unhandled services. This used to take 30 seconds to run, which is clearly unacceptable. With our helper tables, this reduced the query time down to 0.4 seconds! Continue reading »
This post assumes a basic knowledge of SNMP and describes MIB-II OIDs that are handy for monitoring network devices – mainly switches and routers. These OIDs should be present on all SNMP capable devices.
.iso.org.dod.internet.mgmt.mib-2.system.
sysName.0
String containing system name, if configured. Useful for working out which device you are querying.
.sysLocation.0
String containing system location, if configured. Again, useful for working out which device you are querying.
.sysUpTime.0
System uptime in 1/100 of a second. Useful for detecting recently restarted equipment. This counter is actually from the time SNMP was started but usually this is analogous to system uptime.
NOTE: For the following OIDs <int> is a integer corresponding to the interface number. So to find the description of interface three you need to query ifDescr.3
.ifDescr.<int>
String containing interface description, eg:
- FastEthernet0/1
- Serial0/2
- Loopback0
.ifType.<int>
Similar to ifDescr Gives more specific technical information on interface. Eg:
- ethernetCsmacd
- frameRelay
- softwareLoopback
A full list of interface types can be found here:
http://www.iana.org/assignments/ianaiftype-mib
.ifSpeed.<int>
Speed of interface in bits per second.
.ifOperStatus.<int>
Operational status of interface – up or down. Whether the interface is actually connected or not.
.ifAdminStatus.<int>
Administrative status of interface – whether the interface has been configured to be up or down. (For Cisco: shutdown / no shutdown)
.ifInUcastPkts.<int>
Number of inbound unicast packets received. An entry also exists for outbound packets: ifOutUcastPkts. For traffic statistics it is necessary to monitor the change in this value over time.
.ifInErrors.<int>
Total packet errors for this interface. Again, an equivalent entry also exists for outbound packets: ifOutErrors.
.ipInReceives.0
Total number of received IP packets
.ipInHdrErrors.0
Inbound IP packets discarded because of errors in header.
.ipInAddrErrors.0
Inbound Ip packets discarded because of addressing issues.
.ipInDiscards.0
Inbound IP packets discarded for other reasons (not header or address)
.ipOutNoRoutes.0
No route to host. High values indicate a routing issue.
And that is just about it…


Opsview is a leading Open Source application and network monitoring suite. Labs is where our engineers discuss new projects, new approaches and new frameworks they’re using.
Recent Comments