User Tools

Site Tools


network_stuff:juniper:telemetry

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
network_stuff:juniper:telemetry [2022/12/08 03:56] jotasandokunetwork_stuff:juniper:telemetry [2025/07/08 18:24] (current) jotasandoku
Line 1: Line 1:
-Then **PMACCT** (pmaccount) to correlate information and extract trends: pmacct is a small set of multi-purpose passive network monitoring tools [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry].  +MDT (Model Driven Telemetry)Replaces SNMP
- +
- +
----- +
-MDT (Model Driven Telemetry) +
-\\ +
-Replaces SNMP+
 \\ \\
  
Line 12: Line 6:
     * protobuf 'file' define what RPCs are available. Is provided by the vendor and abstracts the way to interact to the system.     * protobuf 'file' define what RPCs are available. Is provided by the vendor and abstracts the way to interact to the system.
       * We convert or compile 'protobuf' to python libraries. 'Protoc' creates a library that you can start using straight away in your code       * We convert or compile 'protobuf' to python libraries. 'Protoc' creates a library that you can start using straight away in your code
- 
  
   * The messages are binary but we can do marshaling and see the key-value pairs with 'kgbb'   * The messages are binary but we can do marshaling and see the key-value pairs with 'kgbb'
Line 18: Line 11:
     * All is defined in the client (jti-client in our case) (define how many channels, etc)     * All is defined in the client (jti-client in our case) (define how many channels, etc)
  
 +
 +----
 +**gNMI** 
 \\ \\
-What is gNMI (from openconfig group):+See this insight on prometheus-grafana-exporters and gnmi: {{ :network_stuff:juniper:monitoring_cisco_networks_with_prometheus_grafana_and_exporters_fintech_focus_.pdf |}} 
 +  * Provides **1) Network Management and 2) Streaming telemetry** 
 +  * Uses HTTP/TCP so reliable compared to snmp 
 +  * And also extremely light. It uses RPCs more efficiently than netconf (like it were issued in the target machine itselfSee [[https://indico.csnog.eu/event/11/contributions/107/attachments/87/181/NETCONF_vs_gNMI_CSNOG_2022.pdf|comparison]]
   * gRPC Network Management Interface. Is a way to interact to grpc with Standard, reduced, RPCs.   * gRPC Network Management Interface. Is a way to interact to grpc with Standard, reduced, RPCs.
   * gnmi defines Four RPCs:    * gnmi defines Four RPCs: 
-    * capabilities ("show me what you can offer"+    * ''capabilities'' ("show me what you can offer"
-    * get (like a netconf get) +    * ''get'' (like a netconf get) 
-    * set (like a netconf set, also to update and delete) +    * ''set'' (like a netconf set, also to update and delete) 
-    * subscribe ( hook to a stream )+    * ''subscribe'' ( hook to a stream )
   * Junos in particular uses the **[[https://www.juniper.net/documentation/us/en/software/junos/interfaces-telemetry/topics/concept/open-config-grpc-junos-telemetry-interface-understanding.html|JTI client]]** which includes gNMI : //Junos Telemetry Interface Client (jtimon) is an application that can be used to collect telemetry streams from a Juniper device streaming in native format over UDP, or in OpenConfig format over gRPC.//   * Junos in particular uses the **[[https://www.juniper.net/documentation/us/en/software/junos/interfaces-telemetry/topics/concept/open-config-grpc-junos-telemetry-interface-understanding.html|JTI client]]** which includes gNMI : //Junos Telemetry Interface Client (jtimon) is an application that can be used to collect telemetry streams from a Juniper device streaming in native format over UDP, or in OpenConfig format over gRPC.//
  
-\\ +**Topology ( gNMI + Telegraf plugin)**
-How to install gRPC and gNMI with junos and prometheus: +
-\\ +
-\\ +
-Topoplogy:\\ +
-Juniper-switch(junos_openconfig+network_agent) <-http/s< prometheus-server(go JTI-client\\ +
- +
-Install guides:+
  
-  * [[https://marcelwiget.blog/2017/11/28/openconfig-and-grpc-junos-telemetry-interface/comment-page-1/|OpenConfig and gRPC Junos Telemetry Interface]] +{{:network_stuff:juniper:gnmi-n-telegraf-nx-os.png?800|}}
-  * [[https://community.juniper.net/browse/blogs/blogviewer?blogkey=e37a2402-d6e2-4e6a-8884-01638414ee3e]]+
  
 ---- ----
 __**MESSAGE QUEUING TECHNOLOGIES**__ __**MESSAGE QUEUING TECHNOLOGIES**__
 +\\
 +  * The client subscribes to the server/broker but the client can **receive or send data**
 +  * **Topics are labels** that you publish messages to and subscribe to. They are arranged as a hierarchy
 \\ \\
 __Kafka__ __Kafka__
 +\\
 Kafka focuses on the storage and reading of data, aiming at streaming data processing scenarios with high real-time performance Kafka focuses on the storage and reading of data, aiming at streaming data processing scenarios with high real-time performance
  
 \\ \\
 __MQTT - MQ Telemetry Transport__ __MQTT - MQ Telemetry Transport__
 +\\
 is a lightweight, publish-subscribe, machine to machine network protocol for Message queue/Message queuing service. It is designed for connections with remote locations that have devices with resource constraints. is a lightweight, publish-subscribe, machine to machine network protocol for Message queue/Message queuing service. It is designed for connections with remote locations that have devices with resource constraints.
      
-  sudo apt install mosquitto mosquitto-clients +  sudo apt install mosquitto mosquitto-clients    # creates the broker. This can be a simple raspberry pi 
-  mosquitto_sub -h <host> -t /merakimv/<serial of device>/<topic>+  mosquitto_sub -h localhost -t test    # Test subscription to a test topic (still non-existing) 
 +  mosquitto_pub -h localhost -t test -m "hello world"    # publishes a test message in the 'test' topic 
 +  ! 
 +  mosquitto_sub -h <host> -t /merakimv/<serial of device>/<topic>    # subscribes 
 + 
 + 
 +---- 
 +Then **PMACCT** (pmaccount) to correlate information and extract trends: pmacct is a small set of multi-purpose passive network monitoring tools [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry].  
 + 
 +----
  
 References: References:
network_stuff/juniper/telemetry.1670471782.txt.gz · Last modified: (external edit)