Open Nti Presentation
Open Nti Presentation
Open Nti Presentation
Proof of concept
MX PTX QFX/EX SRX Accept multiple sources of Data (Netconf/
Junos Telemetry Insight Analytics Netconf
JTI / Analyticsd / Network Agent)
(Jvision) (Analyticsd) Shell Can send to multiple collector / database
Docker Deployment options
On box
On a server On a laptop
Guest VM
Docker container
Docker container
Graphical Interface
Graphical Interface
Docker container
Database
Database
Graphical Interface
Collector
Collector
Database
POC/Demo PS/RE
Testing/Dev Troubleshooting
What OpenNTI is and isnt
What its What its NOT
Graphical Interface
Database
Open NTI
The value of graphical representation
Discover how some features really works in Junos
In a BNG environment when there is a
huge breakdown in the access network, a
PADT and PADI storm arises.
1. Report Name
4 2. Regex filter
3. Time range
4. KPI are organized by
sections
Graphical Interface
Database
Influxdb
Junos
Telemetry Network
Agent Analyticsd
(Jvision) JSON/UDP
JSON/UDP
GPB/UDP
Data are converted into Key/Value pairs and
injected into Influxdb as tags
QFX10000 QFX5100
MX QFX5200 EX4300
Fluentd plugins used
Fluent-plugin-juniper-telemetry Fluent-plugin-influxdb
This plugin include 3 input parsers and 3 output- Accept data in Structured format
format
Input Parser :
Juniper_jti - default on port 50000/UDP Push data to influxdb over HTTP using
Juniper_na - default on port 50010/UDP
tags
Juniper_analyticsd - default on port 50020/UDP
Output_format : Integrate a buffer, by default send data
Structured - Compatible with Influxdb plugin out every 5 seconds
Flat - Compatible with Graphite plugin
Statsd
https://github.com/JNPRAutomate/fluent-plugin-juniper- https://github.com/fangli/fluent-plugin-influxdb
telemetry
Graphical Interface
Database
bgp_commands:
By By By By commands: |
role type location show route summary | display xml
feature show bgp summary | display xml
tags: bgp
Data Collection Agent - Parser
In order to extract KPIs from a junos command output, a related parser must
exist before.
There are parsers for xml and for non-xml output (using regex)
Below there is an example parser for show version | display xml command.
This parser extract 2 values (the product-model and the version)
show-version.parser.yaml
1 1. The regex-command relates the parser
with the executed command
2
2. The xpath to be execute to extract the
KPI
3. The KPI will be stored in the DB under
3
the variable with this name.
Interact with OpenNTI in a
programmatic way
Programmatic interfaces Grafana - REST Interface
The GUI has a REST interface available
that can be used to publish dashboard
automatically.
A dashboard is just a JSON file
Its possible to generate Dashboard from
Graphical Interface - Grafana REST
Ansible and publish them automatically
Format is JSON
Contribution is not
just about code
Thank You
Backup slides / Screenshots
Grafana Default Dashboard, BPS Stats example
Interface Dashboard For Single Device
ASIC Dashboard for Single Device