- Table of Contents
- Related Documents
-
Title | Size | Download |
---|---|---|
01-gRPC commands | 166.96 KB |
Contents
destination-group (subscription view)
destination-group (telemetry view)
sensor-group (subscription view)
gRPC commands
MDC is supported only when the device operates in standalone mode. For more information about standalone mode, see IRF configuration in Virtual Technologies Configuration Guide. For more information about MDC and device models that support MDC, see MDC configuration in Virtual Technologies Configuration Guide.
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
mdc-admin
mdc-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
gRPC CPU usage max percent : 20
PKI domain : grpc
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: 2
Connection ID: 1
IP address:Port: 192.1.1.254:11111
Status: Connected
Connection ID: 2
Domain name:Port: sample.com(192.1.1.253):50051
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. |
gRPC CPU usage max percent |
Maximum CPU usage (in percentage) for gRPC. This field is displayed only if a maximum CPU usage has been specified for gRPC by using the grpc cpu-usage max-percent command. |
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. |
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. |
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 service port number of the collector. |
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. |
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. · Shutdown—The channel has been closed because of an issue. |
# Display detailed gRPC information.
<Sysname> display grpc verbose
gRPC status : Enabled
gRPC CPU usage max percent : 20
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 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 configured
TimeStamp: Common
Sensor group: s
Sampling interval: N/A
Sampling type Effective sampling interval Sensor path
...
destination-group: d
Start-time: 2020-05-20T03:38:05.833
IP:Port: 1.1.1.1: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. |
gRPC CPU usage max percent |
Maximum CPU usage (in percentage) for gRPC. This field is displayed only if a maximum CPU usage has been specified for gRPC by using the grpc cpu-usage max-percent command. |
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 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. |
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 service 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. If no reachable IP address is available for the domain name, this field displays two hyphens (--) in parentheses. |
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 cpu-usage max-percent
Use grpc cpu-usage max-percent to set the maximum CPU usage for gRPC.
Use undo grpc cpu-usage max-percent to restore the default.
Syntax
grpc cpu-usage max-percent percentage
undo grpc cpu-usage max-percent
Views
System view
Default
No CPU usage limit is set on gRPC.
Predefined user roles
network-admin
mdc-admin
Parameters
percentage: Sets the maximum CPU usage for gRPC, in percentage. The value range is 1 to 50.
Usage guidelines
gRPC data sampling is CPU intensive. To prevent gRPC from negatively affecting other services, limit its maximum CPU usage. If the specified maximum CPU usage is exceeded during data sampling, gRPC suspends data sampling until after its CPU usage drops below the specified limit.
If you execute this command multiple times, the most recent configuration takes effect.
Examples
# Set the maximum CPU usage for gRPC to 39%.
<Sysname> system-view
[Sysname] grpc cpu-usage max-percent 39
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
mdc-admin
Usage guidelines
You must enable the gRPC service before you can configure gRPC-related settings.
Disabling the gRPC service deletes all gRPC-related settings.
Examples
# Enable the gRPC service.
<Sysname> system
[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
mdc-admin
Parameters
domain-name: Specifies a PKI domain by its name, a case-insensitive string of 1 to 31 characters.
Usage guidelines
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.
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
mdc-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
[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
mdc-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 Network Management and Monitoring 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
[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
mdc-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 Network Management and Monitoring 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
[Sysname] grpc log dial-in gnmi 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
mdc-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 disconnects all sessions established between the gRPC server and its gRPC clients. The gRPC clients must reinitiate the sessions.
If the specified port number is not available (for example, the port number is already used), the gRPC service reboots to use the original port number.
If you execute this command multiple times, the most recent configuration takes effect.
Examples
# Set the gRPC service port number to 50052.
<Sysname> system
[Sysname] grpc port 50052
Related commands
grpc enable
gRPC dial-out mode commands
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
mdc-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
mdc-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. Configuring too many destination groups might degrade the system performance.
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
mdc-admin
mdc-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
mdc-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 in this combination.
· If you execute this command multiple times to change the TLS enabling state for a collector, the most recent configuration takes effect.
A destination group can have a maximum of five collectors.
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 for packets sent to collectors.
Use undo dscp to restore the default.
Syntax
dscp dscp-value
undo dscp
Default
The DSCP value for packets sent to collectors is 0.
Views
Subscription view
Predefined user roles
network-admin
mdc-admin
Parameters
dscp-value: Specifies the DSCP value for 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 for packets sent to collectors to 12 for subscription A.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] dscp 12
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
mdc-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 Network Management and Monitoring 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
[Sysname] grpc log dial-in gnmi get
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
mdc-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 represents the VPN instance name, 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 specify a maximum of five collectors for a destination group.
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 for 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
mdc-admin
Parameters
ipv6-address: Specifies the IPv6 address of the collector. The IPv6 address cannot be a link-local address. For more information about 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 represents the VPN instance name, 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 specify a maximum of five collectors for a destination group.
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 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
mdc-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 in this combination.
· If you execute this command multiple times to change the TLS enabling state for a collector, the most recent configuration takes effect.
A destination group can have a maximum of five collectors.
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
mdc-admin
Usage guidelines
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,
...
Per-row subscription data time-stamping is not available for gNMI subscriptions.
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
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
mdc-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
Use sensor path to configure a sensor path.
Use undo sensor path to delete a sensor path.
Syntax
sensor path path [ selection-nodes node-list ]
undo sensor path path
Default
No sensor paths exist.
Views
Sensor group view
Predefined user roles
network-admin
mdc-admin
Parameters
path: Specifies a sensor path, a case-insensitive string of 1 to 255 characters. To view available sensor 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.
Usage guidelines
The selection-nodes node-list option is supported only for a non-gNMI subscription.
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 name in a multi-instance table and the value argument represents a column value. The column name is case insensitive and the column value is case sensitive.
For more information about multi-instance tables, see NETCONF XML API references of related modules.
· If you configure two sensor paths with the same sensor path but different filtering conditions, both of the sensor paths take effect.
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/ in non-gNMI sensor group test.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test] sensor path ifmgr/devicecapabilities/
# Configure sensor path ifmgr/statistics in non-gNMI sensor group test, and configure the device to push data only from nodes InRate and OutRate in the sensor path.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test] sensor path ifmgr/statistics selection-nodes inrate outrate
Related commands
sensor-group (subscription view)
sensor-group (telemetry 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
mdc-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.
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.
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 push interval or data push suppression interval for a sensor group after you specify a destination group for the subscription, you must complete the following tasks:
1. Remove the sensor group from the subscription.
2. Specify the sensor group for the subscription again and set the new data push interval or data push suppression interval for the sensor group.
Examples
# Specify sensor group test for subscription A. Set the data push interval to 10 seconds.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-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
mdc-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 }
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
mdc-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.
Usage guidelines
If you execute this command multiple times, the most recent configuration takes effect.
Changing the source IP address for packets sent to collectors causes the device to re-establish the connection to the gRPC server.
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
mdc-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 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
mdc-admin
Usage guidelines
In telemetry view, you can configure telemetry parameters.
Examples
# Enter telemetry view.
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry]