ジュニパーのロゴ

ジュニパーネットワークスストリーミング API ソフトウェアJuniper-NETWORKS-Streaming-API-ソフトウェア-製品

製品情報

仕様

  • 製品名: パラゴン アクティブ アシュアランス
  • バージョン: 4.1
  • 発行日: 2023-03-15

導入:
このガイドでは、製品のストリーミング API を使用して Paragon Active Assurance からデータを抽出する方法について説明します。ストリーミング クライアントと API は Paragon Active Assurance のインストールに含まれていますが、API を使用する前にいくつかの設定が必要です。構成プロセスについては、「ストリーミング API の構成」セクションで説明します。

ストリーミング API の構成:
次の手順は、ストリーミング API を構成するプロセスの概要を示しています。

以上view
Kafka は、さまざまなソースからのデータをリアルタイムにキャプチャして保存するために設計されたイベント ストリーミング プラットフォームです。これにより、分散型、スケーラブル、フォールトトレラントかつ安全な方法でイベント ストリームを管理できます。このガイドは、Paragon Active Assurance Control Center のストリーミング API 機能を利用するための Kafka の構成に焦点を当てています。

用語
ストリーミング API を使用すると、外部クライアントが Kafka からメトリクス情報を取得できるようになります。テストまたは監視タスク中にテスト エージェントによって収集されたメトリックは、ストリーム サービスに送信されます。処理後、Stream サービスはこれらのメトリクスを追加のメタデータとともに Kafka 上で公開します。

カフカのトピック
ストリーミング API は、Kafka トピックを利用してメトリクスとメタデータを整理および保存します。 Kafka トピックは、特定の要件に従って作成および管理できます。

ストリーミング API を有効にする
ストリーミング API を有効にするには、次の手順に従います。

  1. sudo を使用して、コントロール センター サーバーで次のコマンドを実行します。
KAFKA_METRICS_ENABLED = True sudo ncc サービスは timescaledb メトリクスを有効にします sudo ncc サービスは timescaledb メトリクスを開始します sudo ncc サービスは再起動します

ストリーミング API がコントロール センターで動作することを確認する:
正しい Kafka トピックに関するメトリクスを受信して​​いることを確認するには:

  1. 次のコマンドを使用して kafkacat ユーティリティをインストールします。
    sudo apt-getアップデート
    sudo apt-get install kafkacat
  1. 「myaccount」をアカウントの短縮名に置き換えます。
    コントロールセンター URL:
    import METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    import METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. 次のコマンドを実行して view メトリクス:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    注記: 上記のコマンドはメトリクスを表示します。
  2. に view メタデータを取得するには、次のコマンドを実行します。
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

注記: 上記のコマンドはメタデータを表示しますが、それほど頻繁には更新されません。

クライアント例ampレ
元クライアントの場合ampファイルおよび詳細については、ユーザーマニュアルの 14 ページを参照してください。

FAQ(よくある質問)

  • Q: パラゴン アクティブ アシュアランスとは何ですか?
    A: Paragon Active Assurance は、監視およびテスト機能を提供する製品です。
  • Q: ストリーミング API とは何ですか?
    A: ストリーミング API は、外部クライアントが Kafka からメトリクス情報を取得できるようにする Paragon Active Assurance の機能です。
  • Q: ストリーミング API を有効にするにはどうすればよいですか?
    A: ストリーミング API を有効にするには、ユーザー マニュアルの「ストリーミング API の有効化」セクションに記載されている手順に従ってください。
  • Q: ストリーミング API が動作していることを確認するにはどうすればよいですか?
    A: ストリーミング API の機能を確認する方法については、「コントロール センターでストリーミング API が動作することを確認する」セクションを参照してください。

導入

このガイドでは、製品のストリーミング API を介して Paragon Active Assurance からデータを抽出する方法について説明します。
API とストリーミング クライアントは Paragon Active Assurance インストールに含まれています。ただし、API を使用する前に、少しの設定が必要です。これについては、1 ページの「ストリーミング API の設定」の章で説明します。

