arrow-left

All pages
gitbookPowered by GitBook
1 of 4

Loading...

Loading...

Loading...

Loading...

Arista EOS (OpenConfig)

hashtag
Introduction

To enable Arista switches running EOS to stream telemetry data to ONES controller, API gNMI and eAPI need to be enabled

hashtag
Enabling eAPI

hashtag
Verification eAPI

bash$ ssh username@myswitch
   Password: <passw0rd>
   myswitch> enable
   myswitch# configure terminal
   myswitch(config)# management api http-commands
   myswitch(config-mgmt-api-http-cmds)# no shutdown
   myswitch(config-mgmt-api-http-cmds)# show management api http-commands
   Enabled:            Yes
   HTTPS server:       running, set to use port 443
   HTTP server:        shutdown, set to use port 80
   Local HTTP server:  shutdown, no authentication, set to use port 8080
   Unix Socket server: shutdown, no authentication
   VRFs:               default

Cumulus(NVUE API)

circle-info

Cumulus switch with version >4.4 to start streaming to ONES Controller via NVUE API

hashtag
Enable gNMI in Cumulus

netq config add agent gnmi-enable true
netq config add agent opta-enable false
netq config add agent gnmi-port 9339
netq config restart agent
netq config status agent

netq config add agent gnmi-port 50052
netq config restart agent
netq config status agent

cumulus@cumulus:mgmt:~$ cat /etc/netq/netq.yml
netq-agent:
is-gnmi-enabled: true
is-opta-enabled: false
netq-gnmi:
gnmi_port: 9339

hashtag
Enable NVUE API in Cumulus

circle-info

ONES IS not using NCLU. ONES Application only use NVUE API from OS version 4.4, less than that NCLU code is not enabled for ONES. [For ONES 1.1 testing 4.4 and 5.2 version]

Cumulus 5.x not fully support NCLU, only NVUE.

Agent Less Telemetry

hashtag
Network Device Configuration Interfaces

hashtag
Cumulus (NVUE API)

Cumulus Networks offers the NVUE (Network Virtualization Utility Engine) API, providing an abstraction layer over traditional configuration mechanisms. This allows for a more intuitive and standardized approach to network configuration and management, echoing modern software development practices.

hashtag
Arista EOS (OpenConfig)

Arista's EOS platform leverages OpenConfig, a collaborative effort among network operators to define vendor-neutral data models for configuring and managing networks. OpenConfig facilitates simplified, consistent interactions across different network devices.

hashtag
Cisco NX-OS (gRPC)

Cisco's NX-OS supports gRPC, enabling efficient, scalable, and programmatic network device management. This interface allows for the streaming of telemetry data and the execution of configuration commands.

sudo ln -s /etc/nginx/sites-{available,enabled}/nvue.conf
sudo sed -i 's/listen localhost:8765 ssl;/listen \[::\]:8765 ipv6only=off ssl;/g' /etc/nginx/sites-available/nvue.conf
sudo systemctl restart nginx

CISCO NXOS (GRPC)

CISCO NXOS support its own way to stream telemetry data using GRPC, we can enable GRPC and can get offered metrics from the device

hashtag
Enable GRPC

hashtag
GRPC Verification

hashtag
Show run GRPC

hashtag
GRPC Service Statistics

hashtag
GRPC Summary

hashtag
Supported Telemetry

