gNMI Genstate 구독
Junos OS Evolved 릴리스 24.2R1부터 주니퍼 네트웍스는 genstate YANG 데이터 모델을 게시합니다. 모델은 genstate
Junos 디바이스의 운영 상태 데이터에 대한 구독 가능한 YANG 모델입니다. gNMI 클라이언트는 모델에 정의된 리소스 경로를 구독하여 특정 상태 데이터를 검색할 수 있습니다.
주니퍼/yang GitHub 리포지토리 또는 주니퍼 네트웍스에서 모델을 보거나 다운로드하십시오.
새 모델을 사용하여 gRPC 다이얼 인 환경의 gNMI 클라이언트는 수집기에 대해서만 SAMPLE 하위 모드의 genstate 리소스 경로 및 STREAM 통계를 구독할 수 있습니다. ON_CHANGE 하위 모드는 지원되지 않습니다.
다음 구독 예에서는 X.509 인증서를 사용하여 상호 인증을 위해 구성된 대상 장치를 사용합니다. 구독 요청은 대상 장치의 로컬 인증서를 확인하는 데 필요한 루트 CA 인증서를 제공하며, 대상 장치가 클라이언트를 인증할 수 있도록 클라이언트의 키와 인증서도 제공합니다. 구독은 STREAM 모드 및 하위 모드 SAMPLE을 사용하고 리소스 경로 genstate:/genstate/system-information/os-version
에 대한 데이터를 요청합니다. 수집기에 반환된 텔레메트리 데이터는 대상 디바이스가 Junos OS 버전 24.2R1.12-EVO
에서 작동하고 있음을 보여줍니다.
user@controller:~$ gnmic sub -a 198.51.100.10:32767 --mode stream --stream-mode sample -u grpc-user -p secret --tls-ca certs/serverRootCA.crt --tls-cert certs/client.crt --tls-key certs/client.key --sample-interval 30s --path genstate:/genstate/system-information/os-version { "source": "198.51.100.10:32767", "subscription-name": "default-1708559603", "timestamp": 1708559609668499930, "time": "2024-02-21T15:53:29.66849993-08:00", "prefix": "genstate:genstate/system-information/os-version", "updates": [ { "Path": "os-version", "values": { "os-version": "24.2R1.12-EVO" } } ] }
이어지는 구독 예에서는 X.509 인증서를 사용하여 상호 인증을 위해 구성된 대상 장치를 다시 사용합니다. 구독은 STREAM 모드 및 하위 모드 SAMPLE을 사용하고 리소스 경로 genstate:/genstate/interface-information/physical-interface[name=et-1/0/1]/admin-status
에 대한 데이터를 요청합니다. (관리 상태)는 인터페이스가 admin-status
활성화되었는지(업) 또는 비활성화되었는지(다운)를 나타냅니다. 수집기로 반환된 텔레메트리 데이터는 물리적 인터페이스 et-1/0/1
가 임을 up
보여줍니다.
user@controller:~$ gnmic sub -a 198.51.100.10:32767 --mode stream --stream-mode sample -u grpc-user -p secret --tls-ca certs/serverRootCA.crt --tls-cert certs/client.crt --tls-key certs/client.key --sample-interval 30s --path genstate:/genstate/interface-information/physical-interface[name=et-1/0/1]/admin-status { "source": "198.51.100.10:32767", "subscription-name": "default-1708561308", "timestamp": 1708561313983469233, "time": "2024-02-21T16:21:53.983469233-08:00", "prefix": "genstate:genstate/interface-information/physical-interface[name=et-1/0/1]/admin-status", "updates": [ { "Path": "admin-status", "values": { "admin-status": "up" } } ] }