以上view
この章では、ストリーミング API を構成して、Kafka 経由でメトリクス メッセージをサブスクライブできるようにする方法について説明します。
pr
以下で説明します。

  • ストリーミング API を有効にする方法
  • 外部クライアントをリッスンするように Kafka を構成する方法
  • ACL を使用するように Kafka を構成し、クライアントの SSL 暗号化をセットアップする方法

カフカとは?
Kafka は、イベント ストリームの形式でさまざまなイベント ソース (センサー、データベース、モバイル デバイス) から送信されたデータをリアルタイムでキャプチャできるようにするイベント ストリーミング プラットフォームであり、後で取得および操作するためにこれらのイベント ストリームを永続的に保存することもできます。
Kafka を使用すると、イベント ストリーミングをエンド ツー エンドで、分散型で拡張性が高く、弾力性があり、フォールト トレラントで安全な方法で管理できます。

注記: Kafka はさまざまな方法で構成でき、スケーラビリティと冗長システムを考慮して設計されています。このドキュメントでは、Paragon Active Assurance Control Center にあるストリーミング API 機能を利用するための設定方法のみに焦点を当てています。より高度なセットアップについては、Kafka の公式ドキュメント (kafka.apache.org/26/documentation.html) を参照してください。

用語

  • Kafka: イベント ストリーミング プラットフォーム。
  • Kafka トピック: イベントのコレクション。
  • Kafka サブスクライバー/コンシューマー: Kafka トピックに格納されたイベントの取得を担当するコンポーネント。
  • Kafka ブローカー: Kafka クラスターのストレージ層サーバー。
  • SSL/TLS: SSL は、インターネット上で情報を安全に送信するために開発された安全なプロトコルです。 TLS は、1999 年に導入された SSL の後継です。
  • SASL: ユーザー認証、データ整合性チェック、および暗号化のメカニズムを提供するフレームワーク。
  • ストリーミング API サブスクライバー: Paragon Active Assurance で定義されたトピックに格納された、外部アクセス用のトピックに格納されたイベントの取得を担当するコンポーネント。
  • 認証局: 公開鍵証明書の発行と取り消しを行う信頼できるエンティティ。
  • 認証局ルート証明書: 認証局を識別する公開鍵証明書。

ストリーミング API の仕組み
前述のように、ストリーミング API を使用すると、外部クライアントは Kafka からメトリックに関する情報を取得できます。

テストまたは監視タスク中にテスト エージェントによって収集されたすべてのメトリックは、ストリーム サービスに送信されます。処理フェーズの後、Stream サービスは追加のメタデータとともにそれらのメトリクスを Kafka 上で公開します。

Juniper-NETWORKS-ストリーミング-API-ソフトウェア- (1)

カフカのトピック
Kafka には、すべてのデータが公開されるトピックの概念があります。 Paragon Active Assurance には、このような Kafka トピックが多数用意されています。 ただし、これらのサブセットのみが外部アクセス用です。
Control Center の各 Paragon Active Assurance アカウントには、XNUMX つの専用トピックがあります。 以下の ACCOUNT は、アカウントの短縮名です。

  • paa.public.accounts.{ACCOUNT}.metrics
    • 指定されたアカウントのすべてのメトリクス メッセージがこのトピックに公開されます
    • 大量のデータ
    • 更新頻度が高い
  • paa.public.accounts.{ACCOUNT}.metadata
    • メトリクス データに関連するメタデータが含まれています。ampメトリクスに関連付けられたテスト、モニター、またはテスト エージェント
    • 少量のデータ
    • 更新頻度が低い

ストリーミング API を有効にする

注記: これらの手順は、sudo を使用してコントロール センター サーバー上で実行されます。

ストリーミング API はコントロール センターにいくらかのオーバーヘッドを追加するため、デフォルトでは有効になっていません。 API を有効にするには、まずメイン構成で Kafka へのメトリクスの発行を有効にする必要があります file:

KAFKA_METRICS_ENABLED = True

警告: この機能を有効にすると、コントロール センターのパフォーマンスに影響を与える可能性があります。 それに応じてインスタンスのサイズが設定されていることを確認してください。

