User Tools

Site Tools


network_stuff:juniper:telemetry

This is an old revision of the document!


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

What is gRPC (streaming telemetry)

  • Google Remote Procedure call (remote call on the device) . Is an open source alternative/improvement to classic restAPI. It adds consistency, also uses binary messages instead of json text so it's more efficient traffic-wise. Uses standard language: protobuf which is supported by python among others.
    • 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
  • The messages are binary but we can do marshaling and see the key-value pairs with 'kgbb'
  • It uses http2 by default (port 50051). With a single channel it can send a bunch of requests. So only one http handshake is needed.
    • All is defined in the client (jti-client in our case) (define how many channels, etc)


What is gNMI (from openconfig group):

  • gRPC Network Management Interface. Is a way to interact to grpc with Standard, reduced, RPCs.
  • gnmi defines Four RPCs:
    • capabilities (“show me what you can offer”)
    • get (like a netconf get)
    • set (like a netconf set, also to update and delete)
    • subscribe ( hook to a stream )
  • Junos in particular uses the 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.


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:


MESSAGE QUEUING TECHNOLOGIES
Kafka Kafka focuses on the storage and reading of data, aiming at streaming data processing scenarios with high real-time performance


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.

sudo apt install mosquitto mosquitto-clients
mosquitto_sub -h <host> -t /merakimv/<serial of device>/<topic>

References:

network_stuff/juniper/telemetry.1670471794.txt.gz · Last modified: (external edit)