Introduction#

This is an abridged version of the Observium development changelog. Since Observium's Agile development pace is very rapid, we filter out minor changes to keep the very large list of changes list manageable.

This is usually updated once or twice per month. There is also an unformatted live version of the changelog.

Historical Graphs#

Changelogs#

June 2016 ( 48 commits )#

  • r7901 to r7949

May 2016 ( 98 commits )#

  • r7793 to r7900

April 2016 ( 74 commits )#

  • r7717 to r 7793

March 2016 ( 79 commits )#

  • r7635 to r7716

February 2016 ( 79 commits )#

  • r7544 to r7635

January 2016 ( 149 commits )#

  • r7386 to r7543
  • Observium CE 0.16.1 released

December 2015 ( 160 commits )#

  • r7225 to r7385

November 2015 ( 75 commits )#

  • r7149 to r7224

October 2015 ( 75 commits )#

  • r7058 to r7149

September 2015 ( 91 commits )#

  • r6934 to r7057

August 2015 ( 131 commits )#

  • r6802 to r6933

Device Support#

  • Added support for DDN SFA devices
  • Added support for user/device license graphs for Mitel devices
  • Added support for Rittal CMC devices including water flow rate sensors
  • Added support for failover status sensors on Cisco ASAs
  • Added support for Netgear ReadyDATA OS temperature and fanspeed sensors from READYDATAOS-MIB
  • Added support for Netgear ReadyNAS temperature and fanspeed sensors from READNAS-MIB
  • Added support for discovery and polling of PSE and power usage statistics on PoE switches from POWER-ETHERNET-MIB
  • Added support for fanspeed and voltage sensors on Zyxel IES devices
  • Added detection of Windows 10
  • Added discovery of FiberRoad Media Converters
  • Added discovery of IBM Flex switches
  • Added discovery of Mikrotik SwOS devices including blacklisted MIBs
  • Added discovery of Uniquiti UniFi switch
  • Added discovery of older Netgear ReadyNAS devices
  • Added discovery of additional newer Net Insight NIMBRA devices
  • Added discovery of Moxa NP6000 devices
  • Added support for transciever statistics from Cyan devices
  • Added support for additional transciever statistics from Cyan devices via Cyan's GEPORT and TENGPORT MIBs
  • Added polling of AAA sessions to Cisco IOS devices
  • Added discovery and detection of multiple D-Link devices including improved IPv4 address discovery
  • Added support for per-AFI/SAFI counters from ARISTA-BGP4-MIB on Arista EOS

Alerting and Grouping#

  • Multiple alerting cleanups
  • Automatically regenerate groups during discovery
  • Added ability to suppress sending of graphs in alert emails
  • Added dropdown menu to alert table allowing multiple different view options
  • Added some additional per-entity type graphs for alert notification emails

Major Additions#

  • Added ability to globally enable/disable MIBs via a new web interface
  • Completely removed old DB abstraction code and switched to new code, still using mysql module as default
  • Add ability to define individual models in a family of devices without requiring separate OS types
  • Clean up and restructure CLI tool output greatly improving readability including tabular output ability
  • Added per-entity user permissions for sensors
  • Added housekeeping module to remove stale entries from the database
  • Rewritten VM system: database table restructuring, rewritten VMware poller, add agent application for Proxmox VE KVM VMs and support for autodiscovery of new VMware and Proxmox VMs

UI Improvements#

  • Improvements to device discovery/poller performance page, now showing the standard 4-graphs-row
  • Numerous improvements to CEF pages
  • Removed several old non-sprite PNG icons from the top navbar
  • Added state marker to toner overview and improve percent bar legability
  • Fixed display of contact usage counts on contacts page
  • Added status to contacts table and UI
  • Added update notification to Web UI
  • Added ability to export device data from the device data tab
  • Added search by device OS to the inventory page
  • Added a check and notification to the web UI detailing Observium's PHP 5.4 requirement
  • Added sorting ability on pseudowires page
  • Moved EIGRP ports page
  • Added UI elements for per-user sensor permissions
  • Added aggregate graphs to device health pages
  • Show warning thresholds in sensor table output
  • Added remote access menu with links for relevant devices
  • Added sysName to device overview data table
  • Added the ability to sort the devices table by some additional fields
  • Improvements to front page minigraphs and micrographs

Additions and Improvements#

  • Added examples to ArubaOS, BDCOM OS and PanOS pollers
  • Improved os/hardware detection for Synology, Digi OS, Digi AnywhereUSB and BDCOM devices
  • Set PHP's default_charset to UTF-8
  • Drop disused table alerts and stop inserting device up/down events into it
  • Added snmp_fix_string() to convert non-UTF-8 characters from SNMP output for some oids
  • Added caching for queries to global and device attributes tables
  • Removed UCD-SNMP-MIB from default os definition
  • Improved polling for generic device stats from UCD-SNMP-MIB and HOST-RESOURCES-MIB
  • Added common function __autoloader() and moved many classes to be autoloaded
  • Improved print_versions() on the commandline
  • Skip polling of snmpEngineTime / snmpEngineID for SNMPv1 devices
  • Cleaned up Fortigate OS poller output
  • Changed some device's default types to wireless
  • Don't suppress IPMI events
  • Added netscaler mapping for RANCID
  • Correctly use entPhysicalDescr where it exists

Bugfixes#

  • Fixed deletion of removed Netscaler virtual services
  • Fixed trivial issues in print_fdbtable()
  • Fixed trivial issues in WMI storage poller
  • Fixed some UTF-8 display issues
  • Fixed incorrect discovery of fan statuses in FOUNDRY-SN-AGENT-MIB
  • Fixed discovery of TSL devices
  • Fixed caching of remote ports on pseudowires page
  • Fixed discovery of IPv4 arresses for devices which don't report the network mask
  • Fixed collection of device polling stats
  • Fixed port's ifLastChange collection
  • Fixed FDB table polling
  • Fixed some issues with rrdtool command parsing on newer rrdtool versions
  • Fixed defunct processes in rrdtool_pipe_close() with newer php versions
  • Fixed billing page search function
  • Minor fixes to generic_multi_simplex_separated graph type
  • Remove old alerts table from cleanup functions
  • Fixed checkbox form element in generate_form_element()
  • Fixes to permissions array generation code and permissions query generation code
  • Fixed FDB table updating
  • Fixed filename generation in Munin graphs system
  • Fixed correclty setting dot3stats rrd filename
  • Fixed default notification configuration format in config.php.default
  • Added OID to cache list for apc, works around firmware issue on APC AP9631 - can walk but not snmpget sensor port 2 when port 1 is not connected

MIBs#

  • Added DDN MIBs

SQL#

  • Add an additional field to the alert-state table and shrink unixtime fields by one digit

Debugging#

  • Added more detailed information about location rewriting in debugging output
  • Added charset information to CLI debugging output
  • Fixes to r()

July 2015 (262 commits)#

  • r6539 to 6801

Device Support#

  • Added support for C&C Power devices, including battery and rectifier statistics and device alarms
  • Added support for Bridgewave
  • Added support for Greennet / GCOM devices, including processor and memory pool collection
  • Added support for Eltek
  • Added support for microsens generation 6 devices
  • Added support for HiveOS, including versions and hardware
  • Added support for SAF Tehnika, including polling and graphing of p2p/fixed radio interfaces
  • Added support for Teracom Ethernet I/O controllers, including current, frequency, humdity and voltage sensors
  • Added support for IBM tape library
  • Added support for Dell Compellent including sensors and states
  • Added support for ADVA FSP150
  • Added support for Raiscom/ISCOM/ROS devices
  • Added support for Firebrick devices, including graphing of sensors and L2TP sessions and tunnels
  • Added support for Zhone ZNID
  • Added support for D-Link devices, including per-model MIBs for many models
  • Added support for additional LANCOM models with per-model MIBs
  • Added support for GTA GB firewalls, including graphing of connection statistics
  • Added support for Netgear ReadyDATA
  • Added support for Ubiquiti EdgeMax
  • Added support for Ubiquiti EdgeSwitch, including temperature sensors and status indicators.
  • Added new device type for Sonicwall SSL VPN devices
  • Added support for Data Domain devices, including sensors from DATA-DOMAIN-MIB
  • Added improved detection of Cisco SMB devices

Alerting#

  • Added ability to export alert checks and groups as template
  • Added ability for override alert/group/notification templates by user templates
  • Alerting UI improvements

Major Additions#

  • Support authentication by CAS
  • Added multiple new functions for processing template files and xml data with unit tests.
  • Migrated Cisco-specific SLA discovery/polling to multi-vendor infrastructure. Added support for DISMAN-PING-MIB and JUNIPER-PING-MIB.
  • Support for nested LDAP/AD groups
  • Added support for p2p/fixed radio enumeration including new entity type, associated definitions and graph types

UI Improvements#

  • Improve SLA/RTT UI
  • Improve toner page display
  • Hide non-useful menu items from unprivileged users
  • Add colourisation to packages table
  • Added mouseover tooltip with current user IP and info about previous session
  • Added view for the last 10 login attempts on user preferences page. IPs partially hidden for non-priveleged users
  • Update billing navbar code
  • Improvements to UI for SLA and BGP pages
  • Add eventlog view to group system
  • Improvements to memory pool, storage and toner tables
  • Minor improvements to alert_log and port pages
  • Many minor HTML fixes and improvements
  • Add global IPSLA page
  • Hide "suppressed" alerts from alerting table "failed" view
  • Allow sorting on FDB and ARP tables
  • Pages "Add group" and "Add alert checker" converted to use generate_form_element()
  • Make ignore button more descriptive in device properties page
  • Improve UI slightly in widescreen mode. Add a third column to widescreen device overviews
  • Add Alert Log and Alerts list to device overview
  • Remove "swap" rows from UCD overview pane and added it to the memory row
  • Split off AJAX search functions into separate parts and improve code to return data arrays instead of HTML
  • Added some new sprite icons and change some navbar icons
  • Added status markers to additional overview sections
  • Improved data display in several overview sections
  • Added ability for entity_link() to return short entity names for shorter, tidier links where needed
  • Improve some graph colour schemes
  • Multiple inprovements for SLA pages/graphs
  • Added sorting ability on SLA and status pages
  • Added filters by Group and Owner to global SLA page
  • Added filter by Physical Class on Status page
  • Set aggregated processors overview links to have mouseover of the last processor in the aggregate
  • Synched sensors page view to be match status and sla. Added last sensor change info
  • Minor improvements to groups page. Sort groups alphabetically by group name
  • Allow showing of all sensors by using metric=sensors. Use this for links on the front page