次に、これらのメトリクスを正しい Kafka トピックに転送できるようにします。

ストリーミング api: true

ストリーミング API サービスを有効にして開始するには、次を実行します。

  • sudo ncc サービスは timescaledb メトリクスを有効にします
  • sudo ncc サービスの開始 timescaledb メトリクス

最後に、サービスを再起動します。

  • sudo ncc サービスの再起動

ストリーミング API がコントロール センターで機能することを確認する

注記: これらの手順は、コントロール センター サーバーで実行されます。

正しい Kafka トピックに関するメトリクスを受信して​​いることを確認できるようになりました。 これを行うには、kafkacat ユーティリティをインストールします。

  • sudo apt-getアップデート
  • sudo apt-get install kafkacat

コントロール センターでテストまたはモニターを実行している場合は、kafkacat を使用して、これらのトピックに関するメトリックとメタデータを受信できるはずです。
myaccount をアカウントの短い名前に置き換えます (これは、コントロール センターに表示されるものです) URL):

  • import METRICS_TOPIC=paa.public.accounts.myaccount.metrics
  • import METADATA_TOPIC=paa.public.accounts.myaccount.metadata

次のコマンドを実行すると、メトリックが表示されるはずです。

  • kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e

に view 次のコマンドを実行します (これは頻繁に更新されないことに注意してください)。

  • kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

注記:
kafkacat「クライアント元」amples」(14ページ)

これにより、Control Center 内からストリーミング API が機能していることを確認できます。 ただし、ほとんどの場合、代わりに外部クライアントからデータにアクセスすることに関心があります。 次のセクションでは、外部アクセス用に Kafka を開く方法について説明します。

外部ホスト用に Kafka を開く

注記: これらの手順は、コントロール センター サーバーで実行されます。

デフォルトでは、コントロール センターで実行されている Kafka は、内部使用のためにローカルホストでのみリッスンするように構成されています。 Kafka 設定を変更することで、外部クライアント用に Kafka を開くことができます。

Kafka への接続: 注意事項

注意: これらの概念を理解していないと、Kafka との接続の問題が発生しやすいため、これを注意深くお読みください。

このドキュメントで説明されているコントロール センターのセットアップでは、Kafka ブローカーは XNUMX つだけです。
ただし、Kafka ブローカーは、多くの Kafka ブローカーで構成される可能性がある Kafka クラスターの一部として実行されることを意図していることに注意してください。
Kafka ブローカーに接続するとき、最初の接続は Kafka クライアントによって設定されます。 この接続を介して、Kafka ブローカーは、XNUMX つ以上の Kafka ブローカーのリストである「アドバタイズされたリスナー」のリストを返します。
このリストを受信すると、Kafka クライアントは切断され、これらのアドバタイズされたリスナーの XNUMX つに再接続します。 アドバタイズされたリスナーには、Kafka クライアントがアクセスできるホスト名または IP アドレスが含まれている必要があります。含まれていない場合、クライアントは接続に失敗します。
特定のホスト名に関連付けられた SSL 証明書を含む SSL 暗号化が使用される場合、接続が拒否される可能性があるため、Kafka クライアントが接続先の正しいアドレスを受信することがさらに重要になります。
Kafka リスナーの詳細については、こちらをご覧ください。 www.confluent.io/blog/kafka-listeners-explained

SSL/TLS暗号化
信頼できるクライアントのみが Kafka とストリーミング API にアクセスできるようにするには、次のように構成する必要があります。

  • 認証: クライアントは、クライアントと Kafka の間の SSL/TLS 安全な接続を介してユーザー名とパスワードを提供する必要があります。
  • 承認: 認証されたクライアントは、ACL によって規制されているタスクを実行できます。

以上ですview:

Juniper-NETWORKS-ストリーミング-API-ソフトウェア- (2)

*) SSL 暗号化チャネルで実行されるユーザー名/パスワード認証

Kafka での SSL/TLS 暗号化がどのように機能するかを完全に理解するには、公式ドキュメントを参照してください: docs.confluent.io/platform/current/kafka/encryption.html

