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: falseContinuer la lecture de « Arista vEOS-lab, gNMIc et Prometheus »