JET通知 API Overivew
JET通知APIを使用すると、イベントを購読し、イベントの発生時にイベントを受信するコールバック関数を指定できます。これらの Python インターフェイスは、Python 以外の言語については、JET 以外の言語で処理する必要がある、という、THE 型の通知システムへのインターフェイスを提供します(「 非 Python 言語向けプログラミング JET 通知 」を参照してください)。HTTPS://MOSQUITTO.ORG/ の詳細については、 を参照 してください 。
JSON 形式の通知JETメッセージ
JETは JSON 形式で配信されます。JSON メッセージには、ヘッダーと属性の 2 つの部分があります。ヘッダーは、すべてのイベントで共通です。イベント ID、ホスト名、時間、重大度、イベントの設備が含されます。属性にはイベントに関する情報が含まれているので、イベントのトピック名によって異なります。
カーネル rtsock イベントはすべて重大度として info
、施設として KERNEL
発生します。syslog イベントの場合、重大度と設備は Syslog メッセージの重大度とJunos OSされます。
イベント JSON ファイルの例を以下に示します。
“jet-event”: { “event-id”: “KERNEL_EVENT_IFD_ADD” “hostname”: “mydevice”, “time”: “2016-01-07”, “severity”: “info”, “facility”: “KERNEL”, “attributes”: { “name”: “ge-0/0/0”, “snmp-id”: 520, “flags”: 8 } }
JSON の詳細については、「 package JET Applications 」を参照してください。
イベントの加入
データ ツールを使用してJET、表 1 に示すイベントを 購読できます。トピック は 、クライアントが接続するエンドポイントです。トピックは、メッセージの公開と加入のための中央配布ハブとして機能します。トピックはシンプルで階層型の文字列で、UTF-8 でエンコードされ、スラッシュで区切っています。
イベント |
トピック |
返されるイベント情報 |
---|---|---|
物理インターフェイス(IFD) |
|
名前、snmp-id、フラグ |
論理インターフェイス(IFL) |
|
名前、サブユニット、snmp-id、フラグ |
ファミリー(IFF) |
|
名前、サブユニット、ファミリー、テーブル名、フラグ |
アドレス |
|
名前, サブユニット, ファミリー, ローカル アドレス, 宛先アドレス, ブロードキャスト アドレス, フラグ |
ファイアウォール |
|
名前、バージョン、client-id、フィルター タイプ、プロトコル、インターフェイス名、フラグ |
ルート |
|
table-name, 論理ルーター名, アドレスファミリー, ルートタイプ, ルートプレフィックス, arrayof(nexthop-address) フラグ |
ルート テーブル |
|
名前、論理ルーター名、アドレス ファミリー、フラグ |
Syslog |
/junos/events/syslog/event-id |
arrayof(属性と値のペア) |
Python JET対応のプログラミングおよび通知
高レベル言語の多くは、利用可能なS多くのライブラリを備え、アプリケーションJET対応するライブラリを使用して、イベントの通知や購読で実行されているJUNOS OSブローカーに接続できます。例えば、ここには、例えば、JAVAプログラムのサンプルが、1つのSDSブローカーに接続し、イベントの加入を行います。例:JAVAのSD-3 メッセージの例です。
異なる言語用の場合の、次の表 2 を参照してください。
言語名 |
ライセンス リンク |
---|---|
C、モズキット |
|
C++、Mosquitto |
|
Python、Mosquitto |
|
Ruby、Ruby-ruby-ruby |
|
Java、Eclipse Paho Java |
|
Go, Eclipse Paho Go |
|
C#、WebDotNet |