SSL/TLS 証明書オーバーview

注記: このサブセクションでは、次の用語を使用します。

証明書: 認証局 (CA) によって署名された SSL 証明書。各 Kafka ブローカーには 1 つあります。
キーストア: キーストア file 証明書を格納します。 キーストア file 証明書の秘密鍵が含まれています。 したがって、安全に保管する必要があります。
トラストストア: あ file 信頼できる CA 証明書が含まれています。

外部クライアントとコントロール センターで実行されている Kafka の間の認証をセットアップするには、両方の側で、認証局 (CA) によって署名された関連証明書と CA ルート証明書を使用して定義されたキーストアが必要です。
これに加えて、クライアントには CA ルート証明書を含むトラストストアも必要です。
CA ルート証明書は、Kafka ブローカーと Kafka クライアントに共通です。

必要な証明書の作成
これについては、17 ページの「付録」を参照してください。

コントロール センターでの Kafka ブローカーの SSL/TLS 構成

注記: これらの手順は、コントロール センター サーバーで実行されます。

注記: 続行する前に、17 ページの「付録」の手順に従って、SSL 証明書を含むキーストアを作成する必要があります。以下に示すパスは、これらの手順に基づいています。
SSL キーストアは file とともにディスクに保存されます。 file 拡張子.jks.

Kafka ブローカーと Kafka クライアントの両方に必要な証明書を作成したら、コントロール センターで実行されている Kafka ブローカーを構成して続行できます。 次のことを知っておく必要があります。

  • : コントロール センターのパブリック ホスト名。 これは解決可能で、Kafka クライアントがアクセスできる必要があります。
  • : SSL 証明書の作成時に指定されたキーストアのパスワード。
  • そして: これらは、管理者ユーザーとクライアント ユーザーにそれぞれ設定するパスワードです。例に示すように、さらにユーザーを追加できることに注意してください。ampル。

/etc/kafka/server.properties で以下のプロパティを編集または追加 (sudo アクセスを使用) し、上記の変数を次のように挿入します。

警告: PLAINTEXT://localhost:9092 は削除しないでください。これにより、内部サービスが通信できなくなるため、コントロール センターの機能が停止します。

  • # Kafka ブローカーがリッスンするアドレス。
  • リスナー=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # これらは、接続しているクライアントにアドバタイズされたホストです。
  • 広告.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
  • ####### カスタム設定
  • # SSL 設定
  • ssl.endpoint.identification.algorithm=
    ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
  • ssl.keystore.password=
  • ssl.key.password=
  • ssl.client.auth=なし
  • ssl.protocol=TLSv1.2
  • # SASL 設定
  • sasl.enabled.mechanisms=PLAIN
  • ユーザー名=”管理者” \
  • パスワード=” ” \
  • user_admin=” ” \
  • ユーザー_クライアント=” ”;
  • # user_ を使用してさらにユーザーを追加できることに注意してください=
  • # 認証、ACL をオンにする
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=ユーザー:管理者

アクセス制御リスト (ACL) の設定

localhost で ACL をオンにする

警告: コントロール センター自体が引き続き Kafka にアクセスできるように、最初に localhost の ACL を設定する必要があります。これを行わないと、物事が壊れてしまいます。

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties Zookeeper.connect=localhost:2181 \
  • –add –allow-principal ユーザー:ANONYMOUS –allow-host 127.0.0.1 –cluster
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties Zookeeper.connect=localhost:2181 \
  • –add –allow-principal ユーザー:ANONYMOUS –allow-host 127.0.0.1 –topic '*'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties Zookeeper.connect=localhost:2181 \
  • –add –allow-principal ユーザー:ANONYMOUS –allow-host 127.0.0.1 –group '*'

次に、外部ユーザーが paa.public.* トピックを読み取れるように、外部の読み取り専用アクセスに対して ACL を有効にする必要があります。

### 匿名ユーザーの ACL エントリ /usr/lib/kafka/bin/kafka-acls.sh \

注記: より詳細な制御については、Kafka の公式ドキュメントを参照してください。

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties Zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:* – オペレーション読み取り – オペレーション記述 \ –group 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties Zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:* –operation read –operation description \ –topic paa.public. –resource-pattern-type 接頭辞付き

これが完了したら、サービスを再起動する必要があります。

### 外部ユーザーの ACL エントリ /usr/lib/kafka/bin/kafka-acls.sh \
  • sudo ncc サービスの再起動

クライアントが安全な接続を確立できることを確認するには、外部サーバーで次のコマンドを実行します。
クライアント コンピューター (コントロール センター サーバー上ではない)。以下の PUBLIC_HOSTNAME はコントロール センターのホスト名です。

  • openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep 「セキュアな再ネゴシエーションはサポートされています」

コマンド出力には、サーバー証明書と次の内容が表示されます。

  • セキュアな再ネゴシエーションがサポートされています

内部サービスに Kafka サーバーへのアクセスが許可されていることを確認するには、次のログを確認してください。files:

  • /var/log/kafka/server.log
  • /var/log/kafka/kafka-authorizer.log

外部クライアント接続の検証

カフカキャット

注記: これらの手順は、(コントロール センター サーバーではなく) クライアント コンピューターで実行されます。
注記: メトリクス情報を表示するには、少なくとも 1 つのモニターがコントロール センターで実行されていることを確認してください。

外部クライアントとしての接続を確認および検証するには、4 ページの「ストリーミング API がコントロール センターで機能することを確認する」セクションでインストールされた kafkacat ユーティリティを使用できます。
次の手順を実行します。

注記: 以下の CLIENT_USER は、以前に file コントロール センターの /etc/kafka/server.properties: つまり、user_client とそこに設定されているパスワード。
サーバー側の SSL 証明書に署名するために使用される CA ルート証明書は、クライアントに存在する必要があります。

作成する file 次の内容の client.properties:

  • security.protocol=SASL_SSL
  • ssl.ca.location={PATH_TO_CA_CERT}
  • sasl.mechanisms=PLAIN
  • sasl.username={CLIENT_USER}
  • sasl.password={CLIENT_PASSWORD}

どこ

  • {PATH_TO_CA_CERT} は、Kafka ブローカーによって使用される CA ルート証明書の場所です。
  • {CLIENT_USER} と {CLIENT_PASSWORD} は、クライアントのユーザー認証情報です。

次のコマンドを実行して、kafkacat によって消費されるメッセージを確認します。

  • エクスポート KAFKA_FQDN=
  • METRICS_TOPIC=paa.public.accounts をエクスポートします。 .metrics
  • kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

ここで、{METRICS_TOPIC} は Kafka トピックの名前で、プレフィックスは「paa.public.」です。

注記: 古いバージョンの kafkacat には、クライアント設定を読み取るための -F オプションがありません。 file. このようなバージョンを使用している場合は、以下に示すように、コマンド ラインから同じ設定を指定する必要があります。

kafkacat -b ${KAFKA_FQDN}:9093 \

  • X security.protocol=SASL_SSL \
  • X ssl.ca.location={PATH_TO_CA_CERT} \
  • X sasl.mechanisms=PLAIN \
  • X sasl.username={CLIENT_USER} \
  • X sasl.password={CLIENT_PASSWORD} \
  • t ${METRICS_TOPIC} -C -e

接続をデバッグするには、-d オプションを使用できます。

コンシューマー通信をデバッグする
kafkacat -d Consumer -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# ブローカ通信のデバッグ
kafkacat -d ブローカー -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

プロパティは client.properties のプロパティと異なる場合があるため、使用中の Kafka クライアント ライブラリのドキュメントを必ず参照してください。

メッセージフォーマット
メトリクスとメタデータのトピックに使用されるメッセージは、プロトコル バッファ (protobuf) 形式でシリアル化されます (を参照)。 developers.google.com/protocol-buffers)。 これらのメッセージのスキーマは、次の形式に従います。

