Dernière modification le 30 octobre 2020
La destination Prometheus pour gNMIc avait été promise et elle a été développée. C’est l’occasion de réaliser un test pour voir comment utiliser gNMI/gRPC pour s’abonner à de la télémétrie sur un équipement réseau et stocker les résultats dans Prometheus de manière à l’afficher dans Grafana.
Le test est réalisé sur un commutateur virtuel Arista vEOS-lab version 4.24.2.3F tournant dans le simulateur EVE-NG. Hormis la configuration de base permettant l’accès au commutateur, seules ces quelques lignes suffisent pour utiliser gNMI/gRPC :
! management api gnmi transport grpc default !
L’objectif étant d’utiliser gNMIc comme un « Exporter » Prometheus, on va commencer par simplifier la ligne de commande au maximum afin de pouvoir le lancer facilement comme un service. Toujours dans un soucis de simplification, le comportement par défaut de gNMIc, par rapport au fichier de configuration, est respecté. Il est de la forme $HOME/gnmic.[yml, toml, json].
# gNMI target address; CLI flag --address
address: "192.168.199.61:6030"
# gNMI target user name; CLI flag --username
username: admin
# gNMI target user password; CLI flag --password
password: arista
# Connection mode; CLI flag --insecure
insecure: true
subscriptions:
# A named subscription, a key is a name
port_stats:
# List of subscription paths for that named subscription
paths:
- "/interfaces/interface[name=Management1]/subinterfaces/subinterface/state/counters/in-octets"
- "/interfaces/interface[name=Management1]/subinterfaces/subinterface/state/counters/out-octets"
# One of [on-change target-defined sample]
stream-mode: sample
sample-interval: 5s
qos: 0
outputs:
group1:
- type: prometheus
# Address to listen on for incoming scape requests
listen: :9804
# Path to query to get the metrics
path: /metrics
# Maximum lifetime of metrics in the local cache
expiration: 60s
# Enable debug for prometheus output
debug: false
Continuer la lecture de « Arista vEOS-lab, gNMIc et Prometheus » 
