01-gRPC命令
本章节下载: 01-gRPC命令 (246.15 KB)
目 录
1.3.1 destination-group (subscription view)
1.3.2 destination-group (telemetry view)
1.3.6 json row-timestamp enable
1.3.8 sensor-group (subscription view)
1.3.9 sensor-group (telemetry view)
grpc enable命令用来开启gRPC功能。
undo grpc enable命令用来关闭gRPC功能。
【命令】
grpc enable
undo grpc enable
【缺省情况】
gRPC功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【使用指导】
如果开启gRPC功能时提示失败,请通过display tcp或display ipv6 tcp命令查看gRPC服务端口号是否被占用。如果已被占用,请修改gRPC服务端口号,再重新执行grpc enable命令。
【举例】
# 开启gRPC功能。
<Sysname> system
[Sysname] grpc enable
【相关命令】
· display ipv6 tcp(三层技术-IP业务命令参考/IPv6基础)
· display tcp(三层技术-IP业务命令参考/IP性能优化)
· grpc port
grpc pki domain命令用来配置设备和采集器建立gRPC连接时引用的PKI域。
undo grpc pki domain命令用来恢复缺省情况。
【命令】
grpc pki domain domain-name
undo grpc pki domain
【缺省情况】
设备和采集器建立gRPC连接时不会引用PKI域。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
domain-name:PKI域名,为1~31个字符的字符串,区分大小写。
【使用指导】
缺省情况下,设备和采集器建立的gRPC连接是非加密的。配置本命令引用PKI域后,设备和采集器会基于TLS(Transport Layer Security,传输层安全)协议进行通道加密和双向证书认证,从而提高gRPC通信的安全性。
指定的PKI域必须存在,并且PKI域中包含完整的证书和密钥。关于PKI的配置,请参见“安全配置指导”中的“PKI”。
指定PKI域后,gRPC功能将重启,与采集器的连接将短暂断开。Dial-in模式下,采集器需要重新发送连接请求才能继续访问;Dial-out模式下,设备会自动连接采集器。
【举例】
# 配置设备和采集器建立gRPC连接时引用的PKI域为grpc_test。
<Sysname> system-view
[Sysname] grpc pki domain grpc_test
display grpc命令用来显示gRPC Dial-in模式的相关信息。
【命令】
display grpc
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
mdc-admin
mdc-operator
【举例】
# 显示gRPC Dial-in模式的相关信息。
<Sysname> display grpc
gRPC status : enabled.
gRPC port : 50051
gRPC idle-timeout : 3 minutes
Session count: 1.
Session ID: 1
User name: test
Login time:2011-01-05 06:46:43 Idle time : 2 mins 56 s
Client IP address : 169.254.100.170:40810
Received RPCs : 0 Received error RPCs : 0
Received subscription: 0 Output notifications: 0
表1-1 display grpc命令显示信息描述表
字段 |
描述 |
gRPC status |
gRPC功能状态: · enabled:表示gRPC功能处于开启状态 · disabled:表示gRPC功能处于关闭状态 |
gRPC port |
gRPC服务使用的端口号 |
gRPC idle-timeout |
gRPC会话超时时间,单位为分钟 |
Session count |
gRPC会话数量 |
Session ID |
gRPC会话ID |
User name |
用户名 |
Login time |
登录时间 |
Idle time |
gRPC会话达到超时前的剩余空闲时间,0表示不超时 |
Client IP address |
客户端的IP地址和端口号 |
Received RPCs |
设备接收到的gRPC请求报文数量 |
Received error RPCs |
设备接收到的错误gRPC请求报文数量 |
Received subscription |
设备接收到的gRPC订阅请求报文数量 |
Output notifications |
设备上报通知的数量 |
grpc idle-timeout命令用来配置gRPC会话超时时间。
undo grpc idle-timeout命令用来恢复缺省情况。
【命令】
grpc idle-timeout minutes
undo grpc idle-timeout
【缺省情况】
gRPC会话超时时间为5分钟。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
minutes:表示gRPC会话超时时间,取值范围为0~30,单位为分钟。0表示设备不会因为超时自动断开用户连接。
【使用指导】
用户登录后,如果在超时时间内设备和用户之间没有gRPC报文交互,则超时时间到达时设备会自动断开该用户的连接。
【举例】
# 配置gRPC会话超时时间为6分钟。
<Sysname> system
[Sysname] grpc idle-timeout 6
grpc log dial-in gnmi命令用来开启gRPC Dial-in模式的gNMI类操作日志功能。
undo grpc log dial-in gnmi命令用来关闭gRPC Dial-in模式的gNMI类操作日志功能。
【命令】
grpc log dial-in gnmi { all | { capabilities | get | set | subscribe }* }
undo grpc log dial-in gnmi { all | { capabilities | get | set | subscribe }* }
【缺省情况】
gRPC Dial-in模式的gNMI Set操作日志功能处于开启状态,其他gNMI类操作日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
all:表示输出所有gNMI类操作日志。
capabilities:表示输出gNMI Capabilities操作日志。
get:表示输出gNMI Get操作日志。
set:表示输出gNMI Set操作日志。
subscribe:表示输出gNMI Subscribe操作日志。
【使用指导】
为了管理员定位gRPC问题的需要,可以开启gRPC日志功能,以便记录设备对gRPC报文的处理信息。
设备生成的gRPC日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
多次执行本命令,最终生效的是多次配置的集合。
【举例】
# 配置设备输出gRPC Dial-in模式的gNMI Get操作日志。
<Sysname> system
[Sysname] grpc log dial-in gnmi get
grpc log dial-in rpc命令用来开启gRPC Dial-in模式的RPC(Remote Procedure Call,远程过程调用)类操作日志功能。
undo grpc log dial-in rpc命令用来关闭gRPC Dial-in模式的RPC类操作日志功能。
【命令】
grpc log dial-in rpc { all | { cli | get }* }
undo grpc log dial-in rpc { all | { cli | get }* }
【缺省情况】
gRPC Dial-in模式的RPC类操作日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
all:表示输出CLI操作和Get操作的日志。
cli:表示输出CLI操作日志。
get:表示输出Get操作日志。
【使用指导】
为了管理员定位gRPC问题的需要,可以开启gRPC日志功能,以便记录设备对gRPC报文的处理信息。
设备生成的gRPC日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
多次执行本命令,最终生效的是多次配置的集合。
【举例】
# 配置设备输出gRPC Dial-in模式的Get操作的日志。
<Sysname> system
[Sysname] grpc log dial-in rpc get
grpc port命令用来配置gRPC服务的端口号。
undo grpc port命令用来恢复缺省情况。
【命令】
grpc port port-number
undo grpc port
【缺省情况】
gRPC服务的端口号为50051。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
port-number:gRPC服务的端口号,取值范围为1~65535。
【使用指导】
仅当gRPC功能处于关闭状态时,可以配置本命令。
多次执行本命令,最后一次执行的命令生效。
【举例】
# 配置gRPC服务的端口号为50052。
<Sysname> system
[Sysname] grpc port 50052
【相关命令】
· grpc enable
destination-group命令用来配置关联目标组。
undo destination-group命令用来删除关联目标组。
【命令】
destination-group group-name
undo destination-group group-name
【缺省情况】
未配置关联目标组。
【视图】
订阅视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
group-name:目标组的名称,为1~31个字符的字符串,区分大小写。
【使用指导】
本命令配置的目标组将会和同一订阅视图下的传感器组自动关联。
本命令指定的目标组需要先在Telemetry视图下使用destination-group命令创建。
每个订阅可关联的目标组数量上限为5。
【举例】
# 在订阅A中配置关联目标组为collector1。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] destination-group collector1
【相关命令】
· destination-group (telemetry view)
destination-group命令用来创建目标组,并进入目标组视图。如果指定的目标组已经存在,则直接进入目标组视图。
undo destination-group命令用来删除目标组。
【命令】
destination-group group-name
undo destination-group group-name
【缺省情况】
不存在目标组。
【视图】
Telemetry视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
group-name:目标组的名称,为1~31个字符的字符串,区分大小写。
【使用指导】
建议系统中创建的目标组数量不超过5个,否则会影响系统性能。
【举例】
# 创建名为collector1的目标组。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] destination-group collector1
[Sysname-telemetry-destination-group-collector1]
grpc log dial-out命令用来开启gRPC Dial-out模式的日志功能。
undo grpc log dial-out命令用来关闭gRPC Dial-out模式的日志功能。
【命令】
grpc log dial-out { all | { event | sample }* }
undo grpc log dial-out { all | { event | sample }* }
【缺省情况】
gRPC Dial-out模式的日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
all:表示输出gRPC Dial-out模式的所有类型的日志。
event:表示输出事件触发采样的日志。
sample:表示输出固定周期采样的日志。
【使用指导】
为了管理员定位gRPC问题的需要,可以开启gRPC日志功能,以便记录设备对gRPC报文的处理信息。
设备生成的gRPC日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
多次执行本命令,最终生效的是多次配置的集合。
【举例】
# 配置设备输出gRPC Dial-out模式的固定周期采样的日志。
<Sysname> system
[Sysname] grpc log dial-out sample
ipv4-address命令用来往目标组中添加IPv4采集器。
undo ipv4-address命令用来将IPv4采集器从目标组中删除。
【命令】
ipv4-address ipv4-address [ port port-number ] [ vpn-instance vpn-instance-name ]
undo ipv4-address ipv4-address [ port port-number ] [ vpn-instance vpn-instance-name ]
【缺省情况】
目标组中没有IPv4采集器。
【视图】
目标组视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
ipv4-address:采集器的IPv4地址。
port port-number:采集器接收数据的端口号,取值范围为1~65535,缺省值为50051。本参数的值需要和采集器侧的配置一致,否则采集器接收不到相应数据。
vpn-instance vpn-instance-name:采集器所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。指定的VPN实例必须已经存在。如果未指定本参数,则表示采集器位于公网中。
【使用指导】
多次执行本命令可配置多个采集器。配置本命令时,只要任意一个参数不同,就算不同的采集器。
每个目标组支持配置的采集器数量上限为5。
【举例】
# 在目标组collector1中配置IP地址为192.168.21.21的采集器。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] destination-group collector1
[Sysname-telemetry-destination-group-collector1] ipv4-address 192.168.21.21
【相关命令】
· destination-group (telemetry view)
ipv6-address命令用来往目标组中添加IPv6采集器。
undo ipv6-address命令用来将IPv6采集器从目标组中删除。
【命令】
ipv6-address ipv6-address [ port port-number ] [ vpn-instance vpn-instance-name ]
undo ipv6-address ipv6-address [ port port-number ] [ vpn-instance vpn-instance-name ]
【缺省情况】
目标组中没有IPv6采集器。
【视图】
目标组视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
ipv6-address:采集器的IPv6地址。
port port-number:采集器接收数据的端口号,取值范围为1~65535,缺省值为50051。本参数的值需要和采集器侧的配置一致,否则采集器接收不到相应数据。
vpn-instance vpn-instance-name:采集器所属的VPN实例。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。指定的VPN实例必须已经存在。如果未指定本参数,则表示采集器位于公网中。
【使用指导】
采集器的IPv6地址不能指定为IPv6链路本地地址。有关IPv6链路本地地址的介绍,请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
多次执行本命令可配置多个采集器。配置本命令时,只要任意一个参数不同,就算不同的采集器。
每个目标组支持配置的采集器数量上限为5。
【举例】
# 在目标组collector1中配置IPv6地址为1::1的采集器。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] destination-group collector1
[Sysname-telemetry-destination-group-collector1] ipv6-address 1::1
【相关命令】
· destination-group (telemetry view)
json row-timestamp enable命令用来配置订阅报文的JSON格式业务数据按行打时间戳。
undo json row-timestamp enable命令用来恢复缺省情况。
仅Release 2825及以上版本支持本命令。
【命令】
json row-timestamp enable
undo json row-timestamp enable
【缺省情况】
订阅报文的JSON格式业务数据按订阅报文打时间戳。
【视图】
订阅视图
【缺省用户角色】
network-admin
mdc-admin
【使用指导】
订阅报文的JSON格式业务数据支持按订阅报文打时间戳,或按行打时间戳。以Device业务模块的某订阅报文为例:
· 缺省情况下,按订阅报文打时间戳,每次采样时只给业务数据打一个当前系统的时间戳:
{"Notification":
{"Timestamp":"1639405006926",
"Device":
{"PhysicalEntities":
{"Entity":
[
{"PhysicalIndex":1,
"Chassis":0,
"Slot":65535,
...
{"PhysicalIndex":2,
"Chassis":0,
"Slot":0,
...
· 按行打时间戳时,对每行数据进行采样时都打一个当前系统的时间戳:
{"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,
...
【举例】
# 配置订阅报文的JSON格式业务数据按行打时间戳。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] json row-timestamp enable
sensor path命令用来配置采样路径。
undo sensor path命令用来删除采样路径。
【命令】
sensor path path
undo sensor path path
【缺省情况】
未配置采样路径。
【视图】
传感器组视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
path:采样路径,为字符串,取值请以设备提示为准。
【使用指导】
多次执行本命令可配置多个采样路径。
设备支持配置的采样路径数量上限为128。
对于设备不支持的采样路径,系统将提示用户不支持。
【举例】
# 在传感器组test中配置采样路径为ifmgr/devicecapabilities。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test] sensor path ifmgr/devicecapabilities
【相关命令】
· sensor-group (telemetry view)
sensor-group命令用来配置关联传感器组。
undo sensor-group命令用来删除关联传感器组。
【命令】
sensor-group group-name [ sample-interval interval ]
undo sensor-group group-name
【缺省情况】
未配置关联传感器组。
【视图】
订阅视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
group-name:传感器组的名称,为1~31个字符的字符串,区分大小写。
sample-interval interval:配置传感器组以固定的时间间隔采样并推送数据。interval为数据采样和推送周期,取值范围为1~86400,单位为秒。如果未指定该参数,则设备不会周期进行数据采样。
【使用指导】
本命令配置的传感器组将会和同一订阅视图下的目标组自动关联。
本命令指定的传感器组需要先在Telemetry视图下使用sensor-group命令创建。
当传感器组中的采样路径为事件触发类型时,请不要配置sample-interval参数,否则该采样路径不生效;当采样路径为周期采样类型时,必须配置sample-interval参数才会采样和推送数据。
【举例】
# 在订阅A中配置关联传感器组为test,数据采样和推送周期为10秒。
<Sysname> system-view
[Sysname] telemetry
[Device-telemetry] subscription A
[Device-telemetry-subscription-A] sensor-group test sample-interval 10
【相关命令】
· sensor path
· sensor-group (telemetry view)
sensor-group命令用来创建传感器组,并进入传感器组视图。如果指定的传感器组已经存在,则直接进入传感器组视图。
undo sensor-group命令用来删除传感器组。
【命令】
sensor-group group-name
undo sensor-group group-name
【缺省情况】
不存在传感器组。
【视图】
Telemetry视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
group-name:传感器组的名称,为1~31个字符的字符串,区分大小写。
【使用指导】
设备支持配置的传感器组数量上限为32。
【举例】
# 创建名为test的传感器组。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] sensor-group test
[Sysname-telemetry-sensor-group-test]
source-address命令用来配置设备发送订阅报文的源地址。
undo source-address命令用来恢复缺省情况。
【命令】
source-address { ipv4-address | interface interface-type interface-number | ipv6 ipv6-address }
undo source-address
【缺省情况】
设备使用路由出接口的主IP地址作为发送订阅报文的源IP地址。
【视图】
订阅视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
ipv4-address:设置设备发送订阅报文的源IPv4地址。
interface interface-type interface-number:设置设备发送订阅报文的源接口,interface-type interface-number表示接口类型和接口编号,目前仅支持LoopBack接口。此接口下配置的主IPv4地址即为发送报文的源地址。如果该接口没有配置主IPv4地址,则设备使用路由出接口的主IP地址作为发送订阅报文的源IP地址。
ipv6 ipv6-address:设置设备发送订阅报文的源IPv6地址。
【使用指导】
多次执行本命令,最新一次执行的命令生效。
当设备发送订阅报文的源地址发生变化时,设备将会重新连接gRPC服务器。
【举例】
# 配置设备发送订阅A的报文的源IPv4地址为169.254.1.1。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A] source-address 169.254.1.1
subscription命令用来创建订阅,并进入订阅视图。如果指定的订阅已经存在,则直接进入订阅视图。
undo subscription命令用来删除订阅。
【命令】
subscription subscription-name
undo subscription subscription-name
【缺省情况】
不存在订阅。
【视图】
Telemetry视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
subscription-name:订阅的名称,为1~31个字符的字符串,区分大小写。
【使用指导】
设备支持配置的订阅数量上限为10。
【举例】
# 创建名为A的订阅。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry] subscription A
[Sysname-telemetry-subscription-A]
【相关命令】
· destination-group (subscription view)
· sensor-group (subscription view)
telemetry命令用来从系统视图进入Telemetry视图。
【命令】
telemetry
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【使用指导】
进入Telemetry视图后,可以配置Telemetry功能的相关参数。
【举例】
# 从系统视图进入Telemetry视图。
<Sysname> system-view
[Sysname] telemetry
[Sysname-telemetry]
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!