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
»
6. Data Processing Rules
View page source
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
NetSpyGlass
v: 3.0.x
Versions
3.0.x