Additions and Improvements#

  • Added Varnish application support via unix-agent
  • Added application to collect data from NFS kernel server on Linux via the unix-agent
  • Added status sensors for Power Source, Battery Status, Battery Charge and Diagnostics from UPS-MIB
  • Added discovery for temperature/humidity sensors on W&T devices by WebGraph-Thermo-Hygrometer-US-MIB
  • Added global device statistics for A10 devices
  • Added PoE MIBs to certain OSes and OS groups
  • Added Juniper SRX SPU MIB collection and graphing
  • Added additional NETAPP-MIB collection and graphing
  • Added support for sensors on Huawei VRP platform from Huawei entity mibs
  • Allow configuration of dn field, used for nested groups. AD users beware: you need to set this to 'distinguishedname' - default 'dn' is OK for regular (Open)LDAP
  • Added support for Dell IDRAC-MIB sensors
  • Added status_name_uptime metric for status sensors
  • Added sensor_event_uptime metric for sensors
  • Added support for system fan, HD state and temperature, sensors on QNAP devices
  • Added ability to identify Windows 10 systems and added new Windows 10 icon
  • Added boolean return status for rrdtool commands (as global var $rrd_status). Added option for debug rrd errors $config['rrd']['debug']. Some prettify debug out for all rrd commands
  • Added discovery of stack status via CISCO-STACKWISE-MIB for Cisco stackable devices
  • Improved and expanded Fortinet hardware identification
  • Improved and expanded Brocade IRonware hardware identification
  • Added better CPU graph for devices with UCD-MIB. Uses all values returned from the device, importantly adds IOWAIT time
  • Added stale entry removal capabilities to the housekeeping tool
  • Improved IBM AIX detection for os/version/features
  • Improved hardware/version detect on Ubiquiti Unifi
  • Added per-model definitions for hardware names and MIBs

Minor Improvements#

  • Updated detect os for DD-WRT and OpenWrt
  • Cleaned up some iftype rewrites
  • Renamed get_form_element() to generate_form_element(). Added new form element types in generate_form_element() - textarea, checkbox, switch.
  • Definition cleanups
  • Rewritten US date formatting function
  • Added new date_stamp configuration option
  • Cleanup permission queries in ajax search
  • Minor changes to table poller
  • Switch to using names from ENTITY-MIB for VRP sensors
  • Allow non-numeric SLA indexes
  • Add ability to poll processors which return idle instead of utilisation
  • Split sensors and status definitons
  • Use ifName for Calix devices since they seem to randomly return different things for ifDescr
  • Improved detect some OSes (Cisco NX-OS, Eltek, Vyatta OS)
  • Update version check to understand different trains (ce, stable, current)
  • Save last housekeeping (general and per-module) run timestamp
  • Minor improvements to entity popup validation code
  • Correctly detect QNAP serial number
  • Move is_ssl to common.inc.php, change some include to include_once to resolve duplicate includes
  • Set minimum user level as 8 for allow view rancid configs (global read ++)
  • Clean Wrong Type strings from snmp_get() and snmp_multi_get() outputs. NULL value from snmp output interpreted as empty string.
  • Added new os definitions option $config['os'][$os]['ifDescr'] with processing list of regexps for ifDescr
  • Do not discover stack statuses for Cisco devices if not really configured on device (since on IOS 15.x it always enabled and can not be disabled for single device)
  • Non critical speedup in dbEscape()

Bugfixes#

  • Fixed display rebooted device statuses on overview page (additionally check rebooted events)
  • Fixed db error "Illegal mix of collations"
  • Fixed caching ports info on device ports page
  • Fixed rrd filename in wmi storage poller
  • Fixes to sensors on netmanplus
  • Fixed link for sensor table mini-graph
  • Fixed reset pagesize from session
  • Fixed alert check condition editing
  • Fixed comparing floats where one may be negative
  • Fixed displaying of APC date format
  • Removed useless output from snmp_get_multi()
  • Do not change result lat/lon for reverse geolocation queries
  • Changed entity to entity_type in base template options
  • By default export templates as human formatted XML
  • Fixed db query in ajax search sensors
  • Fixed some OS type definitions to not just be vendor names
  • Fixed sorting by location on devices page
  • Fixed ability to go directly to requested page after login
  • Fixed email X- headers order
  • Fixed generate_tooltip_link() and overlib_link(), set empty links unclickable
  • Fixed status event logs
  • Correctly detect db schema version in web interface notifications
  • Fixed discovering temperature sensor for Cisco WLC VM
  • Fixed device ports page includes
  • Deduplicated some sysObjectIDs
  • Fixed caching in NetApp storage poller
  • Fixed display of zero sensor values
  • Fixed display of Observium version's date
  • Fixed display of sensor thresholds
  • Correctly set device type on windows, which wasn't setting for some reason.
  • Fixed discovery of storage for Netapp cluster devices
  • Fixed discovery of duplicate storage entries on some junos devices
  • Fix frontpage module after sensors change from 'up' to 'ok'
  • Fixed toggle port properties on device ports edit page
  • Fix documentation link for geocoding settings
  • Fixed detection of airos/unifi devices
  • Fixed detection of some Cisco APs
  • Fixed non critical poller/snmp issues

MIBs#

  • Add Net Insight MIBs
  • Add Casa MIBs
  • Add BDCOM MIBs
  • Add Proxim MIBs

Database#

  • Removed all legacy latin1 collation in db schema and replaced with utf8
  • Added MIB/Object fields to sensors and status. Remove disused sensor_divisor field
  • Added option to processors to allow idle collection
  • Renamed dbSchema table to observium_attribs for future use; store remote latest version in DB
  • Add some new fields to mempool, storage and processors tables

Debugging#

  • Added php/mysql timezones info and system date to cli debug/version output
  • Emit message when running discovery -u and database was already up to date

June 2015 (115 commits)#

  • r6423 to r6538

API#

  • Added initial in-progress API code. Currently has support for devices, ports and alerts

New Device Support#

  • Additional support for Ruckus WiFi device polling
  • Added Lancom c54g discovery and OS definition
  • Added basic support for Rittal CMC
  • Added basic support for Cisco ADE
  • Added support for Racktivity AC2Meter
  • Added global module temperature sensor for ES-RACKTIVITY-MIB
  • Added Kelvin sensors to ES-RACKTIVITY-MIB
  • Added Status indicators for APC UPS: Battery Replace, Diagnostics Results and Last InputLine Fail Cause
  • Added initial support for TSL MDU12 devices
  • Added Netbotz Access PX status sensor support
  • Added detection of hardware/version for Mellanox switches
  • Added Net Insight Nimbra OS detection and icon
  • Improved detect hardware/version for Liebert environmental devices
  • Improved detect sensors and added status sensors by LIEBERT-GP-ENVIRONMENTAL-MIB
  • Added support for Aten PDUs (and basic for other Aten devices). Added discovery sensors by ATEN-PE-CFG. Added Aten MIBs.
  • ZTE ZXR10 Optical Sensors
  • Added support for health/status sensors from DELL-RAC-MIB
  • Added basic Aerohive OS definition and icon
  • Added basic Barracuda Load Balancer definition and icon

Major Additions#

  • Added statistics graphing for WiFi radios
  • Added ability to use mysqli extension for db connections. Moved dbFacile include to definitions.
  • Added new db-specific config options: db_extension, db_port, db_socket, db_persistent, db_compress
  • By default (without config option db_extension) retain old dbFacile code with minimal changes for compatibility
  • Added UNIX Agent, poller and UI code to add support for JVM monitoring (thanks to Krešimir Jurasović)

UI Improvements#

  • Make front page headers clickable
  • Add nowrap to entity field in eventlog
  • Change BGP Idle event to warning
  • Widen date fields for alert table
  • Add ability to display "unknown" neighbours alongside identified neighbours in the detailed print_port_row()
  • Clean up alerting table
  • Move contacts to its own namespace outside of alerts
  • Added additional useful display modes for most entity types in the group system
  • Added inline graph capability for most entity types in the group system
  • Added aggregate graphing capability for most entity types in the group system
  • Extended group menu item adding a sub menu containing configured groups
  • Added a bunch of new multi-port graph types
  • Improved colourisation of storage entity table rows
  • Improved display of ADSL stats in detailed port format
  • Improve display of VRF/VLAN data in port rows
  • Rewritten device sensors overview. Port sensors combined into a common block (should work together with ENTITY-MIB, CISCO-ENTITY-MIB inventory module)
  • Show sensor type on ports/sensors page. Clean up sensor table code a little
  • Improve alert table output. Output formatted table instead of print_r'd array for failed tests. Add historical availability graph to popup
  • Add support for setting minigraph height/width on front page
  • Add support for more aggregate graph types for the base entity types
  • Hide footer when bare URL variable set to yes
  • Improve sensor entity type popup header
  • Added ability to use ajax autocomplete in form input by print_form() and print_search()
  • Added "IP network" field (with autocomplete) in IPv4/6 search form
  • Improved /devices/ status format
  • Minor improvements to global BGP peer page

Additions and Improvements#

  • Improved hardware detect for some HP Procurve devices
  • Added sensor_unit column, currently only used for temperature sensors to handle Kelvin/Fahrenheit
  • Added discovery of Cisco flash storage by CISCO-FLASH-MIB
  • Refactoring of entity table building code. Unified under print_*_table() functions. Use this for global, per-device and group pages.
  • Added detect measured class and entity (mostly ports) for sensors in CISCO-ENTITY-SENSOR-MIB and ENTITY-SENSOR-MIB

Minor Improvements#

  • Added some comments to discovery functions, cleanups, replace use of 'current' variable to 'value' to reduce confusion with actual current
  • Split port "table row" generation to a function and call it instead of the old include
  • Add ability to have teh new alerts table on the front page
  • Add mysqli support to MySQL agent script. Fix MySQL/memcached conflict
  • Use snmpgets by index in storage poller for CISCO-FLASH-MIB (snmpwalk produce high cpu usage on some platforms).
  • Disabled useless per-INSERT transactions, added logging errors for DB INSERT, UPDATE, DELETE. Small improvement for mysqli.
  • Added check ports by ifType in is_port_valid()
  • Added remote_address to links info in CDP if exist
  • Set snmpwalk retries to 0 for vlan discovery on Cisco devices by BRIDGE-MIB
  • Store pre-processed long and short port labels in the database
  • Remove graph descriptions from OS definitions
  • Set some additional OSes to use ifName labelling
  • Added 'state_table' field to entity definitions

Bugfixes#

  • Fixed initial states for status sensors
  • Remove nowrap from short-format eventlog display
  • Fixed locations graph authentication
  • Fixed racktivity discovery initial sensor values
  • Fixed WMI OS Windows version and (null) values
  • Fixed DB INSERTs errors in poller modules ports and mac-accounting for some devices
  • Fixed db queries (tables: ospf_nbrs, users_ckeys, mac_accounting)
  • Fixed db queries in vlans discovery when port not found
  • Allow config.php to set up device_types
  • Fixed discovery links when remote_version is empty
  • Shorten 802.1ad lag name
  • Fixed storage graph printing
  • Fixed percentage sensor graphs
  • Fixed ProxySG version string collection
  • Fixed descriptions for sensors bounded with measured entity when their descriptions are equals
  • Excluded incorrect port sensors in HP Comware with value 2147483647 by HH3C-TRANSCEIVER-INFO-MIB
  • Fixed DB queries in rename and update device array
  • Fixed deletion of OSPF neighbours on deletion of device
  • Fixed sensor minigraph popup and link
  • Fixed to correctly exclude 'ignored' devices from 'down' devices link on the front page

MIBs#

  • Added ES-RACKTIVITY-MIB

Debugging#

  • Added overall devices polling performance tab
  • Added debug info for failed INSERT into DB
  • Output SNMP command before execution

May 2015 (18 commits)#

  • r6404 to r6422

New Device Support#

  • Add HH3C-TRANSCEIVER-INFO-MIB support for DOM stats on HH3C switches

UI Improvements#

  • Raise sensor length from 48 to 50 on device overview page; fixes a long sensor name display issue

Additions and Improvements#

  • Link HH3C-TRANSCEIVER-INFO-MIB sensors to their respective port entities
  • Add python 3 compatibility to poller-wrapper.py

Minor Improvements#

  • Don't count ignored ports as down
  • Optimized regex for recognize some HP model and version
  • Fixed counting and permissions on routing pages (OSPF, CEF, VRFs)
  • Finally fixed device rebooted flag issue based on counters roll over (ie 49 days / 497 days / 68 years)
  • Added function str2hex(). Improved functions hex2ip() and ip2hex()
  • Improved detect mikrotik routeros by sysObjectID

Bugfixes#

  • Correct scales for HH3C-TRANSCEIVER-INFO-MIB
  • Fix missing backtick in query to load existing entry from the database in Cisco CEF poller module
  • Fixed search cbqos ports in ports list

Debugging#

  • Added common function print_versions(). Show version information about used softwares in cli debug output and in extended version info with option -VV

April 2015 (45 commits)#

  • r6358 to r6403

Alerting#

  • Added support for SLA metrics to alerting system

New Device Support#

  • Add support for external enclosure power supply status on Areca controllers
  • Additional support for Ruckus ZoneFlex devices
  • Add specific support for lancom l54-dual wireless and l310 devices
  • Improve LCOS support
  • Improved Alcatel-Lucent TimOS support (processors, mempool, sensors, inventory)
  • Basic A10 AX-series discovery and version/model/serial polling
  • Added basic support for Mitel MiVoice controllers
  • Added more sysObjectIDs for Enterasys devices and Enterasys Wireless Controller
  • Added some more sysObjectID definitions for Cisco WLC
  • Improved detect hardware and version for Allied devices
  • Added basic os detection for Emerson Cyclades
  • Small cleanup hardware/features detect for SmartOptics SmartOS

Major Additions#

  • Improved WiFi infrastructure support

UI Improvements#

  • Port box on device/port/ shouldn't be clickable
  • Rename some AJAX files and update related html/js code
  • Compress several logging search forms to single line forms
  • Small update for print_pseudowires/routing/alert_log
  • Fixed authlog for display Authentication Failure, added saving and display User-Agents in authlog. Improved detect_browser() function, now optional can return array with various data (user_agent, type, browser, platform)
  • Fixed pagination on health status page (OBSERVIUM-1272)
  • Added missing icons for some distros
  • Renamed getImage() to get_device_icon(), moved to html/includes/entities/device.inc.php, added unit test
  • Added common functions get_dir_size() and get_db_size(). Added info about current DB and RRD sizes on about page

Additions and Improvements#

  • Add ability to force rediscovery from the Web UI
  • Improved discovery/polling Cisco SLAs, added specific Jitter and ICMP Jitter graphs.
  • Added ability draw indexed graphs from definitions.
  • Improved distro script for more correct detection some Linux/FreeBSD disto and version

Minor Improvements#

  • Improved timeticks_to_sec() for detect Wrong Type in timeticks counters, updated unit test. Fixed using wrong uptime counter when hrSystemUptime.0 equals to zero (OBSERVIUM-1263)
  • Add trimming of " to SNMP multi get as default
  • Add a short-label field to the ports table for future use
  • Add default trimming of start and end quotes to snmp multiget
  • Strip quotes from snmpgets automatically
  • Sync counting up/down ports on overview page for devices in down state. Ports with ifOperStatus 'notPresent' now marked as deleted (as described in IF-MIB)

Bugfixes#

  • Fixed OID for Areca enclosure power status
  • Fixed usage timeticks_to_sec() when timetick passed as numeric
  • Additionally do not query hrSystemUptime.0 if HOST-RESOURCES-MIB blacklisted or device uses snmp v1 (error: There is no such variable name in this MIB)
  • Fixed discovery pseudowires from PW-STD-MIB, fixed table name for pwIndex.
  • Fixed build_devices_where_array() for generate queries by location_* fields
  • Fixed discovery IPv6 prefix length for JunOS (OBSERVIUM-1271)
  • Escape backslash from location string in frontpage map
  • Fixed counting ports with ifOperStatus#lowerLayerDown as Down (OBSERVIUM-1250)
  • Sync counting ports on overview and ports pages
  • Fixed support IPv4 addresses mapped to IPv6 in syslog collector (OBSERVIUM-1274)
  • Fixed detect os version and hardware for some old Cisco IOS
  • Fixed caching device graphs array in device_by_id_cache()
  • Fixed storage poller caching for UCD-SNMP-MIB
  • Fixed discover correct entry tag for Cisco SLA
  • Fixed recursive detect snmp auth in add_device()
  • Clean empty invalid SLAs from Cisco IOS ># 15.3
  • Suppress sensor added/deleted events for IPMI (OBSERVIUM-959)
  • Always round geo lat/lon same as in DB precision (DECIMAL(10,7))

MIBs#

  • Blacklisted HOST-RESOURCES-MIB for Cisco IOS (XR/XE)
  • Update Calix MIBs to latest version 2.3

Debugging#

  • Added command option -t in add_device.php script for skip adding devices, only test network availability and snmp credentials

March 2015 (16 commits)#

  • r6341 to r6357

Alerting#

  • Add ifHighSpeed into port alert metrics
  • Added device_rebooted into device alert metrics (0 - not rebooted, 1 - rebooted)

UI Improvements#

  • Minor changes to device/wifi pages

Additions and Improvements#

  • Fix BGP state information for v6 sessions, fixes OBSERVIUM-1258
  • Prevent wrong zero for port ifSpeed and ifHigtSpeed on some device platforms
  • Add ability to define from/to times of minigraphs on /ports/ page

Minor Improvements#

  • Changed eventlog severity for device Up event to warning

Bugfixes#

  • Fix new device discovery based on IP
  • Fixed average packet size graphs for interfaces with 64bit counters
  • Do not show port errors on dashboard for ignored ports
  • Fixed HP Procurve platform detect on some devices (OBSERVIUM-1260)
  • Fixed detection some Synology Boxes (OBSERVIUM-1244)
  • Fixed sensors value and limits in MIKROTIK-MIB at discovery-time (OBSERVIUM-1230).
  • Fixed eventlog spammed "device rebooted" when device not have any uptime counter (also do not store uptime graphs for such devices)
  • Fixed resolve hostnames when IPv6 AAAA record can not be obtained

February 2015 (113 commits)#

  • r6227 to r6340

Alerting#

New Device Support#

  • Add initial support for
  • Add support for Trango Apex
  • Add basic OS detection for AXIS video encoder, ShoreTel VoIP and Panasonic printers
  • Add definition for HP iLO 4
  • Add basic os definitions for TP-LINK devices and VyOS (Vyatta fork). Added sysDescr regex for some TP-LINK wireless/switches
  • Add basic os definition for IBM NOS devices (old bnt os converted to imbnos).
  • Add missing poller for PanOS graphs

Major Additions#

  • Split state sensors into separate status entity type. Automatically migrate state sensors to state entities
  • Add ability to create custom alerters as part of the status entity type (Netscaler-HA as first addition)

UI Improvements#

  • Add coloured eventlog
  • Add callouts styles to CSS
  • Fix some spacing in CSS and add borders to alerts
  • Small fixes for CSS, device and pollerlog pages
  • Further merging and simplification of BS2&3. Simplification of table state indicator cell function, now function of CSS. Hardcoded status colours removed
  • Improved applications page (fixed permisiions and sql queries)
  • Sync syslog pages with latest UI changes
  • More CSS/LESS UI tweaking and refactoring
  • Add support for striping to coloured tables
  • Add more entity type icons to alerting pages to remove need to print entity type text, saving space and improving aesthetics
  • Improve OSPF pages, adding state markers, splitting up tables and adding more area information.
  • Remove bottom margin from tables within tables.
  • Improve popups (i.e. they now exist) for non-port/device entities
  • Added more intervals to realtime port graphs. Added minimal realtime intervals for Cisco IOS to definitions
  • Improve sensor and new status display code, add state-marker to more pages
  • Add additional UI escaping. Migrate more GET and POST to vars

Additions and Improvements#

  • Add new entity types for Wireless support: Radios, WLANs, APs and clients.
  • Improved support for graphing of UDP jitter via Cisco IP SLA.
  • Added "Management" device type (for IPMI, KVM, etc)
  • Improved get_device_os(), fixed intersections between more exact matches for sysObjectId in definitions, added basic unit test
  • Poller wrapper improvements:
  • by default used threads equal to CPU count x 2
  • added config option for threads number
  • added check for already running wrapper processes (more than 3, fixed race condition)
  • added logging to observium.log
  • added option for collect poller wrapper statistics about polled devices, threads and total poller time (disabled by default)
  • added graphs for poller wrapper statistics to /pollerlog page
  • Improvements for BGP peers polling/view:
  • polling/discovery bgp-peers converted to MIB-based;
  • added print_bgp() function and use it on view bgp peers pages;
  • improved sql queries for view bgp peers;
  • small fixes, added helper function get_table_header().
  • Migrate from use of "up" to "ok" to mark sensors which are OK

Minor Improvements#

  • Increased discovery speed for devices discovered via discovery protocols (CDP, LLDP, etc)
  • Add new HA State sensor for netscalers
  • Use lldpRemSysDesc for check ignores by bad_xdp_platform in LLDP-MIB discovery-protocols
  • SQL improvements and additional indexes
  • Split HP ProCurve AP to separate os. Fixed hardware/version/serial detect for HP ProCurve
  • Fixed default icon for port
  • Added negative conditions in generate_query_values()
  • Added check for critical mysql errors in update schema db script
  • Added search field by ports on device FDB table page
  • Drop a condition in HH3C-ENTITY-MIB to catch actual sensors on A5120 switches
  • Refactoring of function names to improve readability
  • Rename all SNMP-specific device fields. Modify how devices are added slightly. Improve device adding page.
  • Renamed variables in discover_sensor()

Bugfixes#

  • Fixed polling for IPv6 only hosts when hostname has both A and AAAA records
  • Fix a billing bug where deleted ports would cause duplication of data
  • Fixed rare situation in external_exec(), when proc_get_status() return wrong status before stdout was ended
  • Fixed get bgpLocalAs with 32bit ASN when device return not wrapped Integer32 number
  • Do not call update_device_alert_table() in discovery if module specified in command line
  • Do not show status boxes for errored ports if they are ignored
  • Exclude some special characters for type in custom_port_parser()
  • Fixed AXIS Video Encoder sysDescr regex
  • Fixed show (f*) git diffs for device "show config page"
  • Fixed log event for removed IPv6 address
  • Do not skip bgp peers with idle status
  • Fix BGP peers not ignoring unestablished peers
  • Fixed polling hdarray state sensors from unix-agent
  • Fix Area handling of OSPF poller
  • Fixed empty transport condition in snmp_command()

MIBs#

  • Split some HP MIBs to separate mib files

Debugging#

  • Replaced global var $debug with constant OBS_DEBUG, added more verbose debug level in cmd scripts (by -dd option). OBS_DEBUG now sets in definitions
  • More informative debug output for SQL queries in cli (runtime, affected rows)
  • Show queries error when debug in WUI

January 2015 (77 commits)#

  • r6149 to r6226

Alerting#

  • Add global alert suppression ability

