Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

UNIX 유틸리티를 사용하여 Junos Telemetry Interface 데이터 디코딩

UNIX 유틸리티를 사용하여 주니퍼 네트웍스 디바이스에서 데이터를 스트리밍하는 서버 또는 컬렉터에서 Junos Telemetry Interface 데이터를 디코딩할 수 있습니다. 이 섹션의 예제에서는 스트리밍된 데이터의 단일 패킷을 디코딩하는 방법을 보여 줍니다.

데이터 디코딩을 위한 수집기 준비

이 예에는 다음이 필요합니다.

  • Netcat(nc) 유틸리티가 있는 UNIX OS.

  • 프로토콜 버퍼 컴파일러.

  • Junos Telemetry Interface 프로토콜은 파일을 버퍼링합니다.

이 절차에서는 Ubuntu OS를 사용하여 데이터를 디코딩하도록 수집기를 준비하는 방법을 보여줍니다.

  1. Netcat 유틸리티를 설치합니다.

  2. 프로토콜 버퍼 컴파일러를 설치합니다.

  3. 프로토콜 버퍼 개발자 라이브러리를 설치합니다.

  4. 라이브러리 파일이 설치되어 있는지 확인합니다.

  5. 최신 버전의 Junos Telemetry Interface 프로토콜 버퍼 파일을 다운로드하여 설치합니다.

    웹 브라우저에서 주니퍼 네트웍스 페이지의 All Junos Platforms software download URL( https://www.juniper.net/support/downloads/)로 이동합니다. Junos OS 플랫폼 이름과 릴리스 번호를 선택한 후 도구 섹션으로 이동하여 Junos Telemetry Interface 데이터 모델 파일 패키지를 다운로드합니다.

    메모:

    추출된 파일의 위치를 기록해 두십시오.

수집기에서 데이터 디코딩

이 절차에서는 데이터를 캡처하고, 원시 데이터를 디코딩하고, 프로토콜 버퍼 파일을 사용하여 데이터를 디코딩하는 방법을 보여줍니다.

데이터를 디코딩하려면 다음을 수행합니다.

  1. 데이터를 캡처합니다.

    UDP 수신기 모드의 대상 스트리밍 텔레메트리 서버 또는 수집기에서 netcat을 실행하여 들어오는 모든 데이터그램을 파일에 저장합니다. 주니퍼 네트웍스 디바이스의 스트리밍 서버 프로필에 구성된 대상 포트 번호를 사용합니다.

    메모:

    이 명령은 데이터그램을 라는 data.gpb파일에 저장합니다. 이 프로그램을 실행하여 데이터를 캡처합니다. 데이터 수신을 중지하려면 중단 신호를 전송하여 프로그램을 중지하십시오 (Control + C)

  2. 원시 데이터를 디코딩합니다.

    메모:

    이 단계는 선택 사항입니다. 데이터의 인코딩된 메시지 유형을 알고 있는 경우에는 필요하지 않습니다.

    파일에서 메시지를 디코딩합니다 data.gpb .

    아래의 2636 다음 중첩 구조는 센서 유형을 식별합니다. 숫자 값은 2636 파일에 정의된 telemetry_top.proto 메시지를 식별합니다JuniperNetworksSensor. 이 예에서 숫자 식별자 7 는 파일에 정의된 메시지에 해당 LogicalPort 합니다logical_port.proto. 다음 단계에서 이 정보를 사용하여 더 자세한 출력을 생성합니다.

  3. 필드 이름을 포함하도록 메시지를 디코딩합니다.

    프로토콜 버퍼 컴파일러를 디코딩 옵션으로 실행합니다. 또한 최상위 메시지 유형(TelemetryStream) 및 메시지 정의 logical_port.proto가 있는 파일을 지정합니다. 고글 프로토콜 버퍼(gpb) 라이브러리도 포함해야 합니다.

수집기에서 Junos Telemetry Interface UDP 데이터 디코딩

수집기는 수신 데이터를 읽기 위해 원격 주소 또는 포트 조합에서 수신기를 시작해야 합니다. 들어오는 데이터는 telemetry_top.proto 및 sensor proto 파일을 사용하여 디코딩할 수 있습니다.

디코딩 절차를 단순화하기 위해 수집기는 Telemetry Software 패키지의 일부로 제공된 모든 proto 파일을 로드하여 수신 데이터를 디코딩할 수 있습니다.

메모:
  1. 관리 인터페이스와 WAN 인터페이스 모두에서 스트리밍 데이터를 확인합니다. 스트리밍 서버 프로파일에서 적절한 주소를 지정합니다.
  2. 열거형과 float는 UDP 스트리밍을 위한 문자열로 스트리밍됩니다. 열거형은 gNMI가 동일한 형식을 사용하므로 문자열로 유지됩니다.
  3. float 데이터 형식의 처리는 향후 릴리스에 맞게 범위가 지정됩니다.

원격 분석 데이터가 UDP를 통해 스트리밍되는 경우 데이터가 올바르게 디코딩되고 알 수 없는 필드가 수집기에서 디코딩되지 않는지 확인합니다.

다음은 UDP를 통해 텔레메트리 데이터를 스트리밍하는 동안 관찰된 몇 가지 문제입니다.

  1. 잘못된 디코딩: 잘못된 디코딩은 원격 분석 데이터가 UDP를 통해 올바르게 스트리밍되지 않음을 의미합니다. 다음 예제에서 굵게 강조 표시된 데이터는 데이터가 올바르게 디코딩되지 않았음을 나타냅니다. 이 동작은 잘못된 인코딩 또는 잘못된 프로토 파일 패키징 때문입니다.

    다음은 올바르게 디코딩되는 데이터의 예입니다.

  2. 불완전한 데이터 스트리밍: 불완전한 데이터의 스트리밍은 출력 파일의 데이터 유효성 검사를 통해 확인해야 합니다.