Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Mapping OpenConfig Telemetry System Model Commands to Junos Configuration

Note:

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
Table 1: Sensor Path and Filter 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 sensor-path leaf value maps to the Junos paths parameter at the edit services analytics sensor resource hierarchy level. When enable is not specified, the SSH configuration is still enabled. This occurs because the openconfig-telemetry.yang data model defines the default value for the enable leaf as TRUE.

Note that the Junos sensor name is derived using the data values subscription-name, sensor-group-id, and sensor-path.

See OpenConfig Sensor Example for an example of this configuration.

Table 2: Sample Interval 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 sample-interval leaf value maps to the Junos reporting-rate parameter value at the edit services analytics sensor hierarchy level. The reporting-rate equals the sampling-interval/1000 as reporting-rate (in seconds) and sampling-interval (in milliseconds).

Table 3: Destination Group Configuration

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 destination-address and port leaf values map to Junos parameters remote-address and remote-port. Each OpenConfig destination entry maps to a separate Junos streaming-server entry.

The OpenConfig streaming-server value is generated using the Junos parameter values for destination-group-id, destination-address and destination-port.

See OpenConfig Destination Configuration for an example of this configuration.

Table 4: Export Profile 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 local-source-address leaf value maps to the Junos local-address parameter value.

The OpenConfig originated-qos-marking leaf value maps to the Junos dscp parameter value.

Note that the Junos export-profile name is generated from the subscription-name.

Table 5: Protocol Configuration

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 protocol leaf value maps to the Junos transport parameter value at the edit services analytics hierarchy level. The OpenConfig protocol value STREAM_GRPC maps to the Junos transport value grpc.

Table 6: Encoding Configuration

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 encoding leaf value maps to the Junos format parameter value at the edit services analytics export-profile hierarchy level. The OpenConfig encoding values ENC_JSON_IETF and ENC_PROTO3 map respectively to the Junos values json-gnmi and gpb-gnmi.

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 Destination Configuration

For information about the OpenConfig to Junos mapping used in this example, refer to Table 3: Destination Group Configuration.

OpenConfig Telemetry System Example

The following example illustrates a complete OpenConfig telemetry system configuration.

The OpenConfig configuration example above maps to the following Junos telemetry system configuration.