1.16. Release Notes 1.4.1

NetSpyGlass v1.4.1

1.16.1. Improvements and New Features

  • introducing Python function nw2functions.get_or_create() that finds variable with given name, device and component, or creates it if it does not exist. See docstrings for this function for the usage example. This function can be used as a replacement for nw2functions.new_var()

  • server initialization has been streamlined to avoid unnecessary reconfigurations right after server start

  • This version adds support for Influxdb v0.9. Older versions (0.8.x and older) are still supported. NetSpyGlass server tries to connect to InfluxDb with v0.9 API first and if that attempt fails, tries v0.8 API. See InfluxDb for more information on support for InfluxDb v0.9 and schema.

  • sometimes Net-SNMP daemon running on servers reports conflicting MAC addresses of interfaces. MAC Address returned in the response for the query to the RFC1213 MIB table ifTable does not match MAC address found in the ARP table entry for the IP address of the same interface. In reality, the address returned in response to the query for the ARP table is correct. NetSpyGlass can detect and rectify this problem beginning with this version.

  • Algorithm that created objects tp represent “simulated” bridges has been simplified and does not try to reuse these if they appear to correspond to the same subnet. Background information: network discovery process inserts “simulated” switch object when it comes across switch interface that appears to be directly connected to multiple devices. In the case like this, NetSpyGlass assumes that there is another switch between this port and devices but this switch has not been added to the list of monitored devices for some reason (for example, because administrator does not want to monitor it, its SNMP community is unknown or device does not support SNMP). Since NetSpyGlass can determine ip address configuration of interfaces of devices that seem to be connected to this switch, it can establish correspondence between a switch like that and a subnet. For simplicity, this unknown switch is assumed to run without vlans. Beginning with this version, if two simulated switches appear to correspond to the same subnet or set of subnets, they won’t be merged together and will appear as two separate objects in maps.

  • Added basic discovery of Force-10 VLT (Virtual Link Trunking) links. If an interface is recognized as VLT uplink, it gets tag VLTUplink. In network maps VLT uplinks are shown as connections between individual physical ports rather than port channel because the port channel would appear to be connected to two different core switches simultaneously.

  • beginning with this version, it is now possible to have multiple TSDB configurations of the same type in the configuration file nw2.conf simultanously. That is, it is possible to write the following config that describes three different InfluxDb backends and one hbase:

    monitor {
        storage {
            memoryPoolDurationHrs = 3
            retentionHrs = 1
            protocol = influxdb_09
            hbase_on_hub {
                type = hbase
                zookeeperAddress = ""
                timeoutMs = 2000
                table = "netspyglass-"${network.name}
            influxdb_hub {
                type = influxdb
                url = ""     # influxdb server running on, v0.8.8
                user = "root"
                password = "XXXX"
                database = "netspyglass-"${network.name}
            influxdb_09 {
                type = influxdb
                url = "http://influxdb09:8086"     # influxdb running on dedicated VM influxdb09, v0.9.6
                user = "root"
                password = "XXXX"
                database = "netspyglass_"${network.name}
            influxdb_hosted {
                type = influxdb
                url = "https://eightyeight-hoverboard-95.c.influxdb.com:8086"     # Influxdb managed hosting
                user = "influxdb"
                password = "XXXX"
                database = "netspyglass_"${network.name}
  • beginning with this version, the package includes TSDB data migration tool.

  • NSGDB-60: Improved ICMP ping monitoring via fping: now we can run fping in both “loop mode” (with -l command line option) and not. If fping runs in the loop mode (command line -l -Q30 -p1000), NetSpyGlass constantly reads and parses its output to get ping RTT and packet loss statistics. If fping runs without -l option, for example with command line -q -c30 -r1 -p1000, NetSpyGlass reads and parses its output as before but also restarts it at the beginning of each polling cycle. Experience shows that fping “loop” mode can be unreliable when pinging many devices over very long periods of time.

  • default command line for fping is now fping -q -c25 -r1 -p 2000. This sends 25 ICMP echo probes with interval 2 sec and no retries. The timing is designed to ensure that we collect statistics before the end of the default 1 min polling cycle. This command line should be adjusted if NetSpyGlass runs with different polling interval

  • Added function nw2functions.query_tsdb() to the Python API module nw2functions

  • NET-1161: Juniper SSG discovery. NetSpyGlass can use NETSCREEN-INTERFACE-MIB and NETSCREEN-NSRP-MIB to discover virtual addresses in Juniper SSG failover pair and build Layer 2 topology with SSG devices.

1.16.2. Bug fixes

  • fixed bug (no number) that caused device cluster (an object that represents lower level view in the map) to disappear from the map if it was not connected anywhere.
  • NET-1153 compute 95 percentile using data from the whole time interval of the graph rather than do it for each day separately
  • NSGDB-56: fixed discovery and monitoring of CPU, memory and fans on Cisco Nexus devices
  • NET-1162: Mib manager could not load LVL7-REF-MIB (for Dell devices) because the name of the referenced MIB DELL-VENDOR-MIB did not match the name of the file on case-sensitive file systems
  • NET-1160: fixed bug with discovery of network links via LLDP on Dell devices
  • NSGDB-61: Allow Jira issue type names that contain whitespace
  • NET-1171: fixed bug that caused some devices to be missed by network discovery process if they were allocated to a monitor that was offline. Devices are allocated to monitors in the file cluster.conf.