Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Suscribirse a datos de telemetría mediante gNMI

El protocolo gNMI define el Subscribe RPC para suscribirse a datos de telemetría. El recopilador de telemetría usa esta RPC para solicitar actualizaciones del dispositivo de red para obtener datos de estado y configuración.

Las solicitudes de nuevas suscripciones se encapsulan dentro de un SubscribeRequest mensaje que contiene una o varias rutas de recursos. Las rutas suscritas se relacionan con instancias de datos específicas en el dispositivo de red de destino. La solicitud puede contener rutas basadas en OpenConfig o esquemas nativos de Junos.

La solicitud de suscripción también debe incluir uno de los siguientes modos:

  • ONCE - una solicitud única de datos.

  • POLL - para la recuperación periódica y bajo demanda de datos.

  • STREAM - Una suscripción de larga duración que transmite datos de acuerdo con desencadenantes especificados.

Las suscripciones en STREAM modo deben especificar uno de los siguientes submodos:

  • ON_CHANGE - Las actualizaciones de datos solo se envían cuando cambia el valor del elemento de datos.

  • SAMPLE - Las actualizaciones de datos se envían una vez por intervalo de muestra en función de un período de intervalo especificado en la solicitud de suscripción. El intervalo de muestreo predeterminado es de 30 segundos.

  • TARGET_DEFINED - El dispositivo de red que recibe la solicitud de suscripción determina el mejor tipo de entrega para los datos por hoja. Si la ruta especificada en el mensaje hace referencia a datos controlados por eventos, es posible que se cree una ON_CHANGE suscripción. Para los datos que representan valores de contador, se puede crear una SAMPLE suscripción.

    Nota:

    Las TARGET_DEFINED solicitudes de suscripción para rutas de configuración se tratan únicamente como ON_CHANGE solicitudes.

Para ONCElas suscripciones ON_CHANGE y SAMPLE las suscripciones, el recopilador puede solicitar una actualización inicial que contenga el estado actual de las rutas de acceso de la suscripción. Esta actualización, también conocida como sincronización inicial, es valiosa porque:

  • El recolector tiene una vista completa del estado actual de cada campo del dispositivo para esa ruta del sensor.

  • El recopilador recibe datos controlados por eventos (ON_CHANGE) al menos una vez antes de que se vea el siguiente evento. De esta manera, el recopilador es consciente del estado de los datos antes de que ocurra el siguiente evento.

  • Se envían sensores del motor de reenvío de paquetes que contienen valores de contador cero que normalmente no aparecen en los datos transmitidos debido a la supresión de cero. Esto garantiza que el recolector conozca todos los campos de cada tarjeta de línea.

El dispositivo de destino responde a la solicitud de suscripción con un SubscribeResponse mensaje. Si la solicitud de suscripción requiere una sincronización inicial, el destino envía los datos seguidos del mensaje de respuesta con el sync_response indicador establecido en true. Después de la sincronización inicial, el dispositivo de destino continúa con las actualizaciones de las rutas de acuerdo con el modo de suscripción.

El SubscribeRequest mensaje incluye un indicador denominado updates_only. Cuando este indicador se establece en , el dispositivo de destino no envía una sincronización inicial, solo actualizaciones posteriores como se indica a truecontinuación:

  • Para STREAM las suscripciones en SAMPLE modo, la actualización se envía en el siguiente intervalo de ejemplo.

  • Para STREAM las suscripciones en ON_CHANGE modo, la actualización se envía al siguiente cambio de valor.

  • En el caso de ONCE las suscripciones, solo se envía el SubscribeResponse con sync_response establecido en falsey la suscripción se cierra.

  • TARGET_DEFINED Las suscripciones se tratan como ON_CHANGE rutas de configuración y la actualización se envía en el siguiente cambio de valor.

El contenido de los mensajes y SubscribeResponse se define en el SubscribeRequest archivo gnmi.proto. Para obtener más información sobre el RPC de suscripción y los modos de suscripción, consulte la especificación de gNMI en: Especificación de gNMI: suscripción a actualizaciones de telemetría.

Nota:

Las siguientes limitaciones se aplican a las rutas de configuración:

  • POLL No se admiten suscripciones.

  • Las rutas de prefijo no se incluyen en los mensajes de actualización.

  • La respuesta gNMI no es compatible con operaciones de metadatos específicas de Juniper, como active/inactive, insert before/after, comment/annotatey protect/unprotect. Estos pueden aparecer en el mensaje, pero no son válidos.

  • Parámetros no admitidos en el SubscribeRequest cuadro incluyen suppress_redundant, heartbeat_level, allow_aggregation, y qos.

  • Solo se admite la codificación PROTO.

  • No se admiten extensiones en SubscribeRequest mensajes

  • El filtrado de las rutas de suscripción solo se admite a nivel de clave.

  • No se admiten ON_CHANGE las siguientes variantes de confirmación y TARGET_DEFINED suscripciones:

    commit at, commit prepare/activatey confirmaciones por lotes.
  • No se admiten confirmaciones desde el

    edit dynamic y edit private editar o configurar modos.
  • Los mensajes de actualización no se envían para los contenedores de presencia.

  • Para las listas de suscripción en las que el identificador o la clave es la única hoja configurada, es posible que no haya un mensaje de actualización.

Ejemplos

Los siguientes ejemplos muestran las solicitudes de suscripción y las respuestas realizadas por un cliente gNMI y un dispositivo de destino en formato protobuf.

Ejemplo: modo ONCE

El siguiente ejemplo muestra una solicitud de suscripción enviada desde un cliente gNMI en formato protobuf. El modo de suscripción es ONCE y la ruta del recurso de OpenConfig es /system/aaa/authentication/users:

El destino responde con una actualización única:

Ejemplo: ON_CHANGE

En el ejemplo siguiente se muestra una solicitud de suscripción en STREAM modo con ON_CHANGE submodo. La ruta del recurso de OpenConfig es /system/aaa/authentication/users/user[username="test1"]:

La configuración de OpenConfig en el momento de la solicitud de suscripción:

El mensaje de respuesta de ejemplo muestra los valores de las rutas de configuración y el sync_response indicador establecido en true:

Se realizan los siguientes cambios de configuración en las rutas suscritas:

  • Agregue el nombre de usuario para test1.

  • Elimine la contraseña de test1.

El dispositivo de destino envía la siguiente actualización en respuesta:

Ejemplo: SAMPLE

En el ejemplo siguiente se muestra una solicitud de suscripción en STREAM modo y SAMPLE submodo. La ruta del recurso de OpenConfig es /system/aaa/authentication/users/user[username="test1"]:

La configuración de OpenConfig en el momento de la solicitud de suscripción:

Los mensajes de respuesta de ejemplo muestran una actualización inicial enviada con el indicador establecido en true y actualizaciones posteriores enviadas a intervalos de sync_response 5 segundos: