Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Decodificación de datos de interfaz de telemetría de Junos con utilidades de UNIX

Puede usar utilidades de UNIX para descodificar datos de interfaz de telemetría de Junos en un servidor o recopilador que transmita datos desde un dispositivo de Juniper Networks. En el ejemplo de esta sección se muestra cómo descodificar un único paquete de datos transmitidos.

Preparación del recopilador para descodificar datos

Este ejemplo requiere lo siguiente:

  • Sistema operativo UNIX con la utilidad Netcat (nc).

  • Compilador de búferes de protocolo.

  • El protocolo de búfer de la interfaz de telemetría de Junos almacena archivos en búfer.

Este procedimiento muestra cómo preparar el recopilador para descodificar datos utilizando el sistema operativo Ubuntu.

  1. Instale la utilidad Netcat.

  2. Instale el compilador de búferes de protocolo.

  3. Instale la biblioteca del desarrollador de búferes de protocolo.

  4. Compruebe que los archivos de biblioteca están instalados.

  5. Descargue e instale la versión más reciente de los archivos de búferes del protocolo de interfaz de telemetría de Junos.

    Desde un navegador web, vaya a la URL de descarga del software Todas las plataformas Junos en la página de Juniper Networks: https://www.juniper.net/support/downloads/. Después de seleccionar el nombre de la plataforma Junos OS y el número de versión, vaya a la sección Herramientas y descargue el paquete Archivos de modelo de datos de la interfaz de telemetría de Junos .

    Nota:

    Asegúrese de anotar la ubicación de los archivos extraídos.

Decodificación de datos en el recopilador

En este procedimiento se muestra cómo capturar datos, descodificar datos sin procesar y utilizar los archivos de búferes de protocolo para descodificar datos.

Para descodificar datos:

  1. Capture los datos.

    Ejecute netcat en un servidor de telemetría de streaming de destino, o recopilador, en modo de escucha UDP para almacenar todos los datagramas entrantes en un archivo. Utilice el número de puerto de destino configurado en el perfil del servidor de streaming en su dispositivo de Juniper Networks.

    Nota:

    Este comando almacena los datagramas en un archivo denominado data.gpb. Ejecute este programa para capturar datos. Cuando desee dejar de recibir datos, deténgase con el programa enviando la señal de interrupción (Control + C)

  2. Decodificar datos sin procesar.

    Nota:

    Este paso es opcional. No es necesario si conoce el tipo de mensaje codificado de los datos.

    Descodifique el mensaje del data.gpb archivo.

    La siguiente estructura anidada en 2636 identifica el tipo de sensor. El valor 2636 numérico identifica el JuniperNetworksSensor mensaje, que se define en el telemetry_top.proto archivo. En este ejemplo, el identificador 7 numérico corresponde al LogicalPort mensaje definido en el logical_port.proto archivo. Utilice esta información en el siguiente paso para generar resultados más detallados.

  3. Descodificar el mensaje para incluir nombres de campo.

    Ejecute el compilador de búferes de protocolo con la opción de descodificación. Además, especifique el tipo de mensaje de nivel superior (TelemetryStream) y el archivo con la definición del mensaje, logical_port.proto. También debe incluir la biblioteca de búferes de protocolo de Goggle (gpb).

Decodificación de datos UDP de interfaz de telemetría de Junos en el recopilador

El recopilador debe iniciar un agente de escucha en la dirección remota o en la combinación de puertos para leer los datos entrantes. Los datos entrantes se pueden decodificar utilizando los archivos telemetry_top.proto y el sensor proto.

Para simplificar el procedimiento de decodificación, los recopiladores pueden cargar todos los archivos proto enviados como parte del paquete Telemetry Software para decodificar los datos entrantes.

Nota:
  1. Verifique los datos de streaming en las interfaces de administración y WAN. Especifique la dirección adecuada en el perfil del servidor de streaming.
  2. Las enumeraciones y float se transmiten como cadenas para la transmisión UDP. Las enumeraciones se conservarán como cadenas ya que gNMI usa el mismo formato.
  3. El ámbito del control del tipo de datos flotante está definido para una versión futura.

Cuando los datos de telemetría se transmitan a través de UDP, asegúrese de que los datos se decodifican correctamente y de que los campos desconocidos no se decodifican en el recopilador.

A continuación se muestran algunos problemas observados al transmitir datos de telemetría a través de UDP:

  1. Decodificación incorrecta: la decodificación incorrecta implica que los datos de telemetría no se transmiten correctamente a través de UDP. En el ejemplo siguiente, los datos resaltados en negrita indican que los datos no se decodificaron correctamente. Este comportamiento se debe a una codificación incorrecta o a un empaquetado incorrecto del archivo proto.

    A continuación se muestra el ejemplo de los datos que se decodifican correctamente:

  2. Transmisión de datos incompleta: la transmisión de datos incompletos debe verificarse mediante la validación de datos en el archivo de salida.