Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Salt を使用した Junos OS 設定の取得

ジュニパーネットワークスでは、Salt を使用した Junos OS が動作するデバイスの管理をサポートしており、Junos の実行および状態モジュール(Salt 用)は、管理対象デバイスから設定を取得できる機能を定義します。実行関数または salt.states.junos.rpc 状態関数を使用してsalt.modules.junos.rpcRPCを実行し、get_configJunos OSを実行しているデバイスから設定データを取得できます。

RPC を使用すると、候補の構成データベース、コミットされた構成データベース、または一時的な構成データベースから、 get_config 完全な構成または構成のサブセットを取得できます。継承前または継承後の構成のデータを返すことができます。さらに、いくつかの異なる形式でデータを返し、そのデータをプロキシミニオンサーバー上のファイルに保存できます。

完全な候補構成を取得する方法

Junos OS を実行しているデバイスから完全な候補コンフィギュレーションを取得するには、 関数を呼び出して junos.rpc RPC を実行します get_config

同様に、構成を取得する Salt 状態ファイルを定義できます。次のサンプル状態ファイルは、ターゲット デバイスの完全な候補構成をテキスト形式で取得します。

状態を適用すると、各ターゲットデバイスの構成候補が表示されます。

構成データのソース データベースを指定する方法

既定では、RPC は get_config 候補の構成データベースから構成データを取得します。また、適切な値で パラメーターを含める database ことで、コミットされた構成データベースまたは一時的な構成データベースからデータを取得することもできます。

コミットされた構成データベース

コミットされた設定データベースからデータを取得するには、引数を database に設定します committed。例えば:

エフェメラル構成データベース

また、Salt を使用して、このデータベースをサポートするデバイス上の一時的な構成データベースからデータを取得することもできます。共有構成データベースから構成データを取得する場合、既定では、結果には一時的な構成データベースのデータは含まれません。

エフェメラル構成データベースのデフォルト・インスタンスからデータを取得するには、引数を記述し database 、 と等しく ephemeral設定します。

エフェメラル構成データベースのユーザー定義インスタンスからデータを取得するには、引数を に設定し、引数ephemeraldatabaseephemeral-instanceエフェメラル・インスタンスの名前に設定します。

返す構成データのスコープを指定する方法

RPC は get_config 、完全な Junos OS 構成を取得するだけでなく、 パラメーターを使用して filter 構成のサブセットを取得できます。このパラメーターは filter 、返す構成ステートメントを選択するサブツリー フィルターを含む文字列を取ります。サブツリー フィルターは、選択基準に一致する構成データを返します。

複数の階層を要求するには、文字列に filter ルート要素を含める <configuration> 必要があります。それ以外の場合、 の値は filter 、ルート <configuration> 要素のすぐ下から表示する階層まで、設定階層のすべてのレベルを表す必要があります。サブツリーを選択するには、その階層レベルに空のタグを含めます。特定のオブジェクトを返すには、一致させる要素と値を定義するコンテンツ一致ノードを含めます。

以下のコマンドは、候補コンフィギュレーションの および 階層レベルでコンフィギュレーション[edit interfaces][edit protocols]を取得して出力します。

次のコマンドは、階層レベルで設定 [edit system services] を取得して印刷します。

次の状態ファイルは、<name>継承後の候補構成の階層レベルで各<interfaces>要素の要素<interface>を取得します。

状態を適用すると、インターフェイス名のリストが返されます。

同様に、以下の例では、ge-1/0/1インターフェイスのサブツリーを取得します。

返す構成データの形式を指定する方法

デフォルトでは、このjunos.rpc関数は、標準出力に表示されるデータと、宛先ファイルに保存されたデータ (指定されている場合) の両方について、XML 形式の RPC 出力を返します。出力形式を指定するには、引数を含めformat、目的の形式と同じ値を設定します。テキスト形式または Junos XML 要素を要求するには、 または xmlをそれぞれ使用しますtext。構成データを JSON 形式で宛先ファイルに保存するには、 を指定しますjson

次のコマンドは、指定したファイルにコンフィギュレーション・データを保管し、それをテキスト・フォーマットで標準出力で表示します。

次のコマンドは、指定したファイルに構成データを JSON 形式で保存します。

継承とグループのオプションを指定する方法

RPC はget_config、、、 、 <apply-groups><apply-groups-except>、および <interface-range> タグが<groups>構成出力の個別の要素である継承前の構成からデータを取得します。ユーザー定義グループから継承されたステートメントと継承ステートメントの子として範囲を表示する継承後構成からデータを取得するには、引数を含めることができますinherit=inherit。引数も含めgroups=groupsた場合、テキストおよび XML 形式の出力は、ステートメントの継承元のグループを示します。

例えば、以下のコマンドは、継承後の候補コンフィギュレーションから、 [edit system services] 階層レベルのコンフィギュレーションを取得します。この場合、設定に 階層 [edit groups global system services] レベルで設定されたステートメントも含まれている場合、それらのステートメントは継承後の設定の 階層レベルで継承 [edit system services] され、設定データに返されます。

コピー先ファイルでは、グループから継承される要素には属性 group が含まれます。 group 属性値は、要素の継承元のグループを示します。

取得した構成データをファイルに保存する方法

関数を実行すると junos.rpc 、引数を含めて dest 宛先ファイルのパスを指定することで、返されたデータをプロキシミニオンサーバー上のファイルに保存できます。絶対パスを指定しない場合、パスは最上位のルート (/) ディレクトリに対する相対パスになります。ターゲット出力ファイルが既に存在する場合は、新しいファイルによって古いファイルが上書きされます。

Junos OS を実行しているデバイスから設定データを取得し、後で参照できるように出力をファイルに保存するには、RPC を実行し get_config 、 パラメーターを含め dest ます。次のコマンドは、完全な設定を取得し、データを標準出力で表示し、プロキシミニオンサーバー上の指定されたファイルにデータを保存します。

プロキシミニオンサーバーでは、設定データは指定されたファイルに保存されます。

同様に、設定データを取得してファイルに保存する Salt 状態を定義できます。次のサンプル状態ファイルは、完全な設定を取得し、標準出力とプロキシミニオンサーバー上の指定されたファイルの両方にデータを書き込みます。

この場合、グレインに格納されている id プロキシ識別子は、状態が複数のターゲットに適用されるときに出力ファイルを区別するために、宛先ファイル名に含まれます。グレインに一致する os_family:junos デバイスに状態を適用すると、各デバイスの設定がプロキシミニオンサーバー上の独自のファイルに保存されます。

各デバイス設定は、プロキシミニオンサーバー上の個別のファイルに保存されます。