New Device Support#

  • Added support for Trango Apex including support for RSSI as dBm sensor and radio module temperature sensors
  • Added support for Smartoptics M-series
  • Added support for Canon printers and copiers
  • Added detection for D-Link DPR-* print servers
  • Added basic support for Arbor Network products
  • Added Trango Apex polling

Additions and Improvements#

  • Added support for port sensors on MRV kit from NBS-CMMC-MIB
  • Improved sensors support for Socomec Net Vision with SOCOMECUPS-MIB
  • Added Force10 Power Supply state sensors detect
  • Added IT-WATCHDOGS-V4-MIB sensors support
  • Added support for additional APC in-row chillers including latest generation ACRC2G
  • Added linking of MRV nbs-cmmc-mib sensors to their associated port
  • Added F5 BIG-IP sensors discovery by F5-BIGIP-SYSTEM-MIB
  • Improved discovery and polling of ZTE ZXR10 devices
  • Improved pseudowires discovery
  • Added battery runtime sensor for DeltaUPS

Minor Improvements#

  • Correctly map LLDP ids to ports on more device types
  • Improved mysql queries in pages alertlog, eventlog and syslog. Added specific indexes for speedup select using group by
  • Moved detect all Cisco OSes to definitions
  • Blacklist CISCO-EIGRP-MIB for IOS-XR and IOS-XE, because it isn't supported on this platforms and produces snmp timeouts
  • Fixed geolocation. Do not set automatically manual flag and default coordinates. Improved second requests to yandex and mapquest geo api
  • Improved state_string_to_numeric(), now return correct number also if value already numeric.
  • Added live search in select/multiselect form element
  • Improved print_pseudowires()
  • Improved detect windows version, updated windows icons

Bugfixes#

  • Removed erroneous stripping of <*> from cli output
  • Fixed SQL query for LLDP-MIB module
  • Ignore ifType 'propMultiplexor' in device traffic graphs
  • Fixed syslog parsing for Dell FTOS and Cisco IOS-XR devices
  • Fixed parsing syslog on catos and some old IOS
  • Fixed detect Cisco ACS for latest firmwares
  • Fixed caching mempools polling for CISCO-MEMORY-POOL-MIB, CISCO-ENHANCED-MEMPOOL-MIB
  • Show toner level as Unknown for reported level less than -1
  • Fixed 150% toner level
  • Fixed displaying some netscaler graphs
  • Removed duplicate state_string_to_numeric() calls
  • Replaced too old unsupported distro script with new os script
  • Fixed removal of old netscaler vservers
  • Fix some messy CSS and hardcoded margins

MIBs#

Debugging#

  • Added ability to run billing poller without updating the database
  • Added some additional data to billing poller debugging

December 2014 (110 commits)#

  • r6038 to r6148

New Device Support#

  • Added support for Force10 M-series devices including CPU/mem/temperature polling
  • Rearranged Dell DNOS, PowerConnect and Force10 definitions to better match new OS arrangements
  • Improved support for SonicWALL devices, added processor, memory and firewall graphs
  • Added processor and memory polling on Aruba from WLSX-SWITCH-MIB
  • Added support for processor and memory polling on Cisco WLC
  • Added detection for many printer types (LG, Olivetti, Fuji-Xerox, Develop, Sindoh, IBM and more)
  • Added support for BlueCoat ProxyAV appliances including Memory, CPU and some device-specific statistics
  • Added support for FireEye appliances
  • Added definitions for Huawei VSP, Integrated access and add additional OIDs to Huawei VRP

Additions and Improvements#

  • Added support for polling temperature/humidity from liebert-gp-environmental-mib
  • Added more sysObjectIDs for Dell PowerConnect RADLAN and DNOS devices
  • Added ability to use ifDescr in place of ifAlias if vendor uses ifDescr for user-defined descriptions
  • Added all commonly supported MIBs to default OS definition. Added MIB blacklist feature to disable MIBs per-OS or per-OS group
  • Added more sysObjectIDs for Cisco WLC/ACE/UCS devices
  • Use AIRESPACE-SWITCHING-MIB to collect model/version/serial on Cisco WLC devices
  • Added wireless clients graph for Cisco WLC from CISCO-LWAPP-SYS-MIB
  • Added 'notifications' icon and popup to the footer bar. Currently only used for database schema warning
  • Added ability to detect device OS from sysDescr by way of regular expressions
  • Migrated all sysDescr-based OS detection from os-specific includes to OS definitions
  • Added MAC address vendor lookup to ARP/FDB/MAC/Dot11x search pages
  • Added IPv4 and IPv6 to live search box
  • Improvements and updating of billing pages. Move to POST from GET, use navbar functions and allow adding of multiple ports.
  • Improved and rewritten geolocation feature. Added Yandex API. Added additional debugging. Added page to view/edit Geolocation data. Add logging to eventlog. Fixed location detection from DNS LOC records. Migrated location to a separate database table.

Minor Improvements#

  • Use OS definition for device comments
  • Update discover_sensors() to check that sensor value is numeric for non-state sensors
  • Hardcoded fix Cisco ASA ENTITY-SENSOR-MIB sensor scales
  • Expand processor_type database field to 64 characters
  • Use mib_dirs() in OSPF modules
  • Added new functions var_encode() and var_decode() and added unit tests
  • Migrate legacy SQL queries to dbFacile
  • Improved generate_query_values() and added a unit test
  • Add sysObjectID for Gamatronic UPS and set default graphs
  • Fixed RANCID os_map for HP Procurve devices
  • Use conventional traffic graph colours for billing graphs
  • Fix detection of serial for routers like Cisco 720x
  • Clean up Netapps OPs script
  • Added 0.3s delay to AJAX search to prevent flooding and poor UX
  • Fixed diff'ing of RANCID configs using SVN < 1.8
  • Improved discover_sensor(), moved multiplication value by scale into function
  • Added more Brocade rewrites
  • Improved print_message(), added unit tests.

Bugfixes#

  • Fixed ability to ignore comments when displaying RANCID configurations
  • Don't collect OutputFrequency and BypassFrequency from UPS-MIB if they don't actually exist
  • Fixed caching in memory/storage modules for HOST-RESOURCES-MIB
  • Fixed Riverbed Steelhead not being recognised correctly
  • Fixed HUAWEI-ENTITY-EXTENT-MIB's overly long descriptions
  • Fixed correctly processing UCD-SNMP-MIB before HOST-RESOURCES-MIB
  • Fixed oberriding of sysLocation from database
  • Always set environmental locale to EN
  • Fixed overall_traffic graphs
  • Fixed detect temperature sensors for audiocodes AC-SYSTEM-MIB
  • Fixed cleaning up of sysObjectID, sysContact, sysDescr and sysLocation if they are removed from a device
  • Fixed polling/discovery sensors for some devices which return numeric data with spaces and commas. Added snmp_fix_numeric() with unit test.
  • Fixed $snmp_status when snmpwalk returns 'End of MIB'
  • Suppress empty DIVs on alert regeneration pages
  • Fixed ability to delete group associations
  • Implemented workaround to translate Juniper fake VLAN Ids in Q-BRIDGE-MIB to real VLAN Ids
  • Fix HP detection regexp
  • Rewrite more Nortel ifNames
  • Fixed detect device rancid revisions when timezone negative.

MIBs#

  • Update Cisco AIRESPACE- and LWAPP- MIBs to latest

Debugging#

  • Added memory usage info to poller/discovery modules
  • Show stderr message on external_exec() when exit code not 0
  • Added additional debugging to get_geolocation()

November 2014 (112 commits)#

  • r5925 to r6037

Alerting#

  • Add ifInBits_rate and ifOutBits_rate to port alert metrics

New Device Support#

  • Added basic support for Enterasys devices, mainly an icon + ifName override
  • Added support for APC Universal I/O environmental sensors
  • Added basic support for Patton Smartnode VoIP Gateways
  • Added basic Cisco Meraki devices support
  • Added multiple basic os detection and definitions: Nexsan NST, Cisco Cerent ONS, Cisco Prime LMS, Cisco Secure ACS, Room Alert 4E and PicOS (Pica8 for Open Switches)
  • Added support for Riverbed Steelhead and Stingray/Steelapp ZeusTM based devices
  • Added basic recognition for WePresent hardware
  • Added basic Opengear support
  • Added support for Dell DNOS switches
  • Added detection for additional Cisco Small Business switches
  • Added detection for more OpenGear devices and add support for OpenGear sensors
  • Added basic support for Actelis devices

Additions and Improvements#

  • Add ignore_common_subnet option, which allows you to specify (exact) subnets that should not be considered for the 'other ports on same subnet' displayed in the port listing
  • Rewrite SW-MIB polling
  • Added latest brocade MIBs, fixed mib_dirs() for NS-ROOT-MIB and SW-MIB
  • Added power supply state sensors for NS-ROOT-MIB
  • More CISCO-ENVMON-MIB sensor ignore for duplicated sensors or with empty description
  • Added Netscaler HA pair state sensor
  • Added CHECKPOINT-MIB HA state sensor
  • Detect more Juniper Trapeze. Added UBNT-MIB
  • Added HP-ICF-CHASSIS state sensors
  • Added config option $config['rancid_version'] to allow generate Rancid v3 router.db
  • Added Equallogic disks state sensors for EQLDISK-MIB
  • Support external enclosure sensors on Areca RAID controllers
  • Added discovery sensors for ROOMALERT4E-MIB
  • Allow to use git-enabled repos in show device config page (aka rancid-git). For enable require add in config path to git cmd: $config['git'] # '/usr/bin/git';
  • Added support for mib_dirs directive for OS types.
  • Added discovery OpenBSD sensors for OPENBSD-SENSORS-MIB
  • Added discovery power and line attenuation sensors for Adva Optical DWDM
  • Added max port speed config setting, used when creating RRD files. No way to update existing RRDs for now
  • Filter device page graphs and minigraphs by per-device known graphs list. Solves 'Error creating graph' error and makes it easier to write OS definitions
  • Added single-device 'alert log' to the per-device logs section

Minor Improvements#

  • Escape remote input better to avoid html injection on the webpages
  • Added rrdtool_add_rra function using rrdtoolx
  • Ignore sensors on virtual NetScaler devices
  • Add vm entity for eventlog
  • Optimize generate-rancid script
  • Exclude duplicate ports status if neighbor detected over multiple discovery protocols
  • Improved log_event(), added info about who added/changed device
  • Added option for enable/disable escape text in functions overlib_link(), generate_entity_link(), generate_link(), generate_device_link(), generate_port_link(), generate_ap_link()
  • Split up CPQIDA-MIB and CPQHLTH-MIB sensor polling, they were erroneously coupled
  • Cleanup OS definition layout
  • Cleanups of old file/variable rename/compatibility code
  • Use graph_types definitions for minigraph/popup graphs, restructure long description to fit into the same system
  • Restore some poller graphs (uptime, snmp ping, icmp ping)
  • Don't refresh if we're not logged in
  • Updated and improved rewrite_entity_name()
  • Added function print_obsolete_config() to show warnings about obsolete and deprecated configuration settings in config.php

MIBs#

  • Updated MIBs for Dell iDRAC to 7.4
  • Added missing MIBs CAMBIUM-PTP800-V2-MIB, MOTOROLA-PTP-MIB

