Mapping OpenConfig Telemetry System Model Commands to Junos Configuration
See OpenConfig Data Model Version topic to understand the data models supported version and its Junos OS or Junos Evolved OS release for Juniper Networks ACX Series, MX Series and PTX Series.
The following tables show the mapping of telemetry system commands with the relevant configurations in Junos:
- Table 1: Sensor Path and Filter Configuration
- Table 2: Sample Interval Configuration
- Table 3: Destination Group Configuration
- Table 4: Export Profile Configuration
- Table 5: Protocol Configuration
- Table 6: Encoding Configuration
Command Name |
OpenConfig Configuration |
Junos Configuration |
---|---|---|
sensor-path |
openconfig-telemetry-system:telemetry-system { sensor-groups { sensor-group <sensor-group-id> { config { sensor-group-id <sensor-group-id>; } sensor-paths { sensor-path <path> { config { path <path>; } } } } } |
services { analytics { sensor <<subscription-name>__ + <sensor-group-id>__ + <sensor-path >> { resource <path>; } } } |
The OpenConfig Note that the Junos sensor name is derived using the data values
See OpenConfig Sensor Example for an example of this configuration. |
Command Name |
OpenConfig Configuration |
Junos Configuration |
---|---|---|
Sample-interval |
openconfig-telemetry-system:telemetry-system { subscriptions { persistent-subscriptions { persistent-subscription 10000 { sensor-profiles { sensor-profile <> { config { sample-interval <>; } } } } } } } |
services { analytics { sensor <<subscription-name>_ + <sensor-group-id>_ + <sensor-path>> { reporting-rate <>; } } } |
The OpenConfig |
Command Name |
OpenConfig Configuration |
Junos Configuration |
---|---|---|
Sample-interval |
openconfig-telemetry-system:telemetry-system { destination-groups { destination-group DST1 { destinations { destination <destination-address> { config { destination-address <address>; destination-port <port>; } } } } } |
services { analytics { streaming-server <<destination-group-id>_ + <destination-address>_ + <destination-port> { remote-address 10.1.1.1; remote-port 2000; } } } |
The OpenConfig The OpenConfig See OpenConfig Destination Configuration for an example of this configuration. |
Command Name |
OpenConfig Configuration |
Junos Configuration |
---|---|---|
Export-profile |
openconfig-telemetry-system:telemetry-system { subscriptions { persistent-subscriptions { persistent-subscription 10000 { config { name 10000; local-source-address 10.2.3.1; originated-qos-marking 60; } sensor-profiles { sensor-profile SEN1 { config { sensor-group SEN1; sample-interval 10000; } } } } } } } |
services { analytics { export-profile 10000 { local-address 10.2.3.1; dscp 60; } sensor 10000__SEN1__<sensor-path> { export-name 10000; } } } |
The OpenConfig The OpenConfig Note that the Junos |
Command Name |
OpenConfig Configuration |
Junos Configuration |
---|---|---|
Protocol |
openconfig-telemetry-system:telemetry-system { subscriptions { persistent-subscriptions { persistent-subscription 10000 { sensor-profiles { sensor-profile <> { config { protocol <>; } } } } } } } |
services { analytics { export-profile 10000 { transport <>; } sensor 10000__SEN1__<sensor-path> { export-name 10000; } } } |
The OpenConfig |
Command Name |
OpenConfig Configuration |
Junos Configuration |
---|---|---|
Encoding |
openconfig-telemetry-system:telemetry-system { subscriptions { persistent-subscriptions { persistent-subscription 10000 { sensor-profiles { sensor-profile <> { config { encoding <>; } } } } } } } |
services { analytics { export-profile 10000 { format <>; } sensor 10000__SEN1__<sensor-path> { export-name 10000; } } } |
The OpenConfig |
OpenConfig Sensor Example
For information about the OpenConfig to Junos mapping used in this example, refer to Table 1: Sensor Path and Filter Configuration.
openconfig-telemetry-system:telemetry-system { sensor-groups { sensor-group SEN1 { config { sensor-group-id SEN1; } sensor-paths { sensor-path /junos/system/linecard/interface/ { config { path /junos/system/linecard/interface/; } } } } } subscriptions { persistent-subscriptions { persistent-subscription 10000 { sensor-profiles { sensor-profile SEN1 { config { sensor-group SEN1; sample-interval 10000; } } } } } } } And translated Junos sensor config: --------- services { analytics { sensor 10000__SEN1__junos_system_linecard_interface { resource /junos/system/linecard/interface/; subscription-id 10000; reporting-rate 10; } } }
OpenConfig Destination Configuration
For information about the OpenConfig to Junos mapping used in this example, refer to Table 3: Destination Group Configuration.
OC destination config: ---- destination-groups { destination-group DST1 { destinations { destination 10.1.1.1 2000 { config { destination-address 10.1.1.1; destination-port 2000; } } } } Translates to: services { analytics { streaming-server DST1_10.1.1.1_2000 { remote-address 10.1.1.1; remote-port 2000; } } }
OpenConfig Telemetry System Example
The following example illustrates a complete OpenConfig telemetry system configuration.
openconfig-telemetry-system:telemetry-system { sensor-groups { sensor-group SEN1 { config { sensor-group-id SEN1; } sensor-paths { sensor-path /junos/system/linecard/interface/ { config { path /junos/system/linecard/interface/; } } } } } destination-groups { destination-group DST1 { config { group-id DST1; } destinations { destination 10.1.1.1 2000 { config { destination-address 10.1.1.1; destination-port 2000; } } destination 10.2.2.1 4000 { config { destination-address 10.2.2.1; destination-port 4000; } } destination 10.2.1.1 2000 { config { destination-address 10.2.1.1; destination-port 2000; } } } } } subscriptions { persistent-subscriptions { persistent-subscription 10000 { config { name 10000; local-source-address 10.2.3.1; originated-qos-marking 60; protocol STREAM_GRPC; encoding ENC_PROTO3; } sensor-profiles { sensor-profile SEN1 { config { sensor-group SEN1; sample-interval 10000; } } } destination-groups { destination-group DST1; } } } } }
The OpenConfig configuration example above maps to the following Junos telemetry system configuration.
services { analytics { streaming-server DST1_10.1.1.1_2000 { remote-address 10.1.1.1; remote-port 2000; } streaming-server DST1_10.2.2.1_4000 { remote-address 10.2.2.1; remote-port 4000; } streaming-server DST_10.2.1.1_2000 { remote-address 10.2.1.1; remote-port 2000; } export-profile 10000 { local-address 10.2.3.1; dscp 60; transport grpc; format gpb-gnmi; } sensor 10000__SEN1__junos_system_linecard_interface { server-name [DST1_10.1.1.1_2000 DST1_10.2.2.1_4000 DST1_10.2.1.1_2000 ]; export-name 10000; resource /junos/system/linecard/interface/; subscription-id 10000; reporting-rate 10; } } }