Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

カスタムテレメトリコレクターの作成

概要 このトピックでは、カスタム テレメトリ コレクターを作成するために必要な手順について説明します。

このトピックでは、BFD を例に、独自のカスタム テレメトリ サービスを作成する手順を説明します。この例では、テレメトリサービスは、設定したばかりのBFDセッションの状態を収集します。私たちの目標は、BFDセッションがダウンしていることを運用者に警告することです。

CLI コマンドを実行します。

Apstraバージョン4.2.0以降、Junosデバイス用のCLI表示コマンドをApstra GUIから直接実行できるようになりました。CLI セッションを開かなくても show コマンドを実行できますが、主な目的は、独自のカスタム テレメトリ コレクターの作成を支援することです。

CLI コマンドは、ステージングされたブループリントまたはアクティブなブループリント(この例を参照)、または [デバイス >管理対象デバイス ] ページから実行できます。

CLI コマンド機能を使用するには、以下のようにブループリントにデプロイされた Junos デバイスに移動します。

  1. ブループリントから、[分析] > [段階 的な物理トポロジー] (または [段階的な>物理> ノード] を選択し、ジュニパー デバイス ノードを選択します。
  2. 右側のパネルに表示される [選択] セクションの [デバイス] タブで、[CLI コマンドの実行] をクリックします。
    開いたダイアログボックスで、結果の表示方法 (テキストモード、XML モード、または JSON モード) を選択します。ここでは、 テキスト モードと XMLモードの例を示します。
    メモ:

    CLI は、Junos show コマンドのみをサポートします。デバイスの状態に影響を与えるコマンド( request system rebootなど)は実行できません。各種表示コマンドの詳細については、 Junos OS用CLIユーザーガイドを参照してください。

    次に、同じ表示コマンド(show route summary)を実行しますが、[ XMLモード]を選択します。

    XML 出力では、XML パス (BDF セッション) 情報が強調表示されます。このセッション情報は、テレメトリ収集サービスの作成に使用するものです。

CLI出力から関心のあるキーと値を特定

この例では、CLI 実行コマンドを使用して、BDF セッションのネイバー アドレスと状態情報( Up または Down)を表示する方法を示します。
  1. show コマンドを入力します(この例では)。 show bfd session
  2. [実行(Execute)] をクリックして CLI 出力を表示します。

サービススキーマの作成

カスタム サービス コレクターを作成するには、まずサービス スキーマを作成して、返されるデータの構造化方法と格納方法を定義する必要があります。
メモ:

1 つのテレメトリ サービス スキーマに複数のコレクターを関連付けることができます。

  1. 左側のナビゲーション メニューから、[デバイス] > [サービス レジストリ] に移動し、[サービス スキーマの作成] ボタンをクリックします。
  2. 開いたダイアログボックスで、スキーマを定義します。このステップでは、コレクター出力をどのように構造化するかを識別します。
  3. テレメトリ キー値の型をマップします。
    テレメトリのキーと値の型は、Apstraにポストされる キーと値のペア のコレクションです。
    • テレメトリ キーは、インターフェイス名を識別する文字列です。

    • 値の型は、プローブが実行するデータです。値の型は通常、文字列 (テキスト) ですが、整数 (整数) にすることもできます。

    この例では、 サービスのキーを ネイバーとして定義し、 値の型文字列として定義しました。
  4. [更新] をクリックします。
それでは、最後のステップ「コレクターの作成」に進みましょう。

コレクターの作成

収集するデータと、このデータを整理および構造化する方法を定義しました。次に、これらのパーツを一緒にマップします。
メモ:

1 つのテレメトリ サービス スキーマに複数のコレクターを関連付けることができます。

  1. 左側のナビゲーション ペインから、[コレクターの作成] > [コレクター] > [デバイス] に移動します。
  2. 前の手順で作成した既存のサービス スキーマ(BFD)を選択し、[次へ] をクリックします。
  3. テレメトリ収集の対象となるプラットフォーム (OS、OS バリアント、OS バージョン、およびモデル) とデバイスを選択します。これらの入力の組み合わせを定義することで、非常に広範または非常に細かくすることができます。たとえば、境界リーフ デバイスにのみテレメトリを適用するユース ケースがあるとします。
    1. OSタイプ(junosまたはjunos-evo)を選択します。
      Junos-evo(Junos OS Evolvedとも呼ばれる)の詳細については、 Junos OS Evolvedのドキュメントを参照してください。
      メモ:

      Junos-evo デバイス用の Junos-evo コレクターを定義しない場合、コレクターは対応する Junos 定義を使用します。つまり、Junos と Junos-evo で同じコマンドを使用すると、そのサービス用に Junos コレクター定義を 1 つ作成できます。コマンドが Junos-evo にのみ存在する場合は、Junos-evo 用のコレクター定義を 1 つ作成します。

    2. デバイスが属する OS バリアントを選択し、特定のデバイスの CLI スキーマを決定します。
    3. コレクターを実行するためにデバイスが実行する必要がある最小 OS バージョンを選択します。同じサービスに対して OS バージョンが異なる複数のコレクター定義が存在する場合、コレクターは、デバイスが実行しているバージョンに最も近いものを自動的に選択します。
    4. (オプション)デバイスモデルまたはシリーズに基づいてフィルタリングするモデルまたは正規表現を指定します。
      この表は、Apstraで現在管理されているターゲットデバイスのリストを示しており、適用されているフィルターの組み合わせと一致しています。
    5. [次へ] をクリックします。
  4. CLI コマンドを実行します。
    show コマンドを使用して、デバイスから収集する日付を収集します(この例では)。 show bdf session
  5. キーと値をマップします。
    ここまでで、サービス スキーマ、ターゲット プラットフォーム、カスタム テレメトリ コレクターが実行するコマンドを定義しました。次に、スキーマで定義したキーと追跡する値をマップします。

    キーをマップするには:

    1. [すべて展開] をクリックして、マップする RPC 値を検索します。
      前のステップでは、 セッションネイバー をキー値として確立しました。
    2. [マッピングの追加] をクリックします。
    3. セッションネイバーをキー(この例では ネイバー)に割り当てます。
      この値は、以前にサービス スキーマを作成したときに定義しました。
    値をマップするには:
    1. [値ソース] を選択します。この例では、この CLI コマンドによって返される動的session-stateフィールドに基づいて値を入力します。
    2. セッション状態フィールドを検索します。
    3. [マッピングの追加] をクリックします。
    4. 値をマップに割り当てますsession-state
    5. [送信] をクリックします。

コレクターが動作していることを検証する

最後に、「 詳細 」ビューで、コレクターが動作していることを確認します。クエリとテストの結果が予期した結果と一致することを確認します。

おめでとう!コレクターが正常に作成されました。

メモ:

コレクターの整数 (数値) 値を定義する場合、コレクターが機能するために値式の入力が必要になる場合があります。これは、Junosが数値データを文字列として報告することがあるためです。コレクターを処理する前に、Apstra側で 文字列 から 整数 への変換を実行する必要があります。

コレクターの整数(数値)値を定義するには、「 値式」フィールドに 「int(value)」と入力し 、「送信」をクリックします。