Bugfixes#

  • Move PEAR includes from functions to definitions so they can be used there
  • Set default of 15 seconds for realtime graph for a few Linux derivatives
  • HTML and other minor fixes
  • Small poller/discovery fixes
  • More generic sysObjectID for Patton Smartnode
  • Fixed CISCO-PROCESS-MIB mempools precision
  • Fixed potential XSS when view rancid configs
  • Fixed incorrect snmp_dewrap32bit()
  • Replaced Mikrotik logo to something a bit less ugly
  • Check for enable_syslog on device 'logs' page
  • Fixed "unsupported operand types" in netstats poller module
  • Function nicecase() moved to global rewrites.inc.php
  • Fix min/max RRA graph definition settings
  • Fixed 32bit ASN for discovery/polling BGP4-MIB. Added unit test for snmp_dewrap32bit()
  • Fixed DB schema for 4-byte ASN
  • Fixed scale for temperature sensors in Sentry3-MIB
  • Add bundle-ether rewrite to rewrites
  • Get rid of 'MAC changed from/to 00:00:00:00:00:00' messages in event log for new/disappearing MACs. Code compared to " but due to translation above it, empty macs got set to all-zeroes.
  • Fixed get_port_by_id_cache()
  • Fixed multi_* graphs by using array/implode instead of $separator fixing some bugs with unset separators
  • Fixed LLDP port association on HP switches
  • Added Brocade 6910 switch name to rewrites
  • Fix Netscreen and Adtran memory pollers by passing MIB name correctly

Debugging#

  • Fixed snmp hide_auth option when snmp context specified in cmd.
  • Made more web debugging output human readable

October 2014 (74 commits)#

  • r5850 to r5924

Major Features and New Devices#

  • Added and improved support for Check Point Embedded and IPSO devices
  • Added OS detection for InfoBlox
  • Added Cambium Canopy support ** Added basic support for Cambium PTP400/600 and PTP800
  • Added basic support for MRV Fiberdriver (and others?) using NBS mib family
  • Added Mellanox OS definition and logo

Additions and Improvements#

  • Updates and improvements to the definition-based SNMP collector function, collect_table()
  • Move per-mib/table collection to array + foreach loop containing function call. Means definitions can be loaded without being triggered
  • Add support for config storage and ngx os info from embedded-ngx-mib
  • Convert Bluecoat collection and graphing to new table-based poller with two RRDs. ICAP-MIB implementation is broken and needs instance-aware polling, so will be removed
  • Allow support of multiple LDAP servers listed in an array. Luckily, ldap_connect already supports this for us
  • Finally fix missing MIN RRA on various system graphs for veteran installations with fairly old devices. Fixes load average, process count, user count, context switches, interrupts.
  • Add Impedance sensor type with omega/ohm icon
  • Add device array dump data page. Protect this and the existing port dump data page by user level

Minor Improvements#

  • Use rewrite_entity_name() for processor description in HOST-RESOURCES-MIB
  • Do not set stdout to FALSE when stderr not empty in external_exec()
  • Fixed simple_template(), if {{var}} not exist in keys, remove it from template.
  • Add support to automatically determine LDAP server list from AD SRV records
  • Specify HOST-RESOURCES-MIB in Synology DSM detection
  • Move Cisco loadbalancer modules to 'loadbalancer' module with mib-type support
  • Add sysObjectID for Powerconnect 6024 to radlan
  • Fix date display format in several places in the billing system
  • Added ability for enable debug in poller-wrapper (DANGER!)

