- Table of Contents
- Related Documents
-
Title | Size | Download |
---|---|---|
01-gRPC commands | 269.01 KB |
Contents
destination-group (subscription view)
destination-group (telemetry view)
sensor-group (subscription view)
gRPC commands
Generic gRPC commands
display grpc
Use display grpc to display gRPC information.
Syntax
display grpc [ verbose ]
Views
Any view
Predefined user roles
network-admin
network-operator
Parameters
verbose: Display detailed gRPC information. If you do not specify this keyword, the command displays brief gRPC information.
Examples
# Display brief gRPC information.
<Sysname> display grpc
gRPC status : Enabled
PKI domain : grpc
PKI domain status : Unavailable
Current-time: 2020-05-20T04:12:48.119
------------Dial-in mode information------------
gRPC server port: 50052
Session idle-timeout: 10 minutes
Session count: 1
ID IP Address:Port UserName
1 192.1.11.254:53030 test
------------Dial-out mode information-----------
Sensor group count: 10
Sensor path count: 70
Destination group count: 5
Destination count: 4
Subscription count: 1
Connection ID: 1
IP address:Port: 192.1.1.254:11111
Encoding: JSON
Status: Connected
Table 1 Command output
Field |
Description |
gRPC status |
Status of the gRPC service: · Enabled—The gRPC service is enabled. · Disabled—The gRPC service is disabled. |
PKI domain |
PKI domain for secure gRPC connections to collectors. This field displays a hyphen (-) if no PKI domain has been specified by using the grpc pki domain command. |
PKI domain status |
Availability of the PKI domain: · Available—The specified PKI domain is available. · Unavailable—The specified PKI domain is unavailable. |
Current-time |
Current system time. |
Dial-in mode information |
Information about gRPC in dial-in mode. |
gRPC server port |
Port number for the gRPC service. |
Session idle-timeout |
gRPC session idle timeout timer, in minutes. |
Session count |
Number of gRPC sessions. |
ID |
ID of a gRPC session. |
IP Address:Port |
IP address and port number of the gRPC client. |
Domain name:Port |
Domain name and service port number of the collector. This field also displays the first reachable IP address in parentheses for the domain name. If no reachable IP address is available for the domain name, this field displays two hyphens (--) in parentheses. |
UserName |
Username of the gRPC user. |
Dial-out mode information |
Information about gRPC in dial-out mode. |
Sensor group count |
Number of sensor groups. |
Sensor path count |
Number of sensor paths. |
Destination group count |
Number of destination groups. |
Destination count |
Number of collectors. |
Subscription count |
Number of subscriptions. |
Connection ID |
ID of the connection between the device and a collector. |
IP address:Port |
IP address and port number of the collector. |
Encoding |
Encoding format for data packets sent to the controller. |
Status |
Status of the channel between the device and the collector: · Init—The channel is being initialized. · Idle—The channel is idle. · Connecting—The channel is being established. · Connected—The channel has been established. · Transient failure—The channel has failed transiently and is attempting to recover. · Shut down—The channel has been closed because of an issue. |
# Display detailed gRPC information.
<Sysname> display grpc verbose
gRPC status : Enabled
PKI domain : grpc
Current-time: 2020-05-20T04:12:44.346
------------Dial-in mode information------------
gRPC server port: 50052
Session idle-timeout: 10 minutes
Session count: 1
Session ID: 1
User name: test
Login time:2020-05-19 16:40:16 Idle time : 3 mins 41 s
Client IP address : 192.1.11.254:53030
Received RPCs : 39 Received erroneous RPCs : 6
Received subscription: 0 Sent notifications: 0
------------Dial-out mode information-----------
Sensor mode: Simple
Sensor group count: 10
Sensor path count: 70
Destination group count: 5
Destination count: 4
Subscription count: 1
Subscription s
Subscription mode: non-gNMI
DSCP value: 0
Source-address or interface: not-config
Telemetry data model: 2-layer
Encoding: JSON
Protocol: UDP
TimeStamp: Common
Sensor group: s
Sampling interval: N/A
Sampling type Effective sampling interval Sensor path
...
destination-group: wyq
Start-time: 2020-05-20T03:38:05.833
Domain:Port: ipversion-six(--):50051
VPN: N/A
Periodic sampling statistics:
Effective count: 272
Sent successfully: 0 Failed: 68
Event-triggered statistics:
Effective count: 0
Sent successfully: 0 Failed: 0
Queued packets/Queue size: 204/1000
Dropped: 0
Last error: Channel(Connecting)
...
Table 2 Command output
Field |
Description |
gRPC status |
Status of the gRPC service: · Enabled—The gRPC service is enabled. · Disabled—The gRPC service is disabled. |
PKI domain |
PKI domain for securing gRPC connections to collectors. This field displays a hyphen (-) if no PKI domain has been specified by using the grpc pki domain command. |
Current-time |
Current system time. |
Dial-in mode information |
Information about gRPC in dial-in mode. |
gRPC server port |
Port number for the gRPC service. |
Session idle-timeout |
gRPC session idle timeout timer, in minutes. |
Session count |
Number of gRPC sessions. |
Session ID |
ID of a gRPC session. |
User name |
Username of the gRPC user. |
Login time |
Date and time when the gRPC user logged in to the device. |
Idle time |
Amount of time in which the session idle timeout timer will expire. If the value in this field is 0, gRPC sessions will never time out. |
Client IP address |
IP address and port number of the gRPC client. |
Received RPCs |
Number of received gRPC requests. |
Received erroneous RPCs |
Number of received erroneous gRPC requests. |
Received subscription |
Number of received gRPC subscription requests. |
Sent notifications |
Number of gRPC notifications reported to the collector. |
Dial-out mode information |
Information about gRPC in dial-out mode. |
Sensor mode |
Sensor mode of the sensor group, which can be configured by using the grpc sensor-mode command. |
Sensor group count |
Number of sensor groups. |
Sensor path count |
Number of sensor paths. |
Destination group count |
Number of destination groups. |
Destination count |
Number of collectors. |
Subscription count |
Number of subscriptions. |
Subscription |
Name of the subscription. |
Subscription mode |
Supported subscription modes: · gNMI. · non-gNMI. |
Push mode |
Data push mode for the subscription: · Condition-triggered—The device periodically checks each sensor path in a sensor group and pushes the data from the sensor path to collectors if certain conditions are met. · Periodic and Event-triggered—The device pushes data both periodically and when triggering events occur. |
DSCP value |
DSCP value of packets sent to the collector. |
Source-address or interface |
Source IP address or source interface for packets sent to the collector. This field displays not-config if no source IP address or source interface has been specified. |
Telemetry data model |
Telemetry data model architecture for gRPC. Options: · 2-layer—Two-layer telemetry data model architecture. · 3-layer—Three-layer telemetry data model architecture. |
Encoding |
Encoding format for packets sent to the controller. |
Protocol |
Transport protocol: · GRPC. · UDP. |
TimeStamp |
Time-stamping method for JSON-encoded subscription data. · Common—Time-stamps JSON-encoded subscription data on a per-message basis. · Row—Time-stamps JSON-encoded subscription data on a per-row basis. |
Sensor group |
Name of the sensor group. |
Sampling interval |
Data sampling interval, in seconds. This field displays 0 for event-triggered sampling. |
Sampling type |
Data sampling type: · Event-triggered—Event-triggered sampling. · Periodic—Periodical sampling. |
Sensor path |
Sensor path. |
Destination-group |
Name of the destination group. |
Start-time |
Date and time when the gRPC connection was established. |
IP:Port |
IP address and port number of the collector (gRPC server). |
Domain name:Port |
Domain name and service port number of the collector. This field also displays the first reachable IP address in parentheses for the domain name. |
VPN |
VPN instance to which the collector belongs. This field displays N/A if the collector belongs to the public network. |
Periodic sampling statistics |
Statistics for periodic sampling. |
Event-triggered statistics |
Statistics for event-triggered sampling. |
Effective count |
Number of effective samplings. This counter does not count a sampling if it does not collect any data. |
Sent successfully |
Number of sent data packets. |
Failed |
Number of data packets failed to be sent. |
Queued packets/Queue size |
Number of data packets in queue and the size of the queue. |
Dropped |
Number of data packets dropped because the queue is full. |
Last error |
Most recent error: · VPN doesn’t exist—The VPN instance did not exist. · PKI failed—An error existed in the PKI domain. For example, the certificate became invalid. · Channel (reason)—An error occurred on the gRPC channel. Possible reasons: ¡ Init—The channel was being initialized. ¡ Idle—The channel was idle. ¡ Connecting—The channel was being established. ¡ Transient failure—The channel was attempting to recover from a transient failure. ¡ Shutdown—The channel was closed because of an issue. This field displays two hyphens (--) if no errors have occurred. |
grpc data-model
Use grpc data-model to specify the architecture of telemetry data models.
Use undo grpc data-model to restore the default.
Syntax
grpc data-model { 2-layer | 3-layer }
undo grpc data-model
Default
The device uses the two-layer telemetry data model architecture to push data.
Views
System view
Predefined user roles
network-admin
Parameters
2-layer: Specifies the two-layer telemetry data model architecture.
3-layer: Specifies the three-layer telemetry data model architecture.
Usage guidelines
This command is available only in gRPC dial-out mode.
If you specify the two-layer telemetry data model, the encoding format for pushed data can only be JSON.
With the three-layer telemetry data model architecture, the device always uses gRPC (TCP) to transport data, even if you have specified UDP as the transport protocol.
Examples
# Configure the device to use three-layer telemetry data models to push data.
<Sysname> system-view
[Sysname] grpc data-model 3-layer
Related commands
encoding
protocol
grpc enable
Use grpc enable to enable the gRPC service.
Use undo grpc enable to disable the gRPC service.
Syntax
grpc enable
undo grpc enable
Default
The gRPC service is disabled.
Views
System view
Predefined user roles
network-admin
Usage guidelines
You must enable the gRPC service before you can configure the gRPC service.
Disabling the gRPC service deletes all gRPC settings.
Examples
# Enable the gRPC service.
<Sysname> system-view
[Sysname] grpc enable
grpc pki domain
Use grpc pki domain to specify the PKI domain for secure gRPC connections to collectors.
Use undo grpc pki domain to restore the default.
Syntax
grpc pki domain domain-name
undo grpc pki domain
Default
No PKI domain is specified for secure gRPC connections to collectors.
Views
System view
Predefined user roles
network-admin
Parameters
domain-name: Specifies a PKI domain by its name, a case-sensitive string of 1 to 31 characters.
Usage guidelines
Operating mechanism
By default, the gRPC connection between the device and a collector does not provide data encryption service or require authentication. After you specify a PKI domain, the device and the collector will use TLS for data encryption and bidirectional certificate-based authentication to improve communication security.
Restrictions and guidelines
For the device to establish gRPC connections to collectors successfully, make sure the PKI domain already exists and has correct certificate and key settings. For more information about PKI configuration, see Security Configuration Guide.
Executing this command reboots the gRPC service and closes all gRPC connections to collectors. In dial-in mode, the collectors must re-initiate the connections. In dial-out mode, the device will automatically re-initiate the connections.
Examples
# Specify the PKI domain for secure gRPC connections to collectors.
<Sysname> system-view
[Sysname] grpc pki domain grpc_test
gRPC dial-in mode commands
grpc idle-timeout
Use grpc idle-timeout to set the gRPC session idle timeout timer.
Use undo grpc idle-timeout to restore the default.
Syntax
grpc idle-timeout minutes
undo grpc idle-timeout
Default
The gRPC session idle timeout timer is 5 minutes.
Views
System view
Predefined user roles
network-admin
Parameters
minutes: Specifies the gRPC session idle timeout timer in minutes, in the range of 0 to 30. To disable gRPC sessions from being timed out, set it to 0.
Usage guidelines
If no gRPC packet exchanges occur on the session between a gRPC and the server before the idle timeout timer expires, the device closes the session.
Examples
# Set the gRPC session idle timeout timer to 6 minutes.
<Sysname> system-view
[Sysname] grpc idle-timeout 6
grpc log dial-in gnmi
Use grpc log dial-in gnmi to enable gRPC logging for gNMI operations in dial-in mode.
Use undo grpc log dial-in gnmi to disable gRPC logging for gNMI operations in dial-in mode.
Syntax
grpc log dial-in gnmi { all | { capabilities | get | set | subscribe }* }
undo grpc log dial-in gnmi { all | { capabilities | get | set | subscribe }* }
Default
In dial-in mode, gRPC logging is enabled for gNMI Set operations and disabled for other gNMI operations.
Views
System view
Predefined user roles
network-admin
Parameters
all: Specifies all gNMI operations.
capabilities: Specifies the gNMI Capabilities operations.
get: Specifies the gNMI Get operations.
set: Specifies the gNMI Set operations.
subscribe: Specifies the gNMI Subscribe operations.
Usage guidelines
To identify gRPC issues, enable gNMI operations logging in dial-in mode.
This command generates gNMI operation logs in dial-in mode and sends them to the information center. With the information center, you can configure log destinations and output rules. For more information about the information center, see System Management Configuration Guide.
If you execute this command multiple times, the most recent configuration takes effect.
Examples
# Enable gRPC logging for gNMI Get operations in dial-in mode.
<Sysname> system-view
[Sysname] grpc log dial-in gnmi get
grpc log dial-in rpc
Use grpc log dial-in rpc to enable gRPC logging for RPC operations in dial-in mode.
Use undo grpc log dial-in rpc to disable gRPC logging for RPC operations in dial-in mode.
Syntax
grpc log dial-in rpc { all | { cli | get }* }
undo grpc log dial-in rpc { all | { cli | get }* }
Default
In dial-in mode, gRPC logging is disabled for RPC operations.
Views
System view
Predefined user roles
network-admin
Parameters
all: Specifies both RPC CLI and Get operations.
cli: Specifies the RPC CLI operations.
get: Specifies the RPC Get operations.
Usage guidelines
To identify gRPC issues, enable RPC operations logging in dial-in mode.
This command generates RPC operation logs in dial-in mode and sends them to the information center. With the information center, you can configure log destinations and output rules. For more information about the information center, see System Management Configuration Guide.
If you execute this command multiple times, the most recent configuration takes effect.
Examples
# Enable gRPC logging for RPC Get operations in dial-in mode.
<Sysname> system-view
[Sysname] grpc log dial-in rpc get
grpc port
Use grpc port to specify the gRPC service port number.
Use undo grpc port to restore the default.
Syntax
grpc port port-number
undo grpc port
Default
The gRPC service port number is 50051.
Views
System view
Predefined user roles
network-admin
Parameters
port-number: Specifies the gRPC service port number, in the range of 1 to 65535.
Usage guidelines
Changing the gRPC service port number reboots the gRPC service and terminates all gRPC sessions to the gRPC server. If the new port is not available, the system reboots the gRPC service again to use the old port.
Examples
# Set the gRPC service port number to 50052.
<Sysname> system-view
[Sysname] grpc port 50052
Related commands
grpc enable
gRPC dial-out mode commands
condition
Use condition to configure a filtering condition for a filter.
Use undo condition to delete a filtering condition from a filter.
Syntax
condition node node operator operator value value
undo condition node node operator operator value value
Default
A filter does not contain filtering conditions.
Views
Filter view
Predefined user roles
network-admin
Parameters
node node: Specifies a node by its full name, a case-insensitive string. To obtain information about the available nodes, execute the condition node ? command.
operator operator: Specifies a comparison operator. Available operations vary by node. The following are values available for the operator argument:
· eq: Equal to.
· ge: Greater than or equal to.
· gt: Greater than.
· le: Less than or equal to.
· lt: Less than.
· ne: Not equal to.
value value: Specify the value on which the operation is performed.
Usage guidelines
Use this command to add filtering conditions to a filter for flexible filtering. A filtering condition matches a subnet of data of interest to collectors.
To add multiple filtering conditions to a filter, repeat this command. A filter can contain a maximum of five filtering conditions.
By default, a filter is matched if all its filtering conditions are matched. To have a filter match data that matches any one of its filtering conditions, use the operator command to change the operator between filtering conditions.
Examples
# Enable flexible sensor mode and add sensor path device/base for flexible filtering in sensor group test. Configure a filter for the device to push data entries with a value of 377 or 378 for the uptime node under the sensor path.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] grpc sensor-mode flex
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test] sensor-path-flex device/base
[Sysname-telemetry-sensor-group-test-path] filter filter1
[Sysname-telemetry-sensor-group-test-path-filter] operator or
[Sysname-telemetry-sensor-group-test-path-filter] condition node uptime operator eq value 377
[Sysname-telemetry-sensor-group-test-path-filter] condition node uptime operator eq value 378
Related commands
filter
operator
depth
Use depth to specify the retrieval depth for a flex-mode sensor path.
Use undo depth to restore the default.
Syntax
depth depth
undo depth
Default
Data retrieval depth is 1.
Views
Flex-mode sensor path view
Predefined user roles
network-admin
Parameters
depth: Retrieval depth. The value range is 1 to 3.
· If the depth is set to 1, the device retrieves data from all columns under the specified path.
· If the depth is set to 2, the device retrieves data from both columns and subtables under the specified path.
· If the depth is set to 3, the device retrieves data from columns and subtables under the specified path as well as the subtables (if any) attached to the subtables under the specified path.
Usage guidelines
This command is supported only for sensor paths that represent multilevel tables.
Examples
# Enable flexible sensor mode and set the retrieval depth to 2 for a multilevel table sensor path in sensor group test.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] grpc sensor-mode flex
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test] sensor-path-flex openconfig-acl:acl/acl-sets/acl-set/acl-entries/acl-entry/config
[Sysname-telemetry-sensor-group-test-path] depth 2
destination-group (subscription view)
Use destination-group to specify a destination group for a subscription.
Use undo destination-group to remove a destination group from a subscription.
Syntax
destination-group group-name
undo destination-group group-name
Default
A subscription does not have a destination group.
Views
Subscription view
Predefined user roles
network-admin
Parameters
group-name: Specifies a destination group by its name, a case-sensitive string of 1 to 31 characters.
Usage guidelines
A subscription binds sensor groups to destination groups. Then, the device pushes data from the specified sensors to the collectors.
The specified destination group must have been created by using the destination-group command in telemetry view.
You cannot use a destination group in both a gRPC subscription and a gNMI subscription.
You can specify a maximum of five destination groups for a subscription.
Examples
# Specify destination group collector1 for subscription A.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] destination-group collector1
Related commands
destination-group (telemetry view)
destination-group (telemetry view)
Use destination-group to create a destination group and enter its view, or enter the view of an existing destination group.
Use undo destination-group to delete a destination group.
Syntax
destination-group group-name
undo destination-group group-name
Default
No destination groups exist.
Views
Telemetry view
Predefined user roles
network-admin
Parameters
group-name: Specifies the destination group name, a case-sensitive string of 1 to 31 characters.
Usage guidelines
As a best practice, configure a maximum of five destination groups. If you configure too many destination groups, system performance might degrade.
To delete a destination group that is already used by a subscription, you must remove the destination group from the subscription first.
Examples
# Create a destination group named collector1.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] destination-group collector1
[Sysname-telemetry-destination-group-collector1]
Related commands
destination-group (subscription view)
subscription
display telemetry sensor-path
Use display telemetry sensor-path to display sensor paths that have the minimum sampling interval.
Syntax
display telemetry sensor-path
Views
Any view
Predefined user roles
network-admin
network-operator
Usage guidelines
The effective sampling interval for a sensor path is the higher one between the following interval settings:
· The minimum sampling interval displayed in the Min Interval(ms) field for that sensor path.
· The sampling interval set for the sensor group that contains the sensor path by using the sensor-group command in subscription view.
This command displays sensor path information in the following order:
· Periodic sensor paths that has a predefined minimum sampling interval.
· Periodic sensor paths that use the default minimum sampling interval. These paths are collectively displayed as default-interval paths in one entry.
Examples
# Display sensor paths that have the minimum sampling interval.
<Sysname> display telemetry sensor-path
Sampling Type Min Interval(ms) Sensor Path
Periodic 5000 diagnostic/cpuhistory
Periodic 5000 diagnostic/memories
Periodic 5000 diagnostic/porcessescpuhistory
...
Periodic 1000 (default-interval paths)
Table 3 Command output
Field |
Description |
Sampling Type |
Type of the sensor path: · Periodic—The device pushes data from the sensor path to the collector at intervals. · Event-triggered—The device pushes data from the sensor path to the collector when certain events occur. This type is not supported in the current software version. |
Min Interval(ms) |
The minimum data sampling, in milliseconds. |
Sensor Path |
Sensor path name. Periodic sensor paths that use the default minimum sampling interval are collectively displayed as default-interval paths. |
Related commands
sensor-group (subscription view)
domain-name
Use domain-name to add the domain name of an IPv4 collector to a destination group.
Use undo domain-name to remove the domain name of an IPv4 collector from a destination group.
Syntax
domain-name domain-name [ port port-number ] [ vpn-instance vpn-instance-name ] [ tls ]
undo domain-name domain-name [ port port-number ] [ vpn-instance vpn-instance-name ] [ tls ]
Default
A destination group does not contain IPv4 collectors.
Views
Destination group view
Predefined user roles
network-admin
Parameters
domain-name: Domain name mapped to the IPv4 address of a collector. It can be a case-insensitive string of 1 to 253 characters and can contain letters, digits, hyphens (-), underscores (_), and dots (.).
port port-number: Specifies the service port number on which the collector receives data. The value range is 1 to 65535 and the default is 50051. To have the collector receive data, make sure the specified service port number is the same as the one used on the collector.
vpn-instance vpn-instance-name: Specifies the MPLS L3VPN instance to which the collector belongs. The vpn-instance-name argument is a case-sensitive string of 1 to 31 characters. Make sure the specified VPN instance already exists. If the collector is on the public network, do not specify this option.
tls: Enables Transport Layer Security (TLS) to encrypt the gRPC connection between the device and the specified collector. The device will then use a root TLS certificate that came with it for encryption. By default, the gRPC connections established by the device are unencrypted.
Usage guidelines
If you specify collectors by their domain names, you must configure DNS to make sure the device can translate the domain names of the collectors to IPv4 addresses. For more information about DNS, see Layer 3—IP Services Configuration Guide.
To view domain name and IP address mappings, use the display dns host command. If a domain name maps to multiple IP addresses, the device pushes data to the first reachable IP address.
To add multiple collectors, repeat this command.
· A collector is uniquely identified by a combination of the domain name, VPN instance name, and port number elements. One collector must have a different element than the other collectors.
· If you execute this command multiple times to change the TLS enabling state for a collector, the most recent configuration takes effect.
The number of collectors that a destination group can have is 5.
You can enable TLS encryption globally by executing the grpc pki domain command in system view or enable collector-specific TLS encryption by specifying the tls keyword when you specify the collector. For a collector, the setting in system view has higher priority than the collector-specific setting.
To modify the collector configuration for a destination group that is already used by a subscription, you must remove the destination group from the subscription first.
Examples
# Add the IPv4 collector at sample.com to destination group collector1.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] destination-group collector1
[Sysname-telemetry-destination-group-collector1] domain-name sample.com
Related commands
destination-group (subscription view)
subscription
display dns host (Layer 3—IP Services Command Reference)
dscp
Use dscp to set the DSCP value of packets sent to collectors.
Use undo dscp to restore the default.
Syntax
dscp dscp-value
undo dscp
Default
The DSCP value of packets sent to collectors is 0.
Views
Subscription view
Predefined user roles
network-admin
Parameters
dscp-value: Specifies the DSCP value of packets sent to collectors, in the range of 0 to 63.
Usage guidelines
A greater DSCP value represents a higher priority.
If you execute this command multiple times in the same view, the most recent configuration takes effect.
Examples
# Set the DSCP value of packets sent to collectors to 12 for subscription A.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] dscp 12
encoding
Use encoding to specify the encoding format for pushed data.
Use undo encoding to restore the default.
Syntax
encoding { gpb | json }
undo encoding
Default
The encoding format for pushed data is JSON.
Views
Subscription view
Predefined user roles
network-admin
Parameters
gpb: Specifies the GPB encoding format. This keyword is available only when the device uses the three-layer telemetry data model architecture to push data.
json: Specifies the JSON encoding format.
Usage guidelines
This command is not available for gNMI subscriptions.
The device supports JSON encoding for all data available for subscription. However, it does not support GPB encoding for all data. With GPB encoding, the device will not push data that cannot be GPB encoded. When you choose GPB encoding for a subscription, make sure all data in the subscription can be encoded in GPB.
Examples
# Specify the three-layer architecture for telemetry data models and use GPB to encode data for subscription A.
<Sysname> system-view
[Sysname] grpc data-model 3-layer
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] encoding gpb
Related commands
grpc data-model
filter
Use filter to configure a filter for a flex-mode sensor path.
Use undo filter to delete a filter from a flex-mode sensor path.
Syntax
filter filter-name
undo filter filter-name
Default
No filters are configured for sensor paths.
Views
Flex-mode sensor path view
Predefined user roles
network-admin
Parameters
filter-name: Specify a filter name, a case-sensitive string of 1 to 31 characters.
Usage guidelines
You can use this command to specify a filter only for periodic sensor paths. A period sensor path can have only one filter.
To add filtering conditions to a filter, use the condition command.
Examples
# Enable flexible sensor mode, add the ifmgr/devicecapabilities sensor path to sensor group test, and then configure a filter for the sensor path.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] grpc sensor-mode flex
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test] sensor-path-flex ifmgr/devicecapabilities
[Sysname-telemetry-sensor-group-test-path] filter filter1
[Sysname-telemetry-sensor-group-test-path-filter]
Related commands
condition
grpc log dial-out
Use grpc log dial-out to enable gRPC logging in dial-out mode.
Use undo grpc log dial-out to disable gRPC logging in dial-out mode.
Syntax
grpc log dial-out { all | { event | sample }* }
undo grpc log dial-out { all | { event | sample }* }
Default
In dial-out mode, gRPC logging is disabled.
Views
System view
Predefined user roles
network-admin
Parameters
all: Specifies all data collection types.
event: Specifies event-triggered data collection.
sample: Specifies periodical data collection.
Usage guidelines
To identify gRPC issues, enable gRPC data collection logging in dial-out mode.
This command generates gRPC data collection logs in dial-out mode and sends them to the information center. With the information center, you can configure log destinations and output rules. For more information about the information center, see System Management Configuration Guide.
gRPC logging in dial-out mode is unavailable for gNMI subscriptions.
If you execute this command multiple times, the most recent configuration takes effect.
Examples
# Enable gRPC logging for periodical data collection in dial-out mode.
<Sysname> system-view
[Sysname] grpc log dial-out sample
grpc sensor-mode
Use grpc sensor-mode to set the gRPC sensor mode.
Use undo grpc sensor-mode to restore the default gRPC sensor mode.
Syntax
grpc sensor-mode { flex | simple }
undo grpc sensor-mode
Default
Simple sensor mode applies.
Views
Telemetry view
Predefined user roles
network-admin
Parameters
flex: Enable flexible sensor mode.
simple: Enable simple sensor mode.
Usage guidelines
The device supports flexible sensor mode and simple sensor mode for flexible filtering and simple filtering, respectively.
Depending on the sensor mode, you can configure the sensor paths in a sensor group with simple filtering conditions or flexible filtering conditions.
· In flexible sensor mode, you can set the operator between filtering conditions on a sensor path to AND or OR.
· In simple sensor mode, the operator between filtering conditions on a sensor path is fixed at AND. The device pushes only data that matches all filtering conditions from the sensor path.
The sensor path configuration procedure differs depending on the sensor mode.
· In flexible sensor mode, use the following procedure to configure a sensor path and its filtering conditions:
a. Execute the sensor-path-flex command to add the sensor path to the sensor group and enter flex-mode sensor path view. In some situations, the sensor paths specified by using this method are called flex-mode sensor paths for clarity.
b. Execute the filter command to create a filter for the sensor path.
c. Execute the condition command to add filtering conditions to the filter.
d. Execute the operator command to set the operator between the filtering conditions.
- To push data that matches all conditions, set the operator to and.
- To push data that matches any filtering conditions, set the operator to or.
· In simple sensor mode, use the following procedure to configure a sensor path and its filtering conditions:
a. Execute the sensor path command to add the sensor path to the sensor group. When you execute the command, you can specify a filtering condition. In some situations, the sensor paths specified by using this method are called simple-mode sensor paths for clarity.
b. To specify multiple filtering conditions on the sensor path, repeat the command with different filtering conditions.
The operator between filtering conditions on the sensor path is fixed at AND. The device pushes only data that matches all filtering conditions from the sensor path.
Flexible filtering and simple filtering are mutually exclusive. Before you change the sensor mode from simple to flexible, you must delete all sensor groups or delete all simple-mode sensor paths from all sensor groups. Likewise, before you change the sensor mode from flexible to simple, you must delete all sensor groups or delete all flex-mode sensor paths.
gNMI sensor groups do not support the flexible sensor mode.
Examples
# Enable simple sensor mode.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] grpc sensor-mode flex
Related commands
operator
sensor path
sensor-path-flex
ipv4-address
Use ipv4-address to add an IPv4 collector to a destination group.
Use undo ipv4-address to remove an IPv4 collector from a destination group.
Syntax
ipv4-address ipv4-address [ port port-number ] [ vpn-instance vpn-instance-name ] [ tls ]
undo ipv4-address ipv4-address [ port port-number ] [ vpn-instance vpn-instance-name ] [ tls ]
Default
A destination group does not have IPv4 collectors.
Views
Destination group view
Predefined user roles
network-admin
Parameters
ipv4-address: Specifies the IPv4 address of the collector.
port port-number: Specifies the listening port of the collector, in the range of 1 to 65535. The default is 50051.
vpn-instance vpn-instance-name: Specifies the VPN instance to which the collector belongs. The vpn-instance-name argument is a case-sensitive string of 1 to 31 characters. If the collector belongs to the public network, do not specify this option.
tls: Enables Transport Layer Security (TLS) to encrypt the gRPC connection between the device and the specified collector. The device will then use a root TLS certificate that came with it for encryption. By default, the gRPC connection between the device and a collector is unencrypted.
Usage guidelines
To add multiple collectors to a destination group, execute this command multiple times.
A collector is uniquely identified by an IP address, port number, and VPN instance name. One collector must have a different address, port, or VPN instance than the other collectors.
If you execute this command multiple times for a collector, the most recent configuration takes effect.
You can enable TLS encryption globally by executing the grpc pki domain command in system view or enable collector-specific TLS encryption by specifying the tls keyword when you specify the collector. For a collector, the setting in system view has higher priority than the collector-specific setting.
You can specify a maximum of five collectors for a destination group.
To modify the collector configuration for a destination group that is already used by a subscription, you must remove the destination group from the subscription first.
Examples
# Add a collector that uses IPv4 address 192.168.21.21 and the default port number to destination group collector1.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] destination-group collector1
[Sysname-telemetry-destination-group-collector1] ipv4-address 192.168.21.21
Related commands
destination-group (subscription view)
subscription
ipv6-address
Use ipv6-address to add an IPv6 collector to a destination group.
Use undo ipv6-address to remove an IPv6 collector from a destination group.
Syntax
ipv6-address ipv6-address [ port port-number ] [ vpn-instance vpn-instance-name ] [ tls ]
undo ipv6-address ipv6-address [ port port-number ] [ vpn-instance vpn-instance-name ] [ tls ]
Default
A destination group does not have IPv6 collectors.
Views
Destination group view
Predefined user roles
network-admin
Parameters
ipv6-address: Specifies the IPv6 address of the collector. It cannot be an IPv6 link-local address. For more information about IPv6 link-local addresses, see IPv6 basics configuration in Layer 3—IP Services Configuration Guide.
port port-number: Specifies the listening port of the collector, in the range of 1 to 65535. The default is 50051.
vpn-instance vpn-instance-name: Specifies the VPN instance to which the collector belongs. The vpn-instance-name argument is a case-sensitive string of 1 to 31 characters. If the collector belongs to the public network, do not specify this option.
tls: Enables Transport Layer Security (TLS) to encrypt the gRPC connection between the device and the specified collector. The device will then use a root TLS certificate that came with it for encryption. By default, the gRPC connection between the device and a collector is unencrypted.
Usage guidelines
To add multiple collectors to a destination group, execute this command multiple times.
A collector is uniquely identified by an IP address, port number, and VPN instance name. One collector must have a different address, port, or VPN instance than the other collectors.
If you execute this command multiple times for a collector, the most recent configuration takes effect.
You can enable TLS encryption globally by executing the grpc pki domain command in system view or enable collector-specific TLS encryption by specifying the tls keyword when you specify the collector. For a collector, the setting in system view has higher priority than the collector-specific setting.
You can specify a maximum of five collectors for a destination group.
To modify the collector configuration for a destination group that is already used by a subscription, you must remove the destination group from the subscription first.
Examples
# Add a collector that uses IPv6 address 1::1 and the default port number to destination group collector1.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] destination-group collector1
[Sysname-telemetry-destination-group-collector1] ipv6-address 1::1
Related commands
destination-group (subscription view)
subscription
ipv6 domain-name
Use ipv6 domain-name to add the domain name of an IPv6 collector to a destination group.
Use undo ipv6 domain-name to remove the domain name of an IPv6 collector from a destination group.
Syntax
ipv6 domain-name domain-name [ port port-number ] [ vpn-instance vpn-instance-name ] [ tls ]
undo ipv6 domain-name domain-name [ port port-number ] [ vpn-instance vpn-instance-name ] [ tls ]
Default
A destination group does not contain IPv6 collectors.
Views
Destination group view
Predefined user roles
network-admin
Parameters
domain-name: Domain name mapped to the IPv6 address of a collector. It can be a case-insensitive string of 1 to 253 characters and can contain letters, digits, hyphens (-), underscores (_), and dots (.).
port port-number: Specifies the service port number on which the collector receives data. The value range is 1 to 65535 and the default is 50051. To have the collector receive data, make sure the specified service port number is the same as the one used on the collector.
vpn-instance vpn-instance-name: Specifies the MPLS L3VPN instance to which the collector belongs. The vpn-instance-name argument is a case-sensitive string of 1 to 31 characters. Make sure the specified VPN instance already exists. If the collector is on the public network, do not specify this option.
tls: Enables Transport Layer Security (TLS) to encrypt the gRPC connection between the device and the specified collector. The device will then use a root TLS certificate that came with it for encryption. By default, the gRPC connection between the device and a collector is unencrypted.
Usage guidelines
If you specify IPv6 collectors by their domain names, you must configure DNS to make sure the device can translate the domain names of the collectors to IPv6 addresses. For more information about DNS, see Layer 3—IP Services Configuration Guide.
To view domain name and IP address mappings, use the display dns host command. If a domain name maps to multiple IP addresses, the device pushes data to the first reachable IP address.
To add multiple collectors, repeat this command.
· A collector is uniquely identified by a combination of the domain name, VPN instance name, and port number elements. One collector must have a different element than the other collectors.
· If you execute this command multiple times to change the TLS enabling state for a collector, the most recent configuration takes effect.
The number of collectors that a destination group can have is 5.
You can enable TLS encryption globally by executing the grpc pki domain command in system view or enable collector-specific TLS encryption by specifying the tls keyword when you specify the collector. For a collector, the setting in system view has higher priority than the collector-specific setting.
To modify the collector configuration for a destination group that is already used by a subscription, you must remove the destination group from the subscription first.
Examples
# Add the IPv6 collector at sample.com to destination group collector1.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] destination-group collector1
[Sysname-telemetry-destination-group-collector1] ipv6 domain-name sample.com
Related commands
destination-group (subscription view)
subscription
display dns host (Layer 3—IP Services Command Reference)
json row-timestamp enable
Use json row-timestamp enable to enable per-row time-stamping for JSON-encoded subscription data.
Use undo json row-timestamp enable to restore the default.
Syntax
json row-timestamp enable
undo json row-timestamp enable
Default
The device time-stamps JSON-encoded subscription data on a per-message basis.
Views
Subscription view
Predefined user roles
network-admin
Usage guidelines
Operating mechanism
For a non-gNMI subscription, you can configure the device to time-stamp JSON-encoded subscription data on a per-message or per-row basis. The following information uses a subscription to the Device module to describe the difference between the options:
· By default, per-message time-stamping is used. The device stamps each subscription response with the system time when they are generated, as shown below:
{"Notification":
{"Timestamp":"1639405006926",
"Device":
{"PhysicalEntities":
{"Entity":
[
{"PhysicalIndex":1,
"Chassis":0,
"Slot":65535,
...
{"PhysicalIndex":2,
"Chassis":0,
"Slot":0,
...
· Per-row time-stamping enables the device to stamp each row of data with the system time when they are collected, as shown below:
{"row":
[{"Timestamp":"1639405006926",
"content":
{"Device":
{"PhysicalEntities":
{"Entity":
[{"PhysicalIndex":1,
"Chassis":0,
"Slot":65535,
...
{"Timestamp":"1639505007890",
"content":
{"Device":
{"PhysicalEntities":
{"Entity":
[{"PhysicalIndex":2,
"Chassis":0,
"Slot":0,
...
Restrictions and guidelines
Per-row subscription data time-stamping is not available for gNMI subscriptions.
This command is not supported when the device uses the three-layer telemetry data model architecture.
Examples
# Enable per-row time-stamping for the JSON-encoded subscription data pushed for a subscription.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] json row-timestamp enable
operator
Use operator to set the logical operator on the filtering conditions in a filter.
Use undo operator to restore the default.
Syntax
operator { and | or }
undo operator
Default
By default, the AND operator applies to the filtering conditions in a filter.
Views
Filter view
Predefined user roles
network-admin
Parameters
and: Specifies the logical AND operator. The device pushes only data that matches all the filtering conditions in the filter.
or: Specifies the OR operator. The device pushes data that matches any filtering conditions in the filter.
Examples
# In flexible sensor mode, add the ifmgr/devicecapabilities sensor path to sensor group test, configure a filter for the sensor path, and set the operator between the filtering conditions in the filter to OR.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] grpc sensor-mode flex
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test] sensor-path-flex ifmgr/devicecapabilities
[Sysname-telemetry-sensor-group-test-path] filter filter1
[Sysname-telemetry-sensor-group-test-path-filter] operator or
Related commands
filter
protocol
Use protocol to specify a transport protocol for the device to send packets to collectors.
Use undo protocol to restore the default.
Syntax
protocol { grpc | udp }
undo protocol
Default
The device uses gRPC as the transport protocol to send packets to collectors.
Views
Subscription view
Predefined user roles
network-admin
Parameters
grpc: Specifies gRPC as the transport protocol. gRPC uses TCP at the transport layer.
udp: Specifies UDP as the transport protocol.
Usage guidelines
If you execute this command multiple times, the most recent configuration takes effect.
For a subscription that has sensor group and destination group bindings, you must first remove all the sensor groups and destination groups from it before you execute this command.
Examples
# Specify UDP as the transport protocol for subscription A.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] protocol udp
push-mode
Use push-mode to set the data push mode for a subscription.
Use undo push-mode to restore the default.
Syntax
push-mode condition-triggered
undo push-mode
Default
The data push mode for a sensor path in a subscription is periodic or event-triggered.
Views
Subscription view
Predefined user roles
network-admin
Parameters
condition-triggered: Specifies the condition-triggered data push mode. In this mode, the device periodically checks each sensor path in a sensor group and pushes the data from the sensor path to collectors if certain conditions are met.
Usage guidelines
This command is available only for gNMI subscriptions.
As a best practice, use condition-triggered data push mode only if a sensor group has condition-triggered sensor groups.
For information about condition-triggered sensor paths, the sensor path check interval, and data push conditions, contact H3C Support.
Example
# Set the data push mode to condition-triggered for gNMI subscription A.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A gnmi
[Sysname-telemetry-subscription-A] push-mode condition-triggered
Related commands
Subscription
sensor-path-flex
Use sensor-path-flex to add a flex-mode sensor path and enter its view.
Use undo sensor-path-flex to delete a flex-mode sensor path.
Syntax
sensor-path-flex path
undo sensor-path-flex path
Default
No sensor paths are configured.
Views
Sensor group view
Predefined user roles
network-admin
Parameters
path: Specifies a data path by its full name. The data path name is case insensitive. For information about the available paths, execute the sensor-path-flex ? command.
Usage guidelines
To execute this command, first execute the grpc sensor-mode flex command in telemetry view to enable flexible sensor mode.
The device supports a total maximum of 128 sensor paths in total.
You can execute the sensor-group command in subscription view to specify a sensor group for a subscription. To modify the sensor path configuration for a sensor group that is used in a subscription, you must first remove the sensor group from the subscription.
For the ifmgr/statistics sensor path, you can alternatively specify ifindex attribute values in the path to filter data.
· You can specify condition nodes to do node-based filtering or include ifindex attribute values in sensor paths to do index-based filtering, but not both.
· Use the [ifindex=”index”] format to specify index-based filters in the path. The index argument is a case-insensitive string that represents the type and number of an interface or its index.
· You can specify a maximum of 64 ifindex attribute values in a sensor path. The device pushes data from the sensor path if one of the ifindex attribute values is met.
· The end character for the index argument can be a wildcard character (*), for example, sensor-path-flex ifmgr/statistics[ifindex="gigabitethernet1/0/*"].
Examples
# In flexible sensor mode, add the ifmgr/devicecapabilities sensor path to sensor group test.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] grpc sensor-mode flex
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test] sensor-path-flex ifmgr/devicecapabilities
[Sysname-telemetry-sensor-group-test-path]
Related commands
grpc sensor-mode
sensor-group (subscription view)
sensor path
Use sensor path to configure a sensor path.
Use undo sensor path to delete a sensor path.
Syntax
For gNMI subscriptions:
sensor path path
undo sensor path path
For non-gNMI subscriptions:
sensor path path [ selection-nodes node-list | depth depth ]
sensor path path
undo sensor path path
Default
No sensor paths exist.
Views
Sensor group view
Predefined user roles
network-admin
Parameters
path: Specifies a data path. For information about the available paths, enter a question mark (?) in the position of this argument.
selection-nodes: Pushes data from nodes in the specified data path. If you do not specify this keyword, the device pushes data from all nodes in the specified data path.
node-list: Specifies a space-separated list of up to 24 nodes by their names. To view available nodes in the sensor path, enter a question mark (?) in the position of this argument. For more information about path nodes, see the Columns sections in the NETCONF XML API references of the related module.
depth depth: Specifies the retrieval level for the sensor path. This option takes effect if the sensor path is a periodic path. The value range for the depth is 1 to 3. The default depth is 1.
· If the depth is set to 1, the device collects data from all columns under the specified path.
· If the depth is set to 2, the device collects data from all columns and subtables under the specified path.
· If the depth is set to 3, the device collects data from all columns, subtables, and subtables under the subtables, under the specified path.
Usage guidelines
Follow these restrictions and guidelines when you configure a sensor path in a gNMI subscription:
· To push only a subset of data from a sensor path, add filters in [column="value"] format in that sensor path. The column argument represents a column in a multi-instance table, which is case insensitive. The value argument represents the column value, which is case sensitive.
For more information about the multi-instance tables for a module, see the NETCONF XML API references for that module. To identify the value ranges for columns, see the Columns section in the API references.
· You can add sensor path entries that have the same sensor path but different filtering conditions. For example, the following commands specify different path entries:
¡ sensor path interfaces/interface/subinterfaces/subinterface[index="2"]/config
¡ sensor path interfaces/interface/subinterfaces/subinterface[index="3"]/config
In a non-gNMI subscription, you can include filters in sensor path ifmgr/statistics to match data you need to push to collectors. The device pushes data from the sensor path to collectors as long as one of the filters has matching data.
· Do not specify both data paths and filters for this sensor path.
· Use the [ifindex="index"] format to specify a filter. The index is a case-insensitive string that represents the type and number or index of an interface.
· The last character for index can be wildcard character (*), for example, you can specify sensor path ifmgr/statistics[ifindex="GigabitEthernet1/0/*"].
· You can specify a maximum of 64 filters in a sensor path.
To configure multiple sensor paths, repeat this command. If you execute this command with the same sensor path specified, the most recent configuration takes effect.
The device supports a maximum of 128 sensor paths.
To modify the sensor path configuration for a sensor group that is already used by a subscription, you must remove the sensor group from the subscription first.
Examples
# Configure sensor path ifmgr/devicecapabilities/ for non-gNMI sensor group test.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test] sensor path ifmgr/devicecapabilities/
Related commands
sensor-group (subscription view)
subscription
sensor-group (subscription view)
Use sensor-group to specify a sensor group for a subscription.
Use undo sensor-group to remove a sensor group from a subscription.
Syntax
sensor-group group-name [ sample-interval [ msec ] interval | suppress-time suppress-time ]
undo sensor-group group-name
Default
A subscription does not have a sensor group.
Views
Subscription view
Predefined user roles
network-admin
Parameters
group-name: Specifies a sensor group by its name, a case-sensitive string of 1 to 31 characters.
sample-interval: Specifies that the sensor group collects and pushes data at intervals. If you do not specify this keyword, the sensor group collects and pushes data only when triggered by events.
msec: Specifies the data push interval in milliseconds. To set the data push interval in seconds, do not specify this keyword. This keyword is available only for non-gNMI subscription.
interval: Specifies the data push interval. The value range for this argument differs depending on the unit of interval measurement.
· If you do not specify the msec keyword, the value range is 1 to 86400.
· If you specify the msec keyword, the data push interval must be a multiple of 100 in the range of 100 to 900.
suppress-time suppress-time: Specifies the data push suppression interval in seconds. During the data push suppression interval, the device does not push the data from a sensor path even though conditions are met. The value range for the argument is 1 to 300, and the default is 60. This parameter is available only for gNMI subscriptions with condition-triggered data push mode enabled by using the push-mode condition-triggered command.
Usage guidelines
For the device to correctly push data from sensor paths in a sensor group, make sure the subscription settings for the sensor paths are compliant with Table 4.
Table 4 Compatibility of sensor path types and subscription settings
Sensor path type |
Push mode |
Data push interval |
Data push suppression interval |
Periodical |
Default |
Configured |
Not configured |
Event-triggered |
Default |
Not configured |
Not configured |
Condition-triggered |
Condition-triggered |
Not configured |
Configured |
The specified sensor group must have been created by using the sensor-group command in telemetry view.
For a gNMI subscription, you must specify gNMI sensor groups. For a non-gNMI subscription, you must specify non-gNMI sensor groups.
To change the data collection interval for a subscription for which you have specified a sensor group, you must first remove the sensor group in subscription view.
Examples
# Specify sensor group test for subscription A. Set the data collection interval to 10 seconds.
<Sysname> system-view
[Sysname] telemetry
[Device-telemetry] subscription A
[Device-telemetry-subscription-A] sensor-group test sample-interval 10
Related commands
push-mode
sensor path
sensor-group (telemetry view)
sensor-group (telemetry view)
Use sensor-group to create a sensor group and enter its view, or enter the view of an existing sensor group.
Use undo sensor-group to delete a sensor group.
Syntax
sensor-group group-name [ gnmi ]
undo sensor-group group-name
Default
No sensor groups exist.
Views
Telemetry view
Predefined user roles
network-admin
Parameters
group-name: Specifies the sensor group name, a case-sensitive string of 1 to 31 characters.
gnmi: Specifies a gNMI sensor group. If you do not specify this keyword, this command creates a non-gNMI sensor group.
Usage guidelines
When you enter the view of an existing gNMI sensor group, you do not need to specify the gnmi keyword.
The device supports a maximum of 32 sensor groups.
To delete a sensor group that is already used by a subscription, you must remove the sensor group from the subscription first.
Examples
# Create a non-gNMI sensor group named test.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test]
Related commands
sensor-group (subscription view)
subscription
source-address
Use source-address to specify the source IP address for packets sent to collectors.
Use undo source-address to restore the default.
Syntax
source-address { ipv4-address | interface interface-type interface-number | ipv6 ipv6-address } [ port port-number ]
undo source-address
Default
The device uses the primary IPv4 address of the output interface for the route to the collectors as the source address.
Views
Subscription view
Predefined user roles
network-admin
Parameters
ipv4-address: Specifies an IPv4 address.
interface interface-type interface-number: Specifies an interface by its type and number. In the current software version, you must specify a loopback interface. The device will use the interface's primary IPv4 address as the source address. If the interface does not have a primary IPv4 address, the device uses the primary IPv4 address of the output interface for the route to the collectors.
ipv6 ipv6-address: Specifies an IPv6 address.
port port-number: Specifies a source port number for subscription packets sent by the device, in the range of 1 to 65535. If you do not specify a source port number, the device uses a port number automatically assigned by the system as the source port number.
Usage guidelines
Prerequisites
For a subscription that has sensor group and destination group bindings, you must first remove all the sensor groups and destination groups from it before you execute this command.
Restrictions and guidelines
If you execute this command multiple times, the most recent configuration takes effect.
Changing the source address causes the device to reconnect to the gRPC server.
As a best practice to avoid gRPC connection errors, do not specify a port number in this command when the device sends subscription messages through gRPC.
Examples
# Specify the source IPv4 address of 169.254.1.1 for packets sent to collectors.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] source-address 169.254.1.1
subscription
Use subscription to create a subscription and enter its view, or enter the view of an existing subscription.
Use undo sensor-group to delete a subscription.
Syntax
subscription subscription-name [ gnmi ]
undo subscription subscription-name
Default
No subscription exists.
Views
Telemetry view
Predefined user roles
network-admin
Parameters
subscription-name: Specifies the subscription name, a case-sensitive string of 1 to 31 characters.
gnmi: Specifies a gNMI subscription. If you do not specify this keyword, this command creates a non-gNMI subscription.
Usage guidelines
When you enter the view for an existing gNMI subscription, you do not need to specify the gnmi keyword.
The device supports a maximum of 10 subscriptions.
Examples
# Configure a non-gNMI subscription named A.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A]
Related commands
destination-group (subscription view)
sensor-group (subscription view)
telemetry
Use telemetry to enter telemetry view.
Syntax
telemetry
Views
System view
Predefined user roles
network-admin
Usage guidelines
In telemetry view, you can configure telemetry parameters.
Examples
# Enter telemetry view.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry]