故障服务接口
Register
接收处理客户端的注册请求,为订阅故障信息等功能做初始化准备。
rpc Register(ClientInfo) returns (Status) {}
| 参数 | 类型(Protobuf定义) | 说明 |
|---|---|---|
| ClientInfo | message ClientInfo{ string jobId = 1; string role = 2; } |
ClientInfo.jobId:任务ID。 ClientInfo.role:客户端角色。 [!NOTE] 说明
|
| 返回值 | 类型(Protobuf定义) | 说明 |
|---|---|---|
| Status | message Status{ int32 code = 1; string info =2; } |
Status.code:返回码。
|
SubscribeFaultMsgSignal
接收客户端订阅故障信息请求。服务端为每一个任务分配一个消息队列,并侦听消息队列是否存在待发送的消息,若存在则通过gRPC stream发送给客户端。
Note
- 调用此接口前,需先调用Register接口。
- 客户端订阅通算任务的故障信息后,只能收到NodeD故障和K8s节点状态异常故障。
rpc SubscribeFaultMsgSignal(ClientInfo) returns (stream FaultMsgSignal){}
| 参数 | 类型(Protobuf定义) | 说明 |
|---|---|---|
| ClientInfo | message ClientInfo{ string jobId = 1; string role = 2; } |
ClientInfo.jobId:任务ID。 ClientInfo.role:客户端角色。 [!NOTE] 说明
|
| 返回值 | 类型(Protobuf定义) | 说明 |
|---|---|---|
| stream | grpc stream |
|
| 参数 | 类型(Protobuf定义) | 说明 |
|---|---|---|
| FaultMsgSignal | message FaultMsgSignal{ string uuid = 1; string jobId = 2; string signalType = 3; repeated NodeFaultInfo nodeFaultInfo = 4; }message NodeFaultInfo{ string nodeName = 1; string nodeIP = 2; string nodeSN = 3; string faultLevel = 4; repeated DeviceFaultInfo faultDevice = 5; }message DeviceFaultInfo{ string deviceId = 1; string deviceType = 2; repeated string faultCodes = 3; string faultLevel = 4; repeated string faultType = 5; repeated string faultReason = 6; repeated SwitchFaultInfo switchFaultInfos = 7; repeated string faultLevels = 8; }message SwitchFaultInfo{ string faultCode = 1; string switchChipId = 2; string switchPortId = 3; string faultTime = 4; string faultLevel = 5; } |
FaultMsgSignal.uuid:消息ID FaultMsgSignal.jobId:任务ID FaultMsgSignal.signalType:消息类型,“fault”代表故障发生,“normal”代表无故障或故障恢复 FaultMsgSignal.nodeFaultInfo:节点故障信息 NodeFaultInfo.nodeName:故障节点名称 NodeFaultInfo.nodeIP:节点IP NodeFaultInfo.nodeSN:节点SN号 NodeFaultInfo.faultLevel:故障类型,包括“Healthy”、“SubHealthy”和“UnHealthy”,设置为DeviceFaultInfo.faultLevel中最严重的级别 NodeFaultInfo.faultDevice:设备故障信息 DeviceFaultInfo.deviceId:设备ID。当节点发生总线设备故障和K8s状态异常故障时,deviceId为-1 DeviceFaultInfo.deviceType:设备类型名,包括“Node”、“NPU”、“Storage”、“CPU”、“Network”等 DeviceFaultInfo.faultCodes:故障码列表 DeviceFaultInfo.faultLevel:故障类型,包括“Healthy”、“SubHealthy”和“UnHealthy”,严重级别依次递增 DeviceFaultInfo.faultType:故障子系统类型,预留字段 DeviceFaultInfo.faultReason:故障原因,预留字段 DeviceFaultInfo.switchFaultInfos:灵衢故障信息 DeviceFaultInfo.faultLevels:故障等级列表 SwitchFaultInfo.faultCode:灵衢故障码 SwitchFaultInfo.switchChipId:灵衢故障芯片ID SwitchFaultInfo.switchPortId:灵衢故障端口ID SwitchFaultInfo.faultTime:灵衢故障发生时间 SwitchFaultInfo.faultLevel:灵衢故障等级 |
GetFaultMsgSignal
本接口为故障查询接口。功能主要是接收客户端查询集群、任务故障信息的请求。
Note
该接口每秒最多可查询10次,超过10次时会将请求加入等待队列中。总等待数超过50时,再次发送请求会被拒绝。
rpc GetFaultMsgSignal(ClientInfo) returns (FaultQueryResult){}
| 参数 | 类型(Protobuf定义) | 说明 |
|---|---|---|
| ClientInfo | message ClientInfo{ string jobId = 1; string role = 2; } |
ClientInfo.jobId:任务ID。当jobId传入空值时返回集群范围内的故障信息。若jobId不传入空值,则jobId的合理长度为[8,128]个字符,且不能包含汉字字符。 ClientInfo.role:客户端角色。 [!NOTE] 说明
|
| 返回值 | 类型(Protobuf定义) | 说明 |
|---|---|---|
| FaultQueryResult | message FaultQueryResult{ int32 code = 1; string info = 2; FaultMsgSignal faultSignal =3; } |
code:本次查询的返回码。
info:本次查询结果的描述信息 faultSignal:故障信息结构体 FaultMsgSignal.uuid:消息id FaultMsgSignal.jobId:任务id,-1代表集群 FaultMsgSignal.signalType:消息类型,“fault”代表故障发生,“normal”代表无故障或故障恢复 FaultMsgSignal.nodeFaultInfo:节点故障信息 NodeFaultInfo.nodeName:故障节点名称 NodeFaultInfo.nodeIP:节点IP NodeFaultInfo.nodeSN:节点SN号 NodeFaultInfo.faultLevel:故障类型,包括“Healthy”、“SubHealthy”和“UnHealthy”,设置为DeviceFaultInfo.faultLevel中最严重的级别 NodeFaultInfo.faultDevice:设备故障信息 DeviceFaultInfo.deviceId:设备ID DeviceFaultInfo.deviceType:设备类型名,包括“Node”、“NPU”、“Storage”、“CPU”、“Network”等 DeviceFaultInfo.faultCodes:故障码列表 DeviceFaultInfo.faultLevel:故障类型,包括“Healthy”、“SubHealthy”和“UnHealthy”,严重级别依次递增 DeviceFaultInfo.faultType:故障子系统类型,预留字段 DeviceFaultInfo.faultReason:故障原因,预留字段 DeviceFaultInfo.switchFaultInfos:灵衢故障信息列表 DeviceFaultInfo.faultLevels:故障等级列表 SwitchFaultInfo.faultCode:灵衢故障码 SwitchFaultInfo.switchChipId:灵衢故障芯片ID SwitchFaultInfo.switchPortId:灵衢故障端口ID SwitchFaultInfo.faultTime:灵衢故障发生时间 SwitchFaultInfo.faultLevel:灵衢故障等级 |