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 インターフェイスは、PYTHON 以外の言語の場合は JET の外部で処理する必要がある、UI を UI に提供します(「 Python 以外の言語の JET 通知をプログラミングする」を参照してください)。詳細は、HTTPS://MOSQUITTO.ORG/ をご覧 ください

JET 通知メッセージの JSON 形式

JET 通知は JSON 形式で配信されます。JSON メッセージには、ヘッダーと属性の 2 つの部分があります。ヘッダーはすべてのイベントに共通です。イベント ID、ホスト名、時間、重大度、イベントのファシリティが含まれます。属性にはイベントに関する情報が含まれており、イベントのトピック名によって異なります。

カーネル rtsock イベントはすべて info 重大度として、施設 KERNEL は同じになります。syslogイベントの場合、重大度とファシリティはJunos OS syslogメッセージと同じです。

イベント JSON ファイルの例を次に示します。

JSON の詳細については、 JET アプリケーションのパッケージ を参照してください。

イベントのサブスクリプション

JET を使用して開発されたアプリケーションは、 表 1 に示すイベントを購読できます。 トピック は、クライアントが接続するエンドポイントです。トピックは、メッセージの公開とサブスクライブを行う一元的な配信ハブとして機能します。トピックは、UTF-8 でエンコードされたシンプルな階層型文字列で、スラッシュで区切られます。

表 1:Junos イベントのトピック

イベント

トピック

返されるイベント情報

物理インターフェイス(IFD)

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

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

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

名前、snmp-id、フラグ

論理インターフェイス(IFL)

  • /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

テーブル名、論理ルーター名、アドレスファミリー、ルートタイプ、ルートプレフィックス、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

arrayof(属性値ペア)

Python 以外言語の JET 通知のプログラミング

高位言語の多くは、利用可能なCLIDライブラリを備えています。JET アプリケーションは、対応するライブラリを使用して、Junos OS で実行されている SFP ブローカーに接続し、イベントをサブスクライブできます。例えば、以下に、RSS ブローカーに接続し、イベントにサブスクライブするサンプル JAVA プログラムを示します。 Java のサンプル、例を示します

さまざまな言語用の例のVLSライブラリの詳細については、 表2を参照してください。

表2:言語別ライブラリ

言語名

ライセンス リンク

C、モスキト

Freebsd

C++、モスキト

Freebsd

Python、モスキート

Freebsd

Ruby、Ruby-ビット

MIT ライセンス

Java、Eclipse Paho Java

Eclipseパブリックライセンス

行く、Eclipse Paho Go

Eclipseパブリックライセンス

C#、CspDotNet

カスタム ライセンス