NetSpyGlass
3.0
  • 1. NetSpyGlass Agent
    • 1.1. Hardware Requirements
    • 1.2. How to download the agent
    • 1.3. Docker
    • 1.4. Configuration
      • 1.4.1. Configuration file agent.conf
        • 1.4.1.1. Basic rules of the config file format
        • 1.4.1.2. Configuration parameters
    • 1.5. Running the Agent
    • 1.6. fping
    • 1.7. AutoUpgrades
    • 1.8. Advanced Parameters
      • 1.8.1. Agent Name
      • 1.8.2. Region
      • 1.8.3. IP Binding
  • 2. Regions
    • 2.1. Cluster Configuration
  • 3. Views
    • 3.1. Building Your Own Views
    • 3.2. Examples of Views
      • 3.2.1. Matching Rules for Hierarchical Views
      • 3.2.2. Class View
    • 3.3. Examples of Hierarchical Views
      • 3.3.1. Clusters
      • 3.3.2. Virtualization
  • 4. Monitoring Variables
    • 4.1. How Monitoring Variables are Stored
    • 4.2. Python application variables
      • 4.2.1. Selection of components to monitor
      • 4.2.2. The structure of the variable definition dictionary
    • 4.3. How to override the defaults
      • 4.3.1. Example 1: making NetSpyGlass monitor specific interfaces that are not monitored by default
      • 4.3.2. Example 2: making NetSpyGlass poll packet rate counter OIDs for network interfaces
      • 4.3.3. Example 3: making NetSpyGlass monitor duplex/half-duplex mode of network interfaces
      • 4.3.4. Example 4: making NetSpyGlass monitor network interface upstream & downstream bandwidths for Viptela devices
    • 4.4. Report
    • 4.5. Data Display
      • 4.5.1. How to change or add data display rules
      • 4.5.2. How to make new variable appear in Graphing Workbench
  • 5. Tags
    • 5.1. Standard Tag Facets
      • 5.1.1. Tags that describe device
      • 5.1.2. Tags that describe interfaces
    • 5.2. How Tags are Assigned
    • 5.3. Tag Selector Class
    • 5.4. User Defined Device Tags
      • 5.4.1. User Defined Interface Tags: Parsing Interface Descriptions
    • 5.5. Tags in facet NsgControl
    • 5.6. External Tags
      • 5.6.1. API call used to query and update external tags
        • 5.6.1.1. GET /v2/tags/net:netid/external[?id=:devID|name=:name|address=:address]
        • 5.6.1.2. POST /v2/tags/net:netid/external
        • 5.6.1.3. Example
        • 5.6.1.4. Removing External Tags
  • 6. Data Processing Rules
    • 6.1. Summary
    • 6.2. Configuration
    • 6.3. How to access monitoring variables
    • 6.4. How does this work
    • 6.5. Examples
      • 6.5.1. Converting interface counters to interface utilization
      • 6.5.2. Calculate interface utilization as percentage of speed
      • 6.5.3. max()
      • 6.5.4. group_by_device()
      • 6.5.5. Filtering by tags
      • 6.5.6. Print variable attributes to log
      • 6.5.7. Tag manipulation
      • 6.5.8. Calculating aggregates
        • 6.5.8.1. Aggregates and NaN values
      • 6.5.9. Calculating average value using data that fits in the memory buffer
      • 6.5.10. Calculating 95 percentile
      • 6.5.11. Calculating weekly peak values
      • 6.5.12. Calculating long term average values
      • 6.5.13. Operations with string variables
      • 6.5.14. Calculating total monthly traffic value (data cap)
      • 6.5.15. Difference between functions new_var() and get_or_create()
  • 7. Reporting Framework
    • 7.1. Configuration
    • 7.2. How to Access Reports via NetSpyGlass UI
    • 7.3. Report Scripts
  • 8. Alerting
    • 8.1. Configuration
    • 8.2. Alert Modules
    • 8.3. Alerting rules
      • 8.3.1. Alert state
      • 8.3.2. Fan Out
      • 8.3.3. Conditions with timing
    • 8.4. Classes and Functions
      • 8.4.1. Alert
        • 8.4.1.1. Attributes
    • 8.5. Silences
    • 8.6. Script silence.py
    • 8.7. Alert Notifications
    • 8.8. Notification streams
      • 8.8.1. Properties
      • 8.8.2. Mixing Macros and configuration parameter expansion
      • 8.8.3. Log
      • 8.8.4. Email
      • 8.8.5. Slack
      • 8.8.6. PagerDuty
        • 8.8.6.1. Deduplication
        • 8.8.6.2. Example
        • 8.8.6.3. Query
      • 8.8.7. Jira
        • 8.8.7.1. Deduplication
        • 8.8.7.2. Example
        • 8.8.7.3. How to add custom Jira field
      • 8.8.8. ServiceNow
        • 8.8.8.1. Tables
        • 8.8.8.2. ServiceNow Incident Fields
        • 8.8.8.3. Incident Deduplication
        • 8.8.8.4. Affected CI
        • 8.8.8.5. Examples
        • 8.8.8.6. Query
    • 8.9. Notification streams - UI
      • 8.9.1. ServiceNow
        • 8.9.1.1. Basic Info
        • 8.9.1.2. Notification Content
        • 8.9.1.3. ServiceNow Integration
        • 8.9.1.4. De-Duplication
        • 8.9.1.5. CMDB
        • 8.9.1.6. Authentication
        • 8.9.1.7. History/Changelog
        • 8.9.1.8. Sample Screenshots
    • 8.10. Examples
      • 8.10.1. busyCpuAlert
      • 8.10.2. deviceDown
      • 8.10.3. bigChangeInVariables
      • 8.10.4. lagPartiallyDegraded
      • 8.10.5. interfaceDown
      • 8.10.6. bgpSessionDown: alert with dependencies
    • 8.11. Using alerts with Nagios
    • 8.12. Alerts and NetSpyGlass Cluster
      • 8.12.1. Configuration
      • 8.12.2. Avoiding Duplication
  • 9. Syslog
    • 9.1. Overview
    • 9.2. Grok
    • 9.3. Configuration
    • 9.4. Syslog message
    • 9.5. Syslog analysis
      • 9.5.1. Kibana
      • 9.5.2. NsgQL
      • 9.5.3. API Call
    • 9.6. Syslog alerts
      • 9.6.1. Simple log record match
      • 9.6.2. Alerts that match device and component
    • 9.7. Grok expressions
  • 10. nw2functions — Operations with monitoring variables
    • 10.1. Summary
    • 10.2. Classes and Functions
  • 11. Java classes that can be accessed from Python scripts
    • 11.1. Summary
    • 11.2. Classes and Functions
      • 11.2.1. MonitoringVariable
        • 11.2.1.1. Attributes
        • 11.2.1.2. Instance Methods
      • 11.2.2. Statistics
        • 11.2.2.1. Methods
      • 11.2.3. TimeSeries
        • 11.2.3.1. Methods
        • 11.2.3.2. Python “magic” methods
      • 11.2.4. Observation
        • 11.2.4.1. Attributes
        • 11.2.4.2. Methods
        • 11.2.4.3. Python “magic” methods
      • 11.2.5. DataSource
        • 11.2.5.1. Attributes
      • 11.2.6. DataScaler
        • 11.2.6.1. Methods
    • 11.3. Wrappers
      • 11.3.1. PyDevice
        • 11.3.1.1. Attributes
        • 11.3.1.2. Instance Methods
      • 11.3.2. PyNetworkInterface
        • 11.3.2.1. Attributes
      • 11.3.3. PyHardwareComponent
        • 11.3.3.1. Attributes
      • 11.3.4. PyChassisAlarm
        • 11.3.4.1. Attributes
      • 11.3.5. PyProtocolDescriptor
        • 11.3.5.1. Attributes
      • 11.3.6. PyNetworkGraph
        • 11.3.6.1. Instance Methods
    • 11.4. Examples
  • 12. NetSpyGlass Server Command Line Tools
    • 12.1. NsgCLI
  • 13. NetSpyGlass Server Query Language
    • 13.1. Model
    • 13.2. SELECT
    • 13.3. Schema
      • 13.3.1. Table “tags”
      • 13.3.2. Table “maps”
      • 13.3.3. Table “devices”
      • 13.3.4. Table “interfaces”
      • 13.3.5. Table “alerts”
      • 13.3.6. Table named after monitoring variables name
    • 13.4. LIMIT and OFFSET
    • 13.5. Column Aliases
    • 13.6. WHERE
    • 13.7. Time Match in WHERE
    • 13.8. GROUP BY
    • 13.9. Aggregation by Time Functions
      • 13.9.1. tsmin(metric)
      • 13.9.2. tsmax(metric)
      • 13.9.3. tslast(metric)
      • 13.9.4. tsavg(metric)
      • 13.9.5. tsmedian(metric)
      • 13.9.6. tslinear(metric)
      • 13.9.7. tspercentile(metric, N)
      • 13.9.8. tspercentile95(metric)
      • 13.9.9. cumulative_sum(metric)
      • 13.9.10. dbscan(metric, N)
      • 13.9.11. ge(metric, N)
      • 13.9.12. gt(metric, N)
      • 13.9.13. integral(metric)
      • 13.9.14. le(metric, N)
      • 13.9.15. loess(metric, width, period)
      • 13.9.16. lt(metric)
      • 13.9.17. sma(metric, N)
      • 13.9.18. Summary
      • 13.9.19. Examples:
    • 13.10. Aggregation Functions
      • 13.10.1. min
      • 13.10.2. max
      • 13.10.3. avg
      • 13.10.4. median
      • 13.10.5. sum
      • 13.10.6. count
      • 13.10.7. Examples
    • 13.11. Transformation Functions
      • 13.11.1. color
      • 13.11.2. color_level
      • 13.11.3. to_long
      • 13.11.4. ifnan
      • 13.11.5. ifnull
      • 13.11.6. Combinations of NsgQL functions
    • 13.12. Command SHOW
    • 13.13. Command DESCRIBE
    • 13.14. Using NsgQL
      • 13.14.1. Command Line Query Tool
      • 13.14.2. Using NsgQL queries in Python scripts
    • 13.15. Examples
    • 13.16. Caching
  • 14. NetSpyGlass Server JSON API
    • 14.1. API v2.0
      • 14.1.1. Status call
        • 14.1.1.1. GET /v2/ui/net/:id/status[?s=order]
      • 14.1.2. Network topology and inventory (discovery data)
        • 14.1.2.1. GET /v2/discovery/net/:id/topo?[timestamp=:time|generation=:gen]
        • 14.1.2.2. GET /v2/discovery/net/:id/devices[?timestamp=:time|generation=:gen]
        • 14.1.2.3. GET /v2/discovery/net/:id/devices/:devid[?timestamp=:time|generation=:gen]
      • 14.1.3. Calls used by the UI to access information about devices
        • 14.1.3.1. GET /v2/ui/net/:id/dashboards/device/:id
        • 14.1.3.2. GET /v2/ui/net/:id/data/device/:devid?[format=(brief|full)][category=:name]
        • 14.1.3.3. GET /v2/ui/net/:id/popup/device/:devid
        • 14.1.3.4. GET /v2/ui/net/:id/popup/device/:devid/hwcomp/:idx
        • 14.1.3.5. GET /v2/ui/net/:id/popup/device/:devid/intf/:ifIndex
      • 14.1.4. Map Views
        • 14.1.4.1. GET /v2/ui/net/:id/views[?type=:view_type]
        • 14.1.4.2. GET /v2/ui/net/:id/views/:view_id
        • 14.1.4.3. POST /v2/ui/net/:id/views
        • 14.1.4.4. POST /v2/ui/net/:id/views/:view_id/update
        • 14.1.4.5. DELETE /v2/ui/net/:id/views/:view_id
        • 14.1.4.6. POST /v2/ui/net/:id/views/:view_id/share
        • 14.1.4.7. POST /v2/ui/net/:id/views/:view_id/unshare
        • 14.1.4.8. POST /v2/ui/net/:id/views/:view_id/validate
        • 14.1.4.9. GET /v2/ui/net/:id/views/:view_id/map[?timestamp=:time]
        • 14.1.4.10. GET /v2/ui/net/:id/views/:view_id/map?layout=auto
        • 14.1.4.11. GET /v2/ui/net/:id/views/:view_id/map?layout=reset
        • 14.1.4.12. GET /v2/ui/net/:id/views/:view_id/map?layout=fit
        • 14.1.4.13. GET /v2/ui/net/:id/views/:view_id/preview[?devRule=NSGQL][&linkRule=NSGQL][&hide=true][&connecting=false|true][&adjacent=false|true]
        • 14.1.4.14. GET /v2/ui/net/:id/views/:view_id/linkGraphVars
        • 14.1.4.15. GET /v2/ui/net/:id/views/:view_id/linkVar/:lv/nodeVar/:nv[?timestamp=:time]
        • 14.1.4.16. PUT /v2/ui/net/:id/views/:view_id/coordinates
      • 14.1.5. Server Health Checking
        • 14.1.5.1. GET /v2/ping/net/:netid/[se]
      • 14.1.6. Data Query (NsgQL)
        • 14.1.6.1. POST /v2/query/net/:id/data/
      • 14.1.7. Graphs
      • 14.1.8. View Filters
        • 14.1.8.1. POST /v2/ui/net/:id/filters/[?user=:user_name]
        • 14.1.8.2. GET /v2/ui/net/:id/filters/[?user=:user_name]
        • 14.1.8.3. DELETE /v2/ui/net/:id/filters/:filter_id
        • 14.1.8.4. POST /v2/ui/net/:id/filters/:filter_id/share
        • 14.1.8.5. POST /v2/ui/net/:id/filters/:filter_id/unshare
      • 14.1.9. Settings
      • 14.1.10. Integrations
      • 14.1.11. Alerts and Alert silences JSON API
        • 14.1.11.1. POST /v2/alerts/net/:netid/silences
        • 14.1.11.2. POST /v2/alerts/net/:netid/silences/:id
      • 14.1.12. Device Management
        • 14.1.12.1. POST /v2/ui/net/:netid/devices/
        • 14.1.12.2. POST /v2/ui/net/:netid/devices/blocking/
        • 14.1.12.3. PUT /v2/ui/net/:netid/devices/:dev_id
        • 14.1.12.4. PUT /v2/ui/net/:netid/devices/blocking/:dev_id
        • 14.1.12.5. DELETE /v2/ui/net/:netid/devices/:id1,:id2,… and /v2/ui/net/:netid/devices/blocking/:id1,:id2,…
      • 14.1.13. Background Tasks
        • 14.1.13.1. GET /v2/ui/net/:netid/tasks/
        • 14.1.13.2. GET /v2/ui/net/:id/tasks/:taskid
      • 14.1.14. External device and component tags
        • 14.1.14.1. GET /v2/tags/net:netid/external[?id=:devID|name=:name|address=:address]
        • 14.1.14.2. POST /v2/tags/net:netid/external
        • 14.1.14.3. Example
        • 14.1.14.4. Removing External Tags
      • 14.1.15. Reports
        • 14.1.15.1. GET /v2/ui/net/:netid/reports/:category/list[?offset=N1&limit=N2&q=filter&status=discoveryStatus&from=timeFrom&until=timeUntil&s=sortField&desc&fields=<comma separated list of field names>][&most_recent=true|false]
        • 14.1.15.2. GET /v2/ui/net/:netid/reports/:category/count[?offset=N1&limit=N2&q=filter&status=discoveryStatus]
        • 14.1.15.3. GET /v2/ui/net/:netid/reports/:category/:report_name_or_id
      • 14.1.16. Incremental Discovery
        • 14.1.16.1. GET /v2/nsg/discovery/net/:netid/start
        • 14.1.16.2. POST /v2/nsg/discovery/net/:netid/submit/:dev
        • 14.1.16.3. GET /v2/nsg/discovery/net/:netid/queue?limit=NN
        • 14.1.16.4. POST /v2/nsg/discovery/net/:netid/new_generation
        • 14.1.16.5. POST /v2/nsg/discovery/net/:netid/pause
        • 14.1.16.6. POST /v2/nsg/discovery/net/:netid/resume
  • 15. Searching
    • 15.1. Searching for patterns
    • 15.2. Searching specific fields
      • 15.2.1. Some common searchable fields (see Appendix for full list)
    • 15.3. Combining search terms with AND
    • 15.4. IP addresses
    • 15.5. Narrowing your search with Filters
    • 15.6. Search examples
NetSpyGlass
  • »
  • Search


© Copyright 2014-2022, Happy Gears, Inc. www.netspyglass.com

NetSpyGlass v: 3.0.x
Versions
3.0.x