メトリクス Protobuf スキーマ

  • 構文 = “proto3”;
  • インポート「google/protobuf/timest」amp.proto”;
  • パッケージpaa.streamingapi;
  • オプション go_package = “.;paa_streamingapi”;
  • メッセージメトリクス {
  • google.protobuf.Timestamp タイムストamp = 1;
  • 地図値 = 2;
  • int32 ストリーム ID = 3;
  • }
  • /**
  • * メトリック値は整数または浮動小数点数のいずれかです。
  • */
  • メッセージ MetricValue {
  • いずれかのタイプ {
  • int64 int_val = 1;
  • フロート float_val = 2;
  • }
  • }

メタデータ Protobuf スキーマ

  • 構文 = “proto3”;
  • パッケージpaa.streamingapi;
  • オプション go_package = “.;paa_streamingapi”;
  • メッセージメタデータ {
  • int32 ストリーム ID = 1;
  • 文字列ストリーム名 = 2;
  • 地図 tags = 13;
  • }

クライアント例ampレ

注記: これらのコマンドは、外部クライアントで実行することを目的としています。ampコントロールセンターではなく、ラップトップまたは同様のものにアクセスしてください。
注記: メトリック情報を表示するには、少なくとも XNUMX つのモニターがコントロール センターで実行されていることを確認してください。

コントロール センターの tarball には、アーカイブ paa-streaming-api-client-ex が含まれていますamples.tar.gz (クライアント-ex)amples)、ex を含むampストリーミング API の使用方法を示す Python スクリプト。

Client Ex のインストールと構成ampレ
あなたはclient-exを見つけますampParagon Active Assurance Control Center フォルダ内のファイル:

  • エクスポート CC_VERSION=4.1.0
  • cd ./paa-control-center_${CC_VERSION}
  • ls paa-streaming-api-client-exampレ*

client-ex をインストールするにはamp外部クライアント コンピュータにファイルを保存するには、次の手順を実行します。

  • # クライアント ex の内容を抽出するためのディレクトリを作成ampレ・タールボール
  • mkdir paa-streaming-api-client-exampレ
  • # クライアント ex の内容を抽出ampレ・タールボール
  • tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-exampレ
  • # 新しく作成したディレクトリに移動します
  • cd paa-streaming-api-client-exampレ

クライアント元ampファイルを実行するには Docker が必要です。 Docker のダウンロードとインストール手順は、次の場所にあります。 https://docs.docker.com/engine/install.

クライアントExの使用ampレ
クライアント元amples ツールは基本モードまたは高度なモードで実行して ex をビルドできますampさまざまな複雑さのファイル。 どちらの場合も、ex を実行することも可能です。amp設定のあるファイル file クライアント側をさらにカスタマイズするための追加のプロパティが含まれています。

基本モード
基本モードでは、メトリクスとそのメタデータは個別にストリーミングされます。この目的を達成するために、クライアントは外部アクセスに利用可能な各 Kafka トピックをリッスンし、受信したメッセージをコンソールに出力するだけです。
基本exの実行を開始するにはampレス、実行します:

  • build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

ACCOUNT_SHORTNAME は、メトリックを取得するアカウントの短い名前です。
ex の実行を終了するにはampファイルで、Ctrl + C を押します (クライアントがタイムアウト イベントを待機するため、実行が停止するまでにわずかな遅延が生じる場合があります)。

アドバンスモード

注記: メトリックは、コントロール センターで実行されている HTTP モニターに対してのみ表示されます。

詳細モードで実行すると、メトリックとメタデータ メッセージ間の相関関係が表示されます。これは
これは、対応するメタデータ メッセージを参照するストリーム ID フィールドが各メトリクス メッセージに存在することで可能になります。
高度なexを実行するにはampレス、実行します:

  • build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

ACCOUNT_SHORTNAME は、メトリックを取得するアカウントの短い名前です。
ex の実行を終了するにはampファイルで、Ctrl + C を押します (クライアントがタイムアウト イベントを待機するため、実行が停止するまでにわずかな遅延が生じる場合があります)。

