Skip to content

Instantly share code, notes, and snippets.

@detain
Created September 17, 2015 20:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save detain/c0e135bd64c0ec805487 to your computer and use it in GitHub Desktop.
Save detain/c0e135bd64c0ec805487 to your computer and use it in GitHub Desktop.
Changes since we last updated Observium
Changelogs
August 2015 ( 131 commits )
r6802 to 6933
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 arraysMigrate 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment