この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目的のレシーバへのテレメトリ データのストリーミングには、以下が含まれます。
テレメトリ ポリシー ファイルを定義して、生成後にレシーバにプッシュするテレメトリ データの種類を指定します。ポリシー ファイルを定義するには、データをストリーミングするスキーマ パスが必要です。
対応するコマンドに関連付けられたスキーマ パスに関する詳細については、スキーマ パスを参照してください。
ポリシー ファイルの詳細については、テレメトリ ポリシー ファイルを参照してください。
{ "Name": "Test", "Metadata": { "Version": 25, "Description": "This is a sample policy", "Comment": "This is the first draft", "Identifier": "<data that may be sent by the encoder to the mgmt stn" }, "CollectionGroups": { "FirstGroup": { "Period": 30, "Paths": [ "RootOper.InfraStatistics.Interface(*).Latest.GenericCounters" ] } } }
次の作業:
ポリシー ファイルをルータにコピーします。同じポリシー ファイルを複数のルータにコピーできます。$ scp Test.policy <ip-address-of-router>:/telemetry/policies
$ scp Test.policy cisco@10.0.0.1:/telemetry/policies cisco@10.0.0.1's password: Test.policy 100% 779 0.8KB/s 00:00 Connection to 10.0.0.1 closed by remote host.
Router#show telemetry policies brief Wed Aug 26 02:24:40.556 PDT Name |Active?| Version | Description ----------------------------|-------|---------|------------------------------ Test N 1 This is a sample policy
次の作業:
テレメトリ エンコーダを設定し、データをアクティブにしてストリーミングします。ポリシーをアクティブにし、データをストリーミングするようにエンコーダを設定します。複数のポリシーと宛先を指定できます。各エンコーダに複数のポリシー グループを指定でき、各グループを複数の宛先にストリーミングできます。複数の宛先を指定した場合は、すべての宛先にデータがストリーミングされます。
要件に基づいてエンコーダを設定します。
JavaScript Object Notation(JSON)エンコーダは、IOS XR ソフトウェアとともにパッケージ化されており、デフォルト形式のテレメトリ データのストリーミングを提供します。
JavaScript Object Notation(JSON)形式でデータをストリーミングするには、エンコーダ、ポリシー、ポリシー グループ、宛先、およびポートを指定します。
Router# configure Router(config)#telemetry encoder json Router(config-telemetry-json)#policy group FirstGroup Router(config-policy-group)#policy Test Router(config-policy-group)#destination ipv4 10.0.0.1 port 5555 Router(config-policy-group)#commit
ポリシーおよびポリシー グループの名前は、作成するポリシーおよびその定義と同じある必要があります。ポリシー ファイルの詳細については、ポリシー ファイルの作成を参照してください。
JSON エンコーダのメッセージ形式に関する詳細については、JSON メッセージ形式
GPB(Google プロトコル バッファ)エンコーダの設定には、コンパイル済みの .proto ファイル形式のメタデータが必要です。.proto ファイルはデータのストリーミングに使用する GPB メッセージ形式を記述します。ポリシー ファイルの各パスには、そのパスに関連付けられた .proto ファイルが必要です。
.proto ファイルは .map ファイルにコンパイルされます。コンパイルはサーバ上で実行されます。telemetry_protoc というコンパイラを http://gitlab.cisco.com/groups/telemetry で入手できます。このコンパイラは .proto ファイルを取得し、メッセージを符号化するためにルータ上で使用するコードを生成します。
GPB データをストリーミングするには、次の手順を実行します。
telemetry generate gpb-encoding path <path> [file <output_file>]
パーサーの制限により、ツールのパス内では引用符を使用できません。ツールで使用するには、たとえば、ポリシー パス RootOper.InfraStatistics.Interface(*).Latest.Protocol(['IPV4_UNICAST']) を RootOper.InfraStatistics.Interface(*).Latest.Protocol に変更します。
telemetry_protoc -f <input_file> -o <output_file>
telemetry_protoc -f generic_counters.proto -o generic_counters.map
.map ファイルを ルータの /telemetry/gpb/maps/ ディレクトリにコピーします。
ポリシー ファイルをルータにコピーします。
Router# configure Router(config)#telemetry encoder gpb Router(config-telemetry-json)#policy group FirstGroup Router(config-policy-group)#policy Test Router(config-policy-group)#destination ipv4 10.0.0.1 port 5555 Router(config-policy-group)#commit
(注) |
自動生成された .proto ファイルの一部を編集することで、次の要件に対応することができます。 .proto ファイルで編集可能な部分を次の出力に示します。 Router# telemetry generate gpb-encoding path "RootOper.InfraStatistics.Interface(*).Latest.GenericCounters" file disk0:generic_counters.proto //The part of the autogenerated message that can be edited// message ifstatsbag_generic { option (cisco_msg).schema_path = "RootOper.InfraStatistics.Interface.Latest.GenericCounters"; optional string interface_name = 1 [(cisco_field).path_element="RootOper.InfraStatistics.Interface(InterfaceName)"]; optional uint64 packets_received = 50 [(cisco_field).name="PacketsReceived"]; optional uint64 bytes_received = 51 [(cisco_field).name="BytesReceived"]; optional uint64 packets_sent = 52 [(cisco_field).name="PacketsSent"]; optional uint64 bytes_sent = 53 [(cisco_field).name="BytesSent"]; ... } |
GPB エンコーダのメッセージ形式の詳細については、GPB メッセージ形式
ポリシーがアクティブであることを show telemetry policies コマンドを使用して確認します。
Router#show telemetry policies Wed Aug 26 02:24:40.556 PDT Filename: Test.policy Version: 25 Description: This is a sample policy to demonstrate the syntax Status: Active CollectionGroup: FirstGroup Cadence: 30s Total collections: 2766 Latest collection: 2015-08-26 02:25:07 Min collection time: 0.000s Max collection time: 0.095s Avg collection time: 0.000s Min total time: 0.022s Max total time: 0.903s Avg total time: 0.161s Collection errors: 0 Missed collections: 0 +----------------------------------------------+---------+---------+------+------+------+------+------+------+ | Path | Avg (s) | Max (s) | Err | +----------------------------------------------+---------+---------+------+------+------+------+------+------+ | RootOper.InfraStatistics.Interface(*).Latest.GenericCounters | 0.000 | 0.000 | 0 | +----------------------------------------------+---------+---------+------+------+------+------+------+------+
ポリシーを検証後、テレメトリ エンコーダがレシーバへのデータのストリーミングを開始します。レシーバの詳細については、テレメトリ レシーバを参照してください。