追加設定
exを実行することが可能ですamp–config- を使用してクライアントの追加構成を含むファイルfile オプションの後に file key=value の形式のプロパティを含む名前。

  • build.sh run-advanced \
  • –kafka-brokers ローカルホスト:9092 \
  • –アカウント ACCOUNT_SHORTNAME \
  • –構成-file client_config.properties

注記: 全て file上記のコマンドで参照される s は、現在のディレクトリに配置され、相対パスのみを使用して参照される必要があります。 これは –config- の両方に適用されます。file 引数および構成内のすべてのエントリ file 説明する file 場所。

外部クライアント認証の検証
client-ex を使用してコントロール センターの外部からクライアント認証を検証するにはampファイルで、次の手順を実行します。

Paragon Active Assurance Control Center フォルダーから、paa-streaming-api-client-ex に切り替えます。ampファイルフォルダ:

cd paa-streaming-api-client-exampレ

  • CA ルート証明書 ca-cert を現在のディレクトリにコピーします。
  • client.properties を作成します。 file 以下の内容です:

security.protocol=SASL_SSL ssl.ca.location=ca-cert
sasl.mechanism=プレーン
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}

{CLIENT_USER} と {CLIENT_PASSWORD} は、クライアントのユーザー認証情報です。

基本的なexを実行するampレ:

  • エクスポート KAFKA_FQDN=
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –アカウント ACCOUNT_SHORTNAME
  • –構成-file クライアントのプロパティ

ACCOUNT_SHORTNAME は、メトリックを取得するアカウントの短い名前です。

高度なexを実行ampレ:

  • エクスポート KAFKA_FQDN=
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –アカウント ACCOUNT_SHORTNAME
  • –構成-file クライアントのプロパティ

付録

この付録では、次の作成方法について説明します。

  • キーストア file Kafka ブローカーの SSL 証明書を保存するため
  • トラストストア file Kafka ブローカー証明書の署名に使用される認証局 (CA) ルート証明書を格納するため。

Kafka ブローカー証明書の作成
実際の認証局を使用した証明書の作成 (推奨)
信頼できる CA から実際の SSL 証明書を取得することをお勧めします。
CA を決定したら、CA ルート証明書 ca-cert をコピーします。 file 以下に示すように、独自のパスに:

  • エクスポート CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • cp ca-cert ${CA_PATH}

独自の認証局を作成する

注記: 通常、実際の認証局によって署名された証明書が必要です。 前のサブセクションを参照してください。 以下はただの元ネタですampル。

ここでは、独自の認証局 (CA) ルート証明書を作成します。 file 999 日間有効 (本番環境では推奨されません):

  • # CA を格納するディレクトリを作成する
  • エクスポート CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • # CA証明書を生成する
  • openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999

クライアント トラストストアの作成
これで、トラストストアを作成できます file 上記で生成された ca-cert が含まれています。 これ file ストリーミング API にアクセスする Kafka クライアントで必要になります。

  • keytool -keystore kafka.client.truststore.jks \
    • 別名 CARoot \
    • インポート証明書 -file ${CA_PATH}/ca-cert

CA 証明書がトラストストアにあるため、クライアントは CA 証明書で署名された証明書を信頼します。
コピーする必要があります file kafka.client.truststore.jks をクライアント コンピューター上の既知の場所に移動し、設定でそれをポイントします。

Kafka ブローカのキーストアの作成
Kafka ブローカー SSL 証明書を生成してからキーストア kafka.server.keystore.jks を生成するには、次の手順を実行します。

SSL 証明書の生成
以下の 999 はキーストアの有効日数、FQDN はクライアントの完全修飾ドメイン名 (ノードのパブリック ホスト名) です。

注記: FQDN が、Kafka クライアントがコントロール センターに接続するために使用するホスト名と正確に一致することが重要です。

  • sudo mkdir -p /var/ssl/private
  • sudo chown -R $USER: /var/ssl/private
  • cd /var/ssl/private
  • エクスポート FQDN= keytool -keystore kafka.server.keystore.jks \
  • – エイリアスサーバー \
  • – 有効期限 999 \
  • – genkey -keyalg RSA -ext SAN=dns:${FQDN}

