Professional Documents
Culture Documents
Open-Nti Presentation ESNOG
Open-Nti Presentation ESNOG
Open-Nti Presentation ESNOG
Proof of concept
Accept multiple sources of Data (Netconf/
MX PTX QFX/EX SRX
Junos and JTI / Analyticsd / OpenConfig telemetry /
OpenConfig
Telemetry,
Insight Analytics
(Analyticsd)
Netconf / SNMP
Shell
SNMP, Netflow *)
Netflow*
Can send to multiple collector / database
Docker Deployment options
On box
On a server On a laptop
Guest VM
Docker container
Docker container Docker container
Graphical Interface
Graphical Interface Graphical Interface
Database
Database Database
Collector
Collector Collector
On a cluster
Docker container
Graphical Interface
Database
Collector
POC/Demo PS/RE
Testing/Dev Troubleshooting
What OpenNTI is and isn’t
What it’s What it’s NOT
1. Report Name
4 2. Regex filter
3. Time range
4. KPI are organized by
sections
Graphical Interface
1
Overlay events on top of
your data
In this example :
• Commit are represented in Blue
• Error are represented in Red
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
Telegraf based collectors – Graphical Interface
SNMP/OpenConfig Database
Database
Influxdb
output_plugin
influxdb
Telegraf different type of streaming data from
Key/value Format : structured MX, PTX, QFX & EX :
input_plugin
• OpenConfig Telemetry
OpenConfig SNMP • SNMP
50050/UDP 161/UDP
OpenConfig
Telemetry SNMP
(grpc)
Data are converted into Key/Value pairs and
injected into Influxdb as “tags”
Graphical Interface
Database
bgp_commands:
By By By By commands: |
show route summary | display xml
role type location 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
It’s 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