Bugfixes#

  • Removed extra output from snmp_get_multi()
  • Small fixes for polling NS-ROOT-MIB, EMBEDDED-NGX-MIB
  • Fixed display crossbar overview for Cisco 6k/7k, do not show non fabric channels (#1033)
  • Fix 'require all' alerter condition setting upon alert creation
  • Reset geolocation when device location changes
  • Don't set auth_ldap_ad_domain by default
  • Fixed sometimes get wrong exit status in external_exec()
  • Fixed get current revision in stable branch with old svn
  • Fixed very rare situation when stdout is ended before got correct status exitcode in external_exec()
  • Use wildcard sysObjectID for NetApp os definition
  • Strip slash char from the end of config options *_dir
  • Remove base_url from default config, it should be left alone to set up a base install of Observium unless doing very advanced things
  • Fixed use $_SERVER['SCRIPT_FILENAME'] when used symlinks to observium dirs.
  • Fixed MySQL agent script ignores mysql_host config
  • Exclude DB entries with empty device_id or port_id in generate_query_permitted() (this is unclean entries)
  • Exclude empty netscaler IPs in print_addresses()
  • Fixed snmp hide_auth config in debug output with timeout/retries options. Returned global $debug in snmp_get_multi
  • Resize some icons to better fit our sizing policy
  • Fix alerting on ignore_until_ok
  • Add -u option to discovery help output

Debugging#

  • Show last snmp_status for all snmp function calls in debug output.

September 2014 (116 commits)#

  • r5733 to r5849

Alerting#

  • Add alerting log and availability tracking using RRD
  • Add per-entity alert log to device/port/ page
  • Improved transport email in alerts. Use test_mail.php for check options and work email transport. email options migrated to $config['email'], old options still works, but will be removed later email now uses MIME parts for html/text messages emails now fully RFC compilant and spam systems detect mails as clean (ham) fixed links in alerts mail body ** fixed graph scalling in alerts body and sensors graphs
  • Correct changed/alerted labels on alert details page
  • Add alert log cleanup to housekeeping script
  • Include suppressed recovery notifications into alert log

Major Features and New Devices#

  • Added support for Alvarion BreezeACCESS devices (sponsored by Race Communications).
  • Added support for snr sensor type (Signal-to-Noise Ratio).
  • Add new function to allow generic SNMP table polling and RRD building based on a single array of arguments. Migrate existing Netscaler TCP statistics poller to new format Add Netscaler HTTP, Compression and SSL statistics in new format
  • Add new definition array-based graph generator Migrate some Netscaler graphs to definition arrays Migrate many UCD-MIB, HOST-RESOURCES-MIB and generic graphs to definition arrays Add Alvarion graphs using definition arrays Add new TCP compression graph generated by array
  • Added new templating function simple_template() to generate HTML emails

Additions and Improvements#

  • Added print_form(), uses grid system (not final). Search form in devices page now uses print_form()
  • Colourize syslog table
  • Add support for temperatore/humidity sensors on IT Watchdogs MicroGoose running v3
  • Improve port ifAlias parser and add unit tests
  • Improved CheckPoint support. Added some support for polling of CHECKPOINT-MIB

Minor Improvements#

  • Improved external_exec(): removed extra EOL at end of output, used non-blocking streams, added optional timeout and show runtime for cmd.
  • SNMP auth params now hidden from debug output, until not set config: $config['snmp']['hide_auth'] # FALSE;
  • Add ability to filter eventlog by status type
  • Include suppressed recovery notifications into alert log
  • Added warning in test_mail() about no one recipient found.
  • Add pfsense and ASA to rancid generation script
  • Add index to packages name field. Speed up global packages page by two orders of magnitude
  • Allow custom port types in new port description parser
  • Allow taking graphs header text from graph_sections array
  • Only use graph definition array when 'ds' array exists, otherwise check for $entity/$graph.inc.php
  • Add UI warning about out of date database schema
  • Add ability to store RAW syslog string in debug.log
  • Add db_cleanup script to delete residual rows in your database for devices which were not removed correctly. This may be run by hand on older installations with messy databases

Bugfixes#

  • Fix alerting delay
  • Fix bug where alert entry page doesn't show data after it has been saved
  • Fix SQL queries for some billing and api related things
  • Fix table on about page. Update year in License
  • Remove hardcoded debugging enable in group updating code
  • Fix AIRESPACE-WIRELESS-MIB sensor detection
  • Set default description of "Processor" for hrDevice processors with no description
  • Correctly populate link for entity on port graphs in /graphs/
  • Fix global Health/Toner overview page

August 2014#

Additions and Improvements#

  • Add graphing of Cisco ASA IPv4 sessions (from CISCO-FIREWALL-MIB)
  • Recheck ports for 64bit/HC counters. Improved debugging for spikes, added config options for enable/disable spikes debug.
  • Improved polling for module 'graphs' (now graphs not polled if not have relevant data for current MIB)
  • Added edit section for re-enable or manual disable specific graphs
  • Improved memory usage by ports detail page, also reduced the amount of db queries in device ports page.
  • Better performance and fewer db queries in device ports page.
  • Rewritten search form on devices page to use print_search(), fixed permissions issue for this form. Improved print_search() accordingly

Minor Improvements#

  • Changed functions gethostbyname6() and gethostbynamel6(). Now by default first try IPv4 addresses, than IPv6
  • Add code to remove entries from alert_table and group_table when ports are removed
  • Add basic graphs discovery module
  • Added mib_dir() for isSNMPable()
  • Use both sysObjectID and sysUpTime in isSNMPable()
  • Fixed Q-BRIDGE discovery, improved module stats output
  • Show graphs that are likely to exist on "default" os
  • Disabled debug port spikes by default. Added more checks for detect port HC counters, ports never swithes back to 32bit if 64bit detected
  • Disable graphing FDB counts if fdb table empty
  • Disabled scrollwheel and streetview on default frontpage map
  • Give slightly more space for MIB type on device/edit/sensors/

Bugfixes#

  • Fix building of alert table using NULL fields
  • Fix API authentication
  • Make sure auth functions are available outside webinterface; fixes adduser.php
  • Updated max-rep for calix devices (due latest firmware changes)
  • Fixed Simple API includes
  • Fix Cisco SLA collection
  • Fix accurate billing graphs
  • Fixed clear user permissions when user delete
  • Fixed counting usage dbFetchCell.
  • Fixed lost 'wifi' discovery module in defaults
  • Fixed tooltip position
  • Added check exception in ipFromEtcHosts()
  • Fixed generate many pipes after filtered syslog messages

July 2014#

Major Features and New Devices#

  • Add Cisco Class-based Queueing graphing from CBQOS-MIB
  • Introduce net housekeeping script with options to automatically or manually clean database and rrd files
  • Remove old deprecated alerts; they can all be replaced by checkers in the new alerting

Additions and Improvements#

  • Fix LDAP auth for CNs with a comma. Tested in Windows, Samba 4 and OpenLDAP
  • Add DNS LOC support for geolocation via Net_DNS2
  • Add support for APC UPS Basic Output State
  • Add ability to delete groups
  • Add svc_bps_in/out, and vsvr_bps_in/out to Netscaler alerting entities
  • Add script to autogenerate RANCID configs
  • Rewritten function discover_new_device(), now work with hostnames and IPv4/6. Fixed detect snmp transport and detect snmp version by first use $config['snmp']['version']. Old function discover_new_device_ip now deprecated.
  • Fixed delete_port(), actualized tables and rrd for removal. Updated delete_device. Improved "Delete devices" and "Deleted ports" pages.
  • Upgraded Bootstrap Switch to 3.0.2 and updated styles and javascript
  • Rework navbar backend code. IMPORTANT: if you use navbar-custom, the bad news is you will have to change its contents to fill an array like the new code does. The good news is you'll be able to create new menus, and append to just about all others.
  • Add Infinera device OS recognition and icon
  • Add support for MRV SFP temperature, dbm and bias current metrics
  • Allow suppression of the recovery notification on a per alert checker basis. Useful for device reboots, bgp or interface flaps, etc
  • Added nav-menu for control web page refresh time. Uses page exceptions, where refresh not allowed. Added and improved functions print_refresh(), formatUptime()
  • Add fan and powersupply state sensors for MRV's OADWDM-MIB
  • Add support for per-slot CPU usage on Extreme devices.
  • Add ability to search Juniper/Trapeze APs using the new tables from the global search
  • Add additional sensors to XUPS-MIB (Output Load Sensor, Battery Capacity Sensor, Battery Runtime Remaining Sensor)
  • Add support for ServersCheck ServersRoom Temperature Sensor
  • Add additional F5 support (HW, Serial, Software version and features)
  • Add Dell VRTX R1-2401 chassis switching module to sysObjectID discovery
  • Add basic RADWARE support.
  • Add Sonicwall CPU and Active sessions
  • Add ShoreTel OS detection and logo

Minor Improvements#

  • LDAP debugging improvements
  • Split front page map code to separate includes
  • Check for validity in delete_device() before deleting
  • Allow remote_platform to be NULL in links table, allows inclusion of devices where remote_platform isn't known
  • Remove one utime call, move another to common.
  • Add documentation notices for functions without current documentation
  • Add more sysObjectIDs for Dell Powerconnects (Broadcom)
  • Add tcpCurEstab to netstat_tcp_stats and fix DS type
  • Improved add_device() - fixed detect snmp transport for IPv6, detect snmp version by first use $config['snmp']['version']
  • Improved delete_device() - more checks before delete rrd dir, actualized tables for removal
  • Improved isDomainResolves() - fixed for resolve any hostname (using hosts file, A and AAAA records)
  • Added gethostbyaddr6() - function to get PTR records for both IPv4/IPv6 addresses
  • Added detect_device_snmpauth() - function to detect snmp auth params for any host by fqdn hostname or IPv4/6 without actual adding device
  • Improved match_network() - fixed for work with both IPv4/6 and added UnitTest
  • Added links for down/ignored/disabled devices under main navbar
  • Added multiselect for grant new device/port/bill permissions
  • Fixed checks for IP and snmpEngineID for autodiscovery, snmpEngineID now also added in createHost().
  • Improved check_device_duplicated() - use additional check if hostname uniq in DB
  • Add option to enable/disable chasing of LDAP referrals, from #488. Turned off by default.
  • Move infinera iqnos to sysobjectid discovery
  • Additional reserved/image mempool ignores
  • Rename .php to .inc.php files to fall in line with most of our other include files
  • Updated ref formatter to latest
  • Updated html5shiv to latest (who still uses IE < 9?)
  • Improvements to some sensors adding limits, scale and some new sensor types.

Bugfixes#

  • Fix API key setting
  • Fix include-dir
  • Fix rename_device
  • Fix unit for PowerDNS Query Cache graph
  • Only add pdState LSI sensor when there's a valid state to report
  • Fix multiport_bits graph
  • Fixed LLDP autodiscovery for empty lldpRemSysName
  • Fixed search IP for Loopbacks and Vlans
  • Fixed port graphs where uses get_port_rrdfilename()
  • Fixed count ignored devices if it also disabled and $config['web_show_disabled'] is true.
  • Remove web specific function call from delete_port()
  • Fix broken HTML around front page traffic graph
  • Use unit_text instead of units_descr in generic graphs
  • Only show new/old os in discovery output when actually changing it
  • Logfile() now create log file if not exist
  • Fix alert check editing. Fix some alignment issues by re-ordering divs.
  • Fixed discovery d-link proccessors and mempools.
  • Fixed discovery of bgp-peers to correctly remove non-existant peers
  • Fix variable leakage in postfix_mailgraph application poller
  • Increase toner_descr in the database

June 2014#

Major Features and New Devices#

  • Added support for HW group environmental sensors HWg-STE and Poseidon
  • Significant UI and functionality improvements to alerting and grouping. Rewriting of a number of things to be more generic, including permissions and eventlog. Creation of new alert log.
  • Restructure rrd_create to simplify code and abstract rrd location and switch to get_rrd_path or relative paths everywhere

Additions and Improvements#

  • Added support for Cisco Unified Computing UCS OS detection and sensors
  • Added APC rPDU Power Supply state sensors
  • Added ability to update groups
  • Added ability to select by group on /ports/ search form
  • Switched /ports/ and /devices/ search form to build URL directly rather than relying on GET/POST
  • Pass deltas for statistic OIDs to alerting code in ports poller in addition to rates
  • Fix UPS-MIB line discovery when the device does not provide upsInputLineIndex/upsOutputLineIndex OIDs
  • Add new processor usage measurement for UNIX-like systems which presents average CPU usage. This allows useful alerting, alerting on individual cores is not useful.
  • Add Engenius ECB350 'support'. Sucky MIBs, Engenius, sucky MIBs.
  • Add LSI MegaRAID SAS MIB support

Minor Improvements#

  • Improved support for Calix E7 platform
  • Added icons to group/alert types
  • Switched to better state, capacity and runtime icons
  • Add code tags around match conditions for alert checks
  • Do not show down status for ports and bgp on a overview page if device status down also.
  • Change description on SRX SPU mempools, remove 'single' cluster node name from srx mempool and cpu
  • Optimize libvirt discovery by removing one state call, also include shutdown machines in vm overview
  • Poller serial number for HH3C devices

Bugfixes#

  • Fix Mikrotik sensor scales
  • Move to sysDescr detection for Papouche and NetManPlus as sysObjectID is unreliable
  • Disabled max-red for Catalyst 29xxS
  • Fix FabOS hardware/serial detection
  • Fix alerting issue where floating point numbers were converted to integers erroneously
  • Remove ability to change alert check entity_type on existing alert checker
  • Fix billing 'add port' form population with new version of javascript function
  • Don't ignore index 0 on SPU processor discovery
  • Exclude hr-average processor type from stacked and overview processor graphs
  • Fix billing graph
  • Don't show deleted ports in traffic accounting ports selection dropdown
  • Fix Engenius wifi operational mode polling
  • Fix /ports/ ifSpeed search

May 2014#

Major Features and New Devices#

  • Add groups system
  • Add support for collection of access points from Trapeze wireless controllers.
  • Split up PowerConnect and RADLAN types into powerconnect-bcm, powerconnect-radlan and allied-radlan. Differentiated via sysObjectID.

Additions and Improvements#

  • Correctly number JunOS VLAN tag IDs
  • Add UNIX Agent extension for Areca SATA controllers monitoring fan and battery status
  • Add multi-select to many search forms
  • Convert many search forms to generate URL instead of using POST to allow copyable and bookmarkable searches
  • Add support for collecting and displaying per-entity/per-AFI CEF Prefix summaries.
  • Remodel device config apps page
  • Allow new device discovery by iBGP peers
  • Add PSU and Fan state sensors to foundry/brocade ironware devices
  • Fix sensor discovery on broadcom fastpath devices, move broadcom mibs around
  • Rewrite and expand APC InRow Chiller support
  • Add SUPERMICRO-HEALTH-MIB state sensors (ie PSU failure, Chassis Intrusion)
  • Better support for AIX systems; add IBM-AIX-MIB
  • Add Force10 S/E/C/M-series sysObjectIDs and remove FTOS sysDescr detector
  • Add stack temperature support for newer broadcom fastpath firmware
  • Add GUI to disable MIBs linked to devices
  • Add EDAC agent script to check for RAM errors
  • Add JUNIPER-ALARM-MIB for Yellow/Red alarm notification on Juniper devices

Minor Improvements#

  • Update bootstrap-select to 1.5.4
  • Latest version scripts/os script from jwh's github
  • Allow jwh os script to be used as agent script or via snmp, as alternative over old distro script
  • Improve pagination. Add configuration option to specify pagination size. Remeber pagination size for current session
  • Format some thresholds for sensor types to be infinity symbol instead of 0 when unlimited
  • Add 'Reset Limits' action on device/edit/sensors/ which causes Observium to reset sensor limits at next discovery
  • Improved layout for memory pools on device overview tab
  • Improved overview layouts and tweaks to rewrites for Cisco entity names
  • Added function is_device_mib(() to check if MIB available and permitted for device
  • Added auto-collapse navbar items on global health page
  • Implemented "ignore until date" for alert entries
  • Add edit modal for alert checker details
  • Fix timestamp-from-datetime conversion and add "ignore until" to devices
  • Added 3 Phase Load and fixed upAdvOutputLoad for PowerNet-MIB
  • Don't show entity name when it's the hostname, move alert/recover subject generation to function
  • Added generate_query_values() to handle building of queries from arrays and variables
  • Use snAgSystemDRAMUtil by default for FOUNDRY-SN-AGENT-MIB
  • Added port permission checks to iftype page
  • Use generate_query_values on ports page to allow multiselect
  • Update styles of VRF, CEF and IP-SLA pages
  • Improve Alcatel AMAP support
  • Add new front page module which allows side by side syslog/eventlog
  • Allow mib_dirs() to take infinite parameters, with unit test
  • Add Drac7 SysObjectOID, small comments and fixes
  • Detect AIX with net-snmp agents
  • Allow support for new os script via snmp extend
  • Slight gui change for limits reset config page
  • Add Procera PLOS icon; add LSI mibs to unix and windows
  • Micro-optimisation of ports and vlan poller
  • EIGRP WiP code.
  • Cleanups to Netscaler services page.
  • Optimize is_cli
  • Add graphs to overview apps page for mssql
  • Allow IPMI user level to be set in device settings
  • Updates and improvements to /device/alerts/
  • Fix Ciena OS version
  • Add missing fastpath stack temperature definitions, add LSI Megaraid state sensor values
  • Added more checks for HH3C-ENTITY-EXT-MIB temperature sensors
  • Add more Cisco SB OIDs
  • Allow netmask 0 in is_ipv4_valid() and is_ipv6_valid() (some devices report this netmask)

Bugfixes#

  • Add adtran OS icon
  • Show IPMI settings tab for Dell DRACs
  • Only set IPOMan frequency thresholds from device when they aren't zero
  • Fixes to Asterisk UNIX agent script
  • Fixes for Alcatel AOS7 and PowerNet MIBs
  • Change 'Aggregate' to 'Average' for average outgoing smokeping
  • Fixed and update device/wifi/ navbar
  • Fixed LM-SENSORS-MIB scale
  • Fixed combined iftype page
  • Fixed empty indexes for snmpwalk_cache_multi_oid()
  • Fixed discover_sensor to use float compare for scale
  • Fixed apps page brand, iftypes page
  • Fixed multiport graphs
  • Fixed alert check assocation edit modal
  • Use percent as mempool unit if total equals 100
  • Fixed negative total memory size for FOUNDRY-SN-AGENT-MIB
  • Disable max-rep for NXOS
  • Add ability to suppress tag stripping in print_message, use this to print CLI help
  • Fixed description on iftype page for non-combined views
  • Don't mark sensor as alerted if no data was found in the state table
  • Fixed alert message id generation for non-smtp mail methods
  • Remove monitor check for supermicro, this is no longer supplied with recent superdoctor releases
  • Strip escaped double quotes (dell seems to like putting these in idrac)
  • Hide search dropdown when focus is lost on input box
  • Fixed device/portname on bill edit page
  • Fixed check port ifdescr in port tab.

Database Schema#

  • Change alert_message in SQL from VARCHAR(128) to TEXT
  • Add cef_prefixes table to store per-entity/per-afi CEF prefix counts
  • Add ignore_until datetime fields to several tables for future use
  • Add managment ip field to links table
  • Add config mysql table
  • Add eigrp_ports table for unfinished EIGRP poller
  • Add group tables

April 2014#

Major Features and New Devices#

  • Support for CS121 UPS controller cards
  • Support for Exalt ExtendAir devices (Sponsored by Race Technologies, Inc.)
  • Support for Bluecoat SG
  • OEC PDU support
  • Initial detection for FWSM
  • Initial detection for Zhone DSLAMs
  • Intial detection for Alcatel-Lucent AOS 7.
  • Initial detection and basic support for Allied Telesis' new OS, Alliedware+ (Sponsored by Allied Telesis)
  • Initial detection and basic support for ADTRAN AOS
  • Addition of unit tests for several core functions
  • Addition of "Device" alert entity type
  • Allow units to be used in alert conditions (GB, MB, etc)

Additions and Improvements#

  • Add support for legacy APC sensors
  • Add Netscaler TCP error graphs
  • Rewritten UCD memory graphing and overview display
  • Split UDP/TCP/SNMP netstats graphs adding several new graph types to better present the data
  • Migrate most of the last remaining MySQL calls to dbFacile
  • Refactoring of Aruba accesspoints UI code
  • Return of widescreen mode
  • New alertable metric "state_event" for sensors
  • New alertable metric "storage_used" for storage
  • New alertable metric "mempool_used" for mempools
  • Add NetApp checkpoint operations graphing
  • Add new CEF global UI view
  • Add Sharp printer discovery and move Kyocera/Ricoh/Xerox to sysObjectID
  • Improvements to MSSQL statistics graphing
  • Improved discovery of ENTITY-SENSOR-MIB and CISCO-ENTITY-SENSOR-MIB
  • Major improvements to MG-SNMP-UPS-MIB
  • Many new Netscaler statistics graphs
  • Allow selection of multiple devices on the syslog search form
  • Add test_mail.php CLI script to test e-mail configuration
  • Add support for additional Raritan sensors and update Raritan's PDU-MIB
  • Improve sensor collection for checkpoint appliances and pdate CHECKPOINT-MIB.
  • Add Battery Capacity and Output Load to Delta UPS
  • Add database structure and code for alert contacts system
  • Discovery more Brocade/Foundry processors
  • Add script to autogenerate smokeping config
  • Add CISCO-PROCESS-MIB memory pool detection and polling for Cisco devices (required for some Nexus)
  • Improve scaling of generic_multi_separated
  • Support for HH3C-ENTITY-EXT-MIB voltage and temperature sensors
  • Pull HH3C mempool/processor description from ENTITY-MIB
  • Cleanup of snmp_ functions, resolve visible and invisible caching problems by removing the caching code, general code cleanup

Minor Improvements#

  • Show all alerts when showing failed alerts without pagination
  • Allow longer graph type names in device_graphs
  • Update visual styles for Collectd and Munin graph tables
  • Add a new class for a white-backgrounded well to obscure the background
  • Don't discover invalid Watt/Power sensors in UPS-MIB
  • Fixed bad uptime on some Alcatel Omniswitches
  • Detect OpenBSD by sysObjectID
  • Fixed current sensors bank order on APC AP78xx
  • Get RouterOS version from sysDescr where available
  • Small rewrite for some MGE UPS models
  • Improved lmsensors discovery
  • Switch CollectD graphs to use $vars instead of $_GET
  • Fixed APC temperature sensor unit discovery
  • Fixes to IPSEC Tunnels UI page
  • Decode APC Phase Input names
  • Switch to using a floating-point multiplier instead of multiplier+divisor pairs for sensors
  • Switch to using ifName on HP Procurve since they used ambiguous ifDescr for some port types
  • Update visual style of device/port/adsl
  • Fix IPv4 address discovery on some devices using different MIB versions and use new IP-MIB tables for discover ipv4 if possible.
  • Use htmlentities for rewrite_ifname() and short_ifname()
  • Improved colouring based on percentage
  • Add description-based stacking for non-UNIX processors on overview page
  • Improvements for discovery, print_message and qtip
  • Split Synology DSM OS poller to its own include file
  • Improvements to smokeping graphs
  • Add "ignore_sensor_*" option to hardcode sensor ignores in config
  • Increase sizes of graphs in the accounting system to match the available space
  • Upgrade JQuery to 1.11.0
  • Add hostname and ifAlias to quick billing graph
  • Cosmetic and stylistic improvements to billing and user editing code.
  • Add some colour to headers and legends
  • Force trailing slash on web_ui configuration value
  • Make location on device header clickable

Bugfixes#

  • Add additional includes to the API script
  • Fix search forms for "All Locations"
  • Workaround for sysObjectID with "Wrong Type"
  • Fixed AJAX search for ignored ports
  • Munin poller will now remove old plugins and datasource, prevented creating erroneous datasources, disabled multigraph plugins and replaced $graph_period with sec in graphs
  • Fixed sensors page table header
  • Clean additional ifNames
  • Correctly display national flags in locations menu
  • Fixes to authentication system breaking sessions
  • Fix graphing of multiple ADSL ports on a single device
  • Make sure state sensors in CISCO-ENVMON-MIB have unique indexes.
  • Don't regenerate session id for graphs
  • Fix columns on alerts tables
  • Fixed sensors discovery for ALCATEL-IND1-HEALTH-MIB.
  • Fixed humanize_port to correctly generate port labels when main cache isn't present
  • Fix query creation for UCD-DISKIO-MIB discovery module

March 2014#

Major Additions and Improvements#

  • Rewrite of storage discovery and poller modules to mib-based structure. Separated UCD-SNMP-MIB::dskTable.
  • Rewrite of mempools discovery and poller modules to mib-based structure. Multiple fixes and optimisations.
  • Add support for Geist RCX PDUs with sensors and inventory.
  • Add support for FOUNDRY-SN-AGENT-MIB inventory collection
  • Add Netscaler TCP Error graphs

Additions and Improvements#

  • Add per-port FDB count graphs
  • Improvements to HP sesions from CPQHLTH-MIB
  • Fix UCD-DISKIO-MIB discovery module to remove and update entries
  • Rewrite of login and session handling code
  • Support for HP/Compaq SmartArray controllers via CPQIDA-MIB
  • Add hardware model, disk stats and sensors support for Synology DSM
  • Add a hidden 'show tech-support' page with useful information for debugging
  • Improved syslog parsing for UNIX devices
  • Improved NFSv4.1 client polling
  • Add times to events about BGP peer status changes
  • Rewrite of HTML location handling
  • All configurable ignore lists now case insensitive

Minor Additions and Improvements#

  • Add support for HP server information (model, serial, asset tag)
  • Improved support for Nortel/Avaya devices
  • Streamlining of VLAN discovery module
  • Add ability for user to define a custom map location function
  • Multitudes of HTML fixes and cleanups
  • Combined multiple interface change events into one
  • Move CISCO-ENTITY-SENSOR-MIB to mib-based includes
  • Basic detection of Netgear devices
  • Remove more old MySQL queries in favour of dbFacile
  • Don't update RRDs and database for interfaces marked as deleted
  • Changed sort order in poller log
  • Updates to the observium agent removing duplicate functions and ignoring backup files
  • Cleanups and bug fixes to alerter code
  • Re-indexed billing table for faster updates
  • Improved ZyXEL OS detection
  • Add detection for IBM System i (AS400) and icon
  • Add pagination to authentication log
  • Add pagination to the bottom of lists
  • Update stacking/legends for UCD memory graph

Bug Fixes#

  • Add 'none' as possible VTP version for Cisco VLAN discovery
  • Rename discovery protocols directory to match module name
  • Fixed netapp storage polling
  • Fixed FDB count rrd DS names
  • Moved FDB polling for HP ProCurve to FDB-table module
  • Only show OSPF menu items when OSPF instances exist
  • Add NETAPP-MIB to netapp devices
  • Fix graphs for Aruba wireless devices
  • Disable max-rep for netscaler devices, it was failing occasionally
  • Set lower limit for humidity to 20% not 70%
  • Fixed SUPERMICRO-HEALTH-MIB fan limits
  • Switched to ifName for port names on Aruba
  • Fixes to graph autoscaling
  • Updated external_exec()
  • Updated style of Aruba "accesspoints" interface
  • Moved multiple OS-detections to sysObjectID in OS definition
  • Remove duplicated MIBs and clean up mib_dirs definitions
  • Clean up Force10 MIBs
  • Fixed device edit SNMP configuration page
  • Fixed devices cache expiration for syslog
  • Fixed Zimbra graphs generating broken images
  • Bug fixes to discovery functions, add_device(), poll_bill(), getValues(), getRates() and rewrites.
  • Don't ignore FXS/FXO as default
  • Fix pagination on 'only alerts' view
  • Allow up to 128 characters for graph-type names

Security Fixes#

  • Fix map.php SQL injection. Fixed minor data leak.

February 2014#

Major Additions and Improvements#

  • Add RSS/ATOM output for eventlogs
  • Add support for Alcatel AMAP discovery protocol

Additions and Improvements#

  • Add support for 64/32bit counter distinction for memory pools and storage. Add support for 64bit/HC counters for Cisco.
  • Improve legend scaling of generic_multi_line - Improves many graphs
  • Convert mempool discovery to MIB-based system
  • Add IPv4 addresses to global search system
  • Dell PowerVault devices set as "storage" by default
  • Improve efficiency of billing overview page
  • Add in-UI notification of pending DB schema updates
  • Partially rewritten authentication
  • Add cloud layer to Google map, purely aesthetic
  • Add basic detection of OpenWRT and DD-WRT
  • Add support for serial number and OS version from Synology DSM
  • Add support for Ifratec Rack Monitoring System
  • Add basic support for some sensors in COMPAQ/HP CPQHLTH-MIB. Requires Proliant server agent
  • Improve Smokeping support to allow shortened hostnames and custom delimiters
  • Add code to collect Cisco configuration ages
  • Add initial Trapeze Networks (Juniper) support
  • Add Toner alert support
  • Simplify code for alert entity rewrite
  • Add Inventory collection for Juniper devices
  • Add support for M-series MXL blade chassis switches running FTOS
  • Add 'Apparent Power' sensor type
  • Add 64bit counter support to netapp storage module
  • Multiple fixes and improvements to memory pool and storage polling and discovery
  • Use cached entPhysical table for device data (saves SNMP queries)

Minor Additions and Bugfixes#

  • Renamed many poorly named functions to increase code readability
  • Improve Ironware OS detection
  • Add ifDuplex as port alert metric
  • Update /ports/ search form to match /devices/
  • Improved discovery and polling of HOST-RESOURCES-MIB storage
  • Improve detection of VMware ESX. Move VMware to UNIX group
  • Fix IPv6 for IRC bot (remove sockets)
  • Fix using uptime from UNIX agent
  • Detect more Acme Packet devices
  • Fix well background colour to match other UI elements
  • Fix pagination when switching to different page sizes
  • Fix alerter mail sending function to suppress emails to its own hostname
  • Widen APC device detection to include everything in their Enterprise OID
  • Minor improvements to the IRC bot
  • Fix misdetection of Alcatel ArubaOS devices
  • Fix Asterisk graph definitions
  • Fix hardcoded RRD command
  • Cosmetic fixes to billing displays, switch to matching percentage bar design
  • Fix per-port FDB table
  • Hide "Delete User" link if Observium can't delete users
  • Fix Kerberos auth
  • Allow IPMI module for DRAC devices
  • Warn if LDAP authentication is selected but no LDAP support in PHP
  • Convert some TEXT fields to VARCHAR. Increase port_label to 255 characters
  • Allow inverted stack on generic_simplex_multi_separate graphs
  • Change PowerDNS authentication graphs to stack
  • Multiple HTML and code cleanups
  • Add courtesy buttons to the bottom of device deletion page
  • Fixed output buffering

Security Fixes#

  • More secure session saving. Fix "remember me" function
  • More secure cookies.
  • Fix authentication for graphs by IP
  • htmlentities() around user-settable description and location fields

January 2014#

Major Additions and Improvements#

  • Rewrite Inventory discovery module (used per-mib includes). Modules 'entity-physical' and 'hr-device' are combined into one 'inventory'
  • Improve add_device() function. Added ability to add multiple devices from CLI
  • Added Calix E-Series (and partially C-Series) devices support (sponsored by Race Technologies, Inc.).
  • Fixed calculate sizes with 64bit storage counters for hrstorage using disktable's upper/lower 32-bit values.
  • Improved get_device_os() function and 'os' discovery module. Module 'os' discovery now enabled by default for any device discovery run (controlled by option $config['discovery_modules']['os'])
  • Added support for Ubiquiti UniFi APs (firmware 3.x)
  • Added Acme-Packet devices support
  • Added PacketFlux SiteMonitor devices support.
  • Added Asterisk application agent poller
  • Added support for AudioCodes devices. Added new os type 'voip'

Improvements and Additions#

  • Better LLDP port linking to known devices, should help with incorrect links due to mysql non-numeric ifIndex matching
  • Allow bad_xdp{_regex} to exclude hostname matches from the topology map
  • Regenerate device alerts after discovery
  • Add storage_free metric to storage entity alerting
  • Added darwin os detection (Apple Mac OS X)
  • Always store syslog priorities and levels as numbers (instead strings 'err', 'info', etc.) to fix search syslog by priorities on some systems
  • Small style improvement for overview boxes (storage and unix memory/processors)
  • Add agent script to poll NVidia graphics/computation cards temperature and power draw
  • Improve polling speed for APC os features by using sysDescr instead multiple snmp gets
  • Improved polling speed for modules netstats, ucd-mib, system and ports (when no ports present)
  • Added support for 64bit counters in realtime port graph
  • Enable Cisco VPDN module

Bugfixes and Minor Additions#

  • Increase sysObjectID field length in the database for devices with extra-long IDs
  • Fix saving syslog entries with the string 'IP:PORT'
  • Fix get_nfsen_filename() function
  • Detect latest Windows OS 8, 8.1 and Server 2012 R2
  • Don't show count skipped devices if device(s) is not specified
  • Fix inventory DB schema
  • Fix FDB count graph on HP ProCurve
  • Cache sensors count for pages and menus
  • Fix permissions on ajax search.
  • Improve status-summary count accuracy
  • Fix exit from humanized functions
  • Update print_inventory(). Fix links to ports and sensors for inventory parts.
  • Remove double MySQL escape, leading to visual issues in Event Log when using special characters
  • Humanize port before creating port link, fixes empty description for network ports in device inventory, possibly other cases as well
  • Optimize humanize_port calls by not checking if it's already done (it's checked inside the function as well)
  • Small reorder unix memory overview. Accurate calculation of memory
  • Change snmp ping oid from sysObjectId to sysUpTime. Fixed issue for some devices without sysObjectId
  • Prevent zombie RRD processes by correctly setting blocking.
  • Fix display windows os storage overview.
  • Remove old "redback" discovery script and change all pre-discovered "redback" devices to "seos" (SmartEdge)
  • Update Check Point Firewall detection
  • Fix IE compatibility
  • Rewrite netstats poller module
  • More polling improvement for APC devices. PowerNet-MIB updated
  • Fixed vmwaretools icon
  • Clean up processor discovery code, move to MIB-based discovery like sensors
  • Don't count ignored ports as down when taking status from cache
  • Cosmetic updates to OSPF pages
  • Distro script now detects Slackware

Security Fixes#

  • RADIUS auth only: Only return userlevel 10 when a username is actually specified

December 2013#

Alerting/Notification#

  • Make entity and device links clickable in alert emails. Add link to alert entry configuration page.
  • Send out recovery notifications when a notified alert recovers
  • Add some extra database fields to keep track of when an alert entry was last ok and when it last failed and whether a notification has been sent yet
  • Add the ability to suppress notifications for an alert entry until it recovers
  • Show only down/delayed/suppressed alert entries as default
  • Add database fields for future ability to suppress notifications until a specified time/date on devices, entities, alert checks and alert entries.
  • Add eq, ne, gt, lt and is as condition keywords in alert definitions
  • Add bgpPeerFsmEstablishedTime to metrics for BGP sessions, to allow alerting based on session uptime

Minor Improvements and Additions#

  • Split Observium's form builder into a form builder function and an element builder function to allow elements to be more easily reused
  • Add support for a custom_shorthost() function to shorten hostnames using in a user-defined manner
  • Improve reverse DNS discovery for BGP peers and use the reverse DNS hostname in the UI for non-Observium devices
  • Improved support for ADVA devices, recognising additional devices
  • Perform reverse DNS lookup of BGP peers at discovery time and always show the rDNS name for non-local devices
  • Allow configuration of UNIX Agent port on a per-device basis
  • Rewritten APC OS poller module, supporting serial numbers and hardware versions on more devices
  • Change of snmpEngineID will now trigger a full device rediscovery
  • Add discovery support for Buffalo Terastation
  • Improve LLDP link detection on JunOS devices

Major Additions and Improvements#

  • Add support for GUDE PDU and EPC devices (sponsored by ISP Solutions SA, CH)
  • Add support for graphing VMWare CPU and Memory resource allocations within a virtual machine via vmwaretools and the UNIX agent

Bugfixes#

  • Allow LDAP authentication for the API
  • Fix LDAP user list query so that per-entity/user permissions can be configured for LDAP deployments
  • Add IPv6 defaults to unix_agent xinetd config file
  • Block username/password variables from being used in autogenerated URLs
  • Escape many more instances of user-definable data in the web UI
  • Remove "http:" from URLs for scripts and icons on google map, removing warnings via HTTPS
  • Add Vyatta to UNIX OS group

November 2013#

Major Improvements and Additions#

  • Migration towards generic handling of entities and entity types to simplify adding new types and having them easily work with the alerting system, search and other features.

Improvements and Additions#

  • Add some extra indexes to MySQL tables
  • Performance improvements to billing system removing per-port historical tables
  • Performance improvements to custom port description parser, now no longer includes the file per-port
  • Performance improvements and optimizations of polling for FDB, BGP and OSPF as well as performance improvements for non-Cisco devices
  • Cache sensor values using snmpbulkwalk to improve polling speed on devices with lots of sensors
  • Improved discover of sensors on ServerTech Sentry3 devices
  • Allow filtering of syslog by priority on the front page
  • Addition of basic discovery and polling for BTI 7000 series devices
  • Improved discovery for older APC sensors
  • Add support for polling of sensors in Fahrenheit
  • Switch to using both snmpEngineID and sysName to detect duplicates, preventing collisions for devices where sysName is not changeable
  • Add device description to device overview page
  • Add support for LANCOM devices including sensors (closes OBSERVIUM-587)
  • Add support for /root/.my.cnf to unix-agent's MySQL poller script
  • Add support for IPMI poller to chose lan/lanplus protocol and to specify a custom port
  • Add support for "apparent power" sensor type
  • Add support for more ADVA devices
  • Update support for Cisco SB devices, including new MIBs
  • Migrate more device-specific MIBs to device-specific MIB directories to increase SNMP parsing speed
  • Cosmetic improvements to devices/health pages
  • Accept multiple LDAP groups for authentication module. Convert auth_ldap_group to an array

Bugfixes#

  • Only discover LibVirt VMs when the virtual machine is in the running state
  • Poller modules 'os' and 'system' are now mandatory and run at the start of every poller run
  • Poller module 'unix-agent' is also now run before other modules
  • Fix RRD file creation for powerdns-recursor application (Closes OBSERVIUM-568)
  • Fix bug where some device information would be removed if the OS poller module didn't run
  • Check that memcached ip:port contains a colon for validity
  • Fixed Pseudowire/xconnect discovery on Cisco devices
  • Only set Arista sensor thresholds when they are correctly provided by the device (Patch from Bill @ Arista)
  • Cosmetic bugfixes to OSPF UI pages
  • Fixes to the autozoom function on the Google Map
  • Fix FreeRadius application graphs
  • Fix ignoring of devices and ports when caching data
  • Use htmlspecialcharacters for all device and user supplied variables on device overview page
  • Fix broken MySQL graph pages related to incorrect navbar links
  • Improve headings on Health / Toner page
  • Fix issue where port attributes would not be correctly set to NULL value in the database

October 2013#

Major Improvements and Additions#

  • Extensive improvements to sensor display code and definitions.
  • Extensive restructuring to sensor discovery including linking sensors to OSes via MIB simplifying the process of adding new OSes and sensor types.
  • WMI-based poller for retrieving extra data from Windows. Improves CPU/Storage polling and adds Exchange and MSSQL metrics collection.
  • Major rewrite to integrate and expand PowerNet-MIB support for APC devices
  • Allow the use of max-reps on snmpbulkwalk. Vastly improves walking of large tables on supported devices, particularly IOS, Arista and Linux.
  • New Google Maps API-based map complete with point clustering, auto-centring and zooming support to replace the old Google Charts API map

Improvements and Additions#

  • Support for AVTECH RoomAlert 24E
  • Detection of Toshiba eStudio printers
  • Detection of DIGI USB servers
  • Barracuda NG FW detection
  • Support for airflow sensors.
  • Support for state sensors on SensorProbe / Minkels RMS.
  • Allow device hostname as a parameter instead of device_id
  • Support for processor and memory on Cisco QFP
  • Collect Dell Service Tag from Dell PowerConnect devices
  • HH3C memory pool and processor polling from HH3C-ENTITY-MIB
  • RADLAN state sensors from RADLAN-HWENVIROMENT MIB
  • Microsens OS and temperature sensors detection
  • Procera detection
  • NetAPP filesystem discovery and polling via the storage system
  • Additional Dell PowerConnect sysObjectIDs
  • Dell-Vendor-MIB sensors
  • Netbotz support
  • Support for two new sensors types; Capacity and Runtime. Primarily used for UPSes and other battery-related devices.
  • Audiocodes Mediant detection

Bugfixes#

  • Fix Cisco SLA support
  • Some improvements to handling of invalid devices and graph types
  • Improved limits for timeouts/retries on SNMP operations
  • Applications with multiple instances are now accessed via a drop-down
  • Warning if devices have never been polled/discovered now works correctly
  • Fix API to correctly use the authentication system instead of hardcoded database authentication.
  • Correctly use user id in LDAP auth to allow per-device and per-entity permissions
  • Fix Cisco BGP session address formatting
  • Make sure that the RRD directory is correctly renamed when renaming a device

Debugging / Troubleshooting#

  • Add a page to output the data Observium holds about a port for debugging/troubleshooting purposes.