switch-1# configure terminal
switch-1(config)#
switch-1# feature grpc
switch-1(config)#
switch(config)# grpc use-vrf default
switch# show run grpc
!Command: show running-config grpc
!Running configuration last done at: Mon Jan 29 13:59:36 2024
!Time: Mon Jan 29 14:06:27 2024
version 9.3(9) Bios:version 04.18
feature grpc
grpc use-vrf default
switch# show grpc gnmi service statistics
=============
gRPC Endpoint
=============
Vrf            : management
Server address : [::]:50051
Status         : Running - certificate expired
Cert notBefore : Jan 10 07:07:03 2024 GMT
Cert notAfter  : Jan 11 07:07:03 2024 GMT
Max concurrent calls            :  8
Listen calls                    :  1
Active calls                    :  0
Number of created calls         :  32
Number of bad calls             :  29
Subscription stream/once/poll   :  15/0/0
Max gNMI::Get concurrent        :  5
Max grpc message size           :  8388608
gNMI Synchronous calls          :  20496
gNMI Synchronous errors         :  0
gNMI Adapter errors             :  0
gNMI Dtx errors                 :  0
=============
gRPC Endpoint
=============
Vrf            : default
Server address : [::]:50051
Status         : Running - certificate expired
Cert notBefore : Jan 10 07:07:03 2024 GMT
Cert notAfter  : Jan 11 07:07:03 2024 GMT
Max concurrent calls            :  8
Listen calls                    :  1
Active calls                    :  0
Number of created calls         :  1
Number of bad calls             :  0
Subscription stream/once/poll   :  0/0/0
Max gNMI::Get concurrent        :  5
Max grpc message size           :  8388608
gNMI Synchronous calls          :  0
gNMI Synchronous errors         :  0
gNMI Adapter errors             :  0
gNMI Dtx errors                 :  0
switch# show grpc gnmi rpc summary
=============
gRPC Endpoint
=============
Vrf            : management
Server address : [::]:50051
Status         : Running - certificate expired
Cert notBefore : Jan 10 07:07:03 2024 GMT
Cert notAfter  : Jan 11 07:07:03 2024 GMT
Capability rpcs    : 20474
Capability errors  : 0
Get rpcs           : 22
Get errors         : 0
Set rpcs           : 0
Set errors         : 0
Resource Exhausted : 0
Option Unsupported : 0
Invalid Argument   : 0
Operation Aborted  : 0
Internal Error     : 0
Unknown Error      : 0
RPC Type        State      Last Activity  Cnt Req    Cnt Resp   Client
--------------- ---------- -------------- ---------- ---------- ----------------------------------------
Subscribe       Listen     01/29 08:42:41          0          0
=============
gRPC Endpoint
=============
Vrf            : default
Server address : [::]:50051
Status         : Running - certificate expired
Cert notBefore : Jan 10 07:07:03 2024 GMT
Cert notAfter  : Jan 11 07:07:03 2024 GMT
Capability rpcs    : 0
Capability errors  : 0
Get rpcs           : 0
Get errors         : 0
Set rpcs           : 0
Set errors         : 0
Resource Exhausted : 0
Option Unsupported : 0
Invalid Argument   : 0
Operation Aborted  : 0
Internal Error     : 0
Unknown Error      : 0
RPC Type        State      Last Activity  Cnt Req    Cnt Resp   Client
--------------- ---------- -------------- ---------- ---------- ----------------------------------------
Subscribe       Listen     01/10 08:12:32          0          0
switch#
switch# show grpc gnmi transactions
=============
gRPC Endpoint
=============
Vrf            : management
Server address : [::]:50051
Status         : Running - certificate expired
Cert notBefore : Jan 10 07:07:03 2024 GMT
Cert notAfter  : Jan 11 07:07:03 2024 GMT
RPC          DataType   Session         Time In              Duration(ms) Status
------------ ---------- --------------- -------------------- ------------ ------
Capabilities -          0               01/29 12:04:07       0            0
Capabilities -          0               01/29 12:03:47       0            0
Capabilities -          0               01/29 12:03:35       0            0
Get          ALL        3698131864      01/29 08:43:34       1186         0
...
...
...
switch# show telemetry yang direct-path cisco-nxos-device
1) Cisco-NX-OS-device:System/lldp-items
2) Cisco-NX-OS-device:System/mac-items
3) Cisco-NX-OS-device:System/intf-items
4) Cisco-NX-OS-device:System/procsys-items
5) Cisco-NX-OS-device:System/ipqos-items/queuing-items/policy-items/out-items
6) Cisco-NX-OS-device:System/ch-items