証明書署名要求を作成し、 file cert-server-request という名前:

  • keytool -keystore kafka.server.keystore.jks \
    • – エイリアスサーバー \
    • – 証明書 \
    • – file 証明書サーバー要求

今すぐ送信する必要があります file 本物の認証局 (CA) を使用している場合は、cert-server-request を認証局 (CA) に送信します。その後、署名された証明書が返されます。以下ではこれを cert-server-signed と呼びます。

自己作成した CA 証明書を使用した SSL 証明書の署名

注記: 繰り返しになりますが、運用システムでは独自の CA を使用することはお勧めできません。

CA を使用して証明書に署名します。 file cert-server-request は、署名付き証明書 cert-server-signed を生成します。 下記参照; ca-password は、CA 証明書の作成時に設定されたパスワードです。

  • cd /var/ssl/private openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – CAkey ${CA_PATH}/ca-key \
    • – 証明書サーバー要求 \
    • – out 証明書サーバー署名済み \
    • – 999 日目 -CAcreateserial \
    • – パスインパス:{ca-password}

署名付き証明書をキーストアにインポートする

ca-cert ルート証明書をキーストアにインポートします。

  • keytool -keystore kafka.server.keystore.jks \
    • – エイリアス ca-cert \
    • - 輸入 \
    • – file ${CA_PATH}/ca-cert

cert-server-signed と呼ばれる署名付き証明書をインポートします。

  • keytool -keystore kafka.server.keystore.jks \
    • – エイリアスサーバー \
    • - 輸入 \
    • – file 証明書サーバー署名済み

の file kafka.server.keystore.jks をコントロール センター サーバー上の既知の場所にコピーし、/etc/kafka/server.properties で参照する必要があります。

ストリーミング API の使用

このセクションでは

  • 一般 | 20
  • Kafka トピック名 | 21
  • Exampストリーミング API の使用のファイル | 21

一般的な
ストリーミング API は、テスト データと監視データの両方をフェッチします。 これらのカテゴリの XNUMX つを選択することはできません。
ストリーミング API は、イーサネット サービス アクティベーション テストや透過性テストなどのスクリプト ベースのテスト (コントロール センター GUI ではジグソー ピースではなく四角形で表されるテスト) からデータをフェッチしません。

Kafka トピック名
ストリーミング API の Kafka トピック名は次のとおりです。%s はコントロール センター アカウントの短縮名です (アカウントの作成時に指定されます)。

  • 定数(
  • エクスポーター名 = “カフカ”
  • metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics” )

Exampストリーミング API の使用のファイル
元amp以下のファイルは、tarball paa-streaming-api-client-ex にあります。ampコントロール センターの tarball に含まれる les.tar.gz。
まず、基本的なexがありますampこのファイルは、メトリクスとそのメタデータが個別にストリーミングされ、受信したメッセージをコンソールに出力する方法を示しています。次のように実行できます。

  • sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

より高度なexもありますampメトリクスとメタデータ メッセージが関連付けられているファイル。 次のコマンドを使用して実行します。

  • sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

上記のような Docker コマンドを実行するには、sudo を使用する必要があります。必要に応じて、Linux のインストール後の手順に従って、sudo を使用せずに Docker コマンドを実行できるようにすることができます。詳細については、こちらをご覧ください。 docs.docker.com/engine/install/linux-postinstall.

Juniper Networks、Juniper Networks ロゴ、Juniper、および Junos は、米国およびその他の国における Juniper Networks, Inc. の登録商標です。その他すべての商標、サービス マーク、登録商標、または登録サービス マークは、それぞれの所有者に帰属します。Juniper Networks は、本書の不正確な記載について一切責任を負いません。Juniper Networks は、予告なく本書を変更、修正、譲渡、または改訂する権利を留保します。Copyright © 2023 Juniper Networks, Inc. 無断複写・転載を禁じます。

ドキュメント / リソース

ジュニパーネットワークスストリーミング API ソフトウェア [pdf] ユーザーガイド
ストリーミング API ソフトウェア、API ソフトウェア、ソフトウェア

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *