Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

JET 알림 API

JET 알림 API를 사용하면 이벤트를 구독하고 콜백 기능을 지정하여 이벤트 발생 시 수신할 수 있습니다. 이러한 Python 인터페이스는 MQTT 알림 시스템에 대한 인터페이스를 제공하며, Python 이외의 언어의 경우 JET 외부에서 처리해야 합니다( 비 Python 언어에 대한 프로그래밍 JET 알림 참조). MQTT 및 Python에 대한 자세한 내용은 https://mosquitto.org/ .

JET 알림 메시지의 JSON 형식

JET 알림은 JSON 형식으로 제공됩니다. JSON 메시지에는 헤더와 속성의 두 가지 부분이 있습니다. 헤더는 모든 이벤트에 공통적으로 표시됩니다. 이벤트 ID, 호스트 이름, 시간, 심각도 및 이벤트 기능이 포함되어 있습니다. 속성에는 이벤트에 대한 정보가 포함되어 있으며 이벤트 주제 이름에 따라 달라집니다.

모든 커널 rtsock 이벤트는 info 심각도와 KERNEL 시설로 진행됩니다. syslog 이벤트의 경우 심각도와 기능은 Junos OS syslog 메시지와 동일합니다.

다음은 예시 이벤트 JSON 파일입니다.

JSON에 대한 자세한 내용은 패키지 JET 애플리케이션 을 참조하십시오.

이벤트 구독

JET를 사용하여 개발된 애플리케이션은 표 1에 나열된 이벤트를 구독할 수 있습니다. 주제 는 클라이언트가 연결하는 단말 장치입니다. 주제는 메시지 게시 및 구독을 위한 중앙 배포 허브 역할을 합니다. 주제는 포워드 슬래시로 구분되는 UTF-8에 인코딩된 단순한 계층형 문자열입니다.

표 1: Junos 이벤트 주제

이벤트

항목

반환된 이벤트 정보

IFD(Physical Interface)

  • /junos/events/kernel/interfaces/ifd/add/ifdname

  • /junos/events/kernel/interfaces/ifd/change/ifdname

  • /junos/events/kernel/interfaces/ifd/delete/ifdname

이름, snmp-id, 플래그

IFL(Logical Inteface)

  • /junos/events/kernel/interfaces/ifl/add/iflname

  • /junos/events/kernel/interfaces/ifl/change/iflname

  • /junos/events/kernel/interfaces/ifl/delete/iflname

이름, 하위유선, snmp-id, 플래그

제품군(IFF)

  • /junos/events/kernel/interfaces/iff/add/iflname/family-type

  • /junos/events/kernel/interfaces/iff/change/iflname/family-type

  • /junos/events/kernel/interfaces/iff/delete/iflname/family-type

이름, 하위유권, 가족, 테이블 이름, 플래그

주소

  • /junos/events/kernel/interfaces/ifa/add/iflname/family-type/address

  • /junos/events/kernel/interfaces/ifa/change/iflname/family-type/address

  • /junos/events/kernel/interfaces/ifa/delete/iflname/family-type/address

이름, 하위유권, 제품군, 로컬 주소, 대상 주소, 브로드캐스트 주소, 플래그

방화벽

  • /junos/events/kernel/firewall/filter/add/filtername

  • /junos/events/kernel/firewall/filter/change/filtername

  • /junos/events/kernel/firewall/filter/delete/filtername

이름, 버전, 클라이언트 id, 필터 유형, 프로토콜, 인터페이스 이름, 플래그

경로

  • /junos/events/kernel/route/add/family/prefix-with-length

  • /junos/events/kernel/route/change/family/prefix-with-length

  • /junos/events/kernel/route/delete/family/prefix-with-length

테이블 이름, 논리적 라우터 이름, 주소-제품군, 경로 유형, 경로-prefix, arrayof(nexthop-address), 플래그

경로 테이블

  • /junos/events/kernel/route-table/add/tablename/lrname

  • /junos/events/kernel/route-table/change/tablename/lrname

  • /junos/events/kernel/route-table/delete/tablename/lrname

이름, 논리적 라우터 이름, 주소 제품군, 플래그

Syslog

/junos/events/syslog/event-id

어레이(속성-가치 쌍)

비 Python 언어에 대한 JET 프로그래밍 알림

많은 상위 언어에는 MQTT 라이브러리를 사용할 수 있습니다. JET 애플리케이션은 해당 라이브러리를 사용하여 Junos OS에서 실행되는 MQTT 브로커에 연결하고 이벤트를 구독할 수 있습니다. 예를 들어, 다음은 MQTT 브로커에 연결하고 이벤트에 가입하는 샘플 JAVA 프로그램입니다. Java의 MQTT 메시징 예시입니다.

다양한 언어에 대한 MQTT 라이브러리 예에 대한 자세한 내용은 표 2를 참조하십시오.

표 2: 언어별 MQTT 라이브러리

언어 이름

라이선스 링크

모스키토 C

Freebsd

모스키토 C++( Mosquitto)

Freebsd

Python, Mosquitto

Freebsd

루비, 루비-mqtt

MIT 라이선스

Java, 이클립스 파호 자바

이클립스 퍼블릭 라이선스

이동, 이클립스 파호 이동

이클립스 퍼블릭 라이선스

C#, MqttDotNet

사용자 지정 라이선스