健康诊断模块
健康诊断模块
Section titled “健康诊断模块”本页面放置了系统健康诊断模块(health diagnosis,HDS)包含的话题与服务的相关文档协议,以支持系统的健康诊断相关功能。
本模块在旗舰款上位于 orin 开发板上,基础款上位于 x86 开发板上,http 后端监听的端口均为 50587。
Channel 接口
Section titled “Channel 接口”| 话题名 | 话题描述 | 订阅 or 发布 | 消息类型 | 备注 | 通信后端 |
|---|---|---|---|---|---|
/aima/hds/exception | 模块异常码的上报接口 | 订阅 | aimdk::protocol::ModuleExceptionChannel | ros2,http |
RPC 接口
Section titled “RPC 接口”| 接口名 | 接口描述 | 请求消息类型 | 答复消息类型 | 备注 | 通信后端 |
|---|---|---|---|---|---|
pb:/aimdk.protocol.HDSService/GetAlertList | 获取当前的告警列表 | aimdk::protocol::GetAlertListReq | aimdk::protocol::GetAlertListRsp | http | |
pb:/aimdk.protocol.HDSService/ClearAlert | 尝试清除当前的告警 | aimdk::protocol::ClearAlertReq | aimdk::protocol::ClearAlertRsp | 如果告警清除后,继续上报,则清除失败 | http |
pb:/aimdk.protocol.HDSService/GetTotalAlertList | 获取系统中所有的告警(包含历史) | aimdk::protocol::GetTotalAlertListReq | aimdk::protocol::GetTotalAlertListRsp | 需要传入 start_timestamp 与 limit_size 进行分页 | http |
pb:/aimdk.protocol.HDSService/GetAlertCount | 获取系统中当前存在的所有告警个数 | aimdk::protocol::CommonRequest | aimdk::protocol::GetAlertCountRsp | http | |
pb:/aimdk.protocol.HDSService/GetExceptionEvent | 获取系统中的故障事件 | aimdk::protocol::GetExceptionEventReq | aimdk::protocol::GetExceptionEventRsp | 需要传入 start_timestamp 与 limit_size 进行分页 | http |
pb:/aimdk.protocol.HDSService/SetShieldAlertLevel | 屏蔽某个等级及其之下的所有告警 | aimdk::protocol::SetShieldAlertLevelReq | aimdk::protocol::CommonResponse | 谨慎使用,一般无需调用,仅由 SM 调用 | http |
Alert 是 Exception 的聚类,Alert 指代一大类故障,Exception 则是某个具体的故障,例如重定位失败就是一个 Alert,对应很多种不同失败原因,每个都是一个具体的 Exception。AimMaster 上显示的一般也是 Alert,Exception 会比较多,看起来也不太直观。 如果需要持续监控机器人的异常状态,建议每隔一段时间查询一次当前的告警列表(频率不要太高,推荐 1 Hz 及以下的频率)。
Protobuf 消息类型
Section titled “Protobuf 消息类型”aimdk::protocol::AlertImpactName
Section titled “aimdk::protocol::AlertImpactName”告警影响的模块
| Name | Number | Description |
|---|---|---|
| AlertImpactModule_UNDEFINED | 0 | |
| AlertImpactModule_Task_Start | 1 | 任务启动 |
| AlertImpactModule_Task_Run | 2 | 任务执行 |
| AlertImpactModule_Autonomous_Move | 3 | 自主移动 |
| AlertImpactModule_Remote_Control_Move | 4 | 遥控移动 |
| AlertImpactModule_Single_Arm_Action | 5 | 单臂动作 |
| AlertImpactModule_Dual_Arm_Action | 6 | 双臂动作 |
| AlertImpactModule_Head_Action | 7 | 头部动作 |
| AlertImpactModule_Waist_Action | 8 | 腰部动作 |
| AlertImpactModule_Leg_Action | 9 | 腿部动作 |
| AlertImpactModule_Mapping_And_Loc | 10 | 地图定位 |
| AlertImpactModule_Obstacle_Avoidance | 11 | 障碍物躲避 |
| AlertImpactModule_Motion_Control | 12 | 运动控制 |
| AlertImpactModule_Skill | 13 | 技能 |
aimdk::protocol::Fallback
Section titled “aimdk::protocol::Fallback”降级信息
| Field | Type | Description |
|---|---|---|
| timestamp | aimdk::protocol::Timestamp | 该降级决策产生的时间戳 |
| code | uint32 | 降级策略码,映射一组降级动作 |
| alert_level | aimdk::protocol::AlertLevel | 告警级别,依据当前最紧急的降级策略确定 |
| warn_policy | uint32 | 交互告警类型 |
aimdk::protocol::FallbackChannel
Section titled “aimdk::protocol::FallbackChannel”降级信息消息
topic: /aima/hds/fallback
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::Header | 消息头 |
| data | aimdk::protocol::Fallback | 数据内容 |
aimdk::protocol::CpuCoreUsage
Section titled “aimdk::protocol::CpuCoreUsage”单核CPU监控指标
| Field | Type | Description |
|---|---|---|
| cpuid | uint32 | CPU id,与cpu_info列表中的索引一致 |
| usage | uint32 | CPU核心使用率百分比 |
| freq_mhz | uint32 | CPU平均频率,mhz |
| temp | uint32 | CPU核心温度,°C |
| usage_usr_space | uint32 | CPU使用率-用户空间 |
| usage_sys_space | uint32 | CPU使用率-内核空间 |
| usage_idle | uint32 | CPU使用率-空闲 |
aimdk::protocol::CpuUsage
Section titled “aimdk::protocol::CpuUsage”CPU监控指标
| Field | Type | Description |
|---|---|---|
| cpu_infos | aimdk::protocol::CpuCoreUsage[] | |
| avg_freq_mhz | uint32 | 平均CPU频率, mhz |
| interrupts | uint32 | 中断数 |
aimdk::protocol::MemoryUsage
Section titled “aimdk::protocol::MemoryUsage”内存使用指标
| Field | Type | Description |
|---|---|---|
| usage | float | 内存使用百分比 |
| swap_usage | float | swap空间使用百分比 |
| total_mem_mb | uint64 | 总内存大小MB |
| available_mem_mb | uint64 | 可用内存大小 |
aimdk::protocol::PartitionUsage
Section titled “aimdk::protocol::PartitionUsage”磁盘分区使用指标
| Field | Type | Description |
|---|---|---|
| partition_name | string | 分区名称 |
| read_mbs | float | 分区读取速度,MB/s |
| write_mbs | float | 分区写入速度,MB/s |
| usage | float | 分区使用率 |
| read_times | uint64 | 读请求数量/s |
| write_times | uint64 | 写请求数量/s |
| read_await_us_total | uint64 | 读延迟(微秒) |
| write_await_us_total | uint64 | 写延迟(微秒) |
| read_await_us_max | uint64 | 最大读延迟(微秒) |
| write_await_us_max | uint64 | 最大写延迟(微秒) |
aimdk::protocol::DiskUsage
Section titled “aimdk::protocol::DiskUsage”磁盘使用指标
| Field | Type | Description |
|---|---|---|
| partition_infos | aimdk::protocol::PartitionUsage[] | 分区使用情况 |
| total_read_mbs | float | 总体读取速度,MB/s |
| total_write_mbs | float | 总体写入速度,MB/s |
| max_partition_read_await | uint64 | 最大读延迟(微秒) |
| max_partition_write_await | uint64 | 最大写延迟(微秒) |
aimdk::protocol::NetworkIterfaceUsage
Section titled “aimdk::protocol::NetworkIterfaceUsage”| Field | Type | Description |
|---|---|---|
| nic_name | string | 网卡接口名称 |
| upload_speed_mbs | float | 上传速度MB/s |
| download_speed_mbs | float | 上传速度MB/s |
aimdk::protocol::NetworkUsage
Section titled “aimdk::protocol::NetworkUsage”网络使用指标
| Field | Type | Description |
|---|---|---|
| nic_infos | aimdk::protocol::NetworkIterfaceUsage[] |
aimdk::protocol::BatteryUsage
Section titled “aimdk::protocol::BatteryUsage”电池状态指标
| Field | Type | Description |
|---|---|---|
| percent | float | 剩余电量 |
| voltage | float | 电池电压大小, mV |
| current | float | 电池电流大小, mA |
| temp | float | 电池温度, °C |
| is_plugin | bool | 是否插入外接电源 |
aimdk::protocol::AppProcInfo
Section titled “aimdk::protocol::AppProcInfo”| Field | Type | Description |
|---|---|---|
| app_name | string | 应用名称,注意不是进程名称 |
| cpu_usage | float | 应用的CPU使用率 |
| mem_usage | float | 应用的内存使用率,百分比 |
| pid | uint64 | 进程pid |
| thread_count | uint32 | 使用的线程数 |
| fd_count | uint32 | 使用fd资源数量 |
aimdk::protocol::ProcessList
Section titled “aimdk::protocol::ProcessList”应用进程列表
| Field | Type | Description |
|---|---|---|
| app_infos | aimdk::protocol::AppProcInfo[] | 进程列表信息 |
aimdk::protocol::SCHED_POLICY
Section titled “aimdk::protocol::SCHED_POLICY”| Name | Number | Description |
|---|---|---|
| TYPE_SCHED_NORMAL | 0 | |
| TYPE_SCHED_FIFO | 1 | |
| TYPE_SCHED_RR | 2 | |
| TYPE_SCHED_BATCH | 3 | |
| TYPE_SCHED_IDLE | 5 | |
| TYPE_SCHED_DEADLINE | 6 |
aimdk::protocol::AppHeartBeatInfo
Section titled “aimdk::protocol::AppHeartBeatInfo”| Field | Type | Description |
|---|---|---|
| app_name | string | 应用名称,注意不是进程名称 |
| cpu_usage | float | 应用的CPU使用率 |
| mem_usage | float | 应用的内存使用率,百分比 |
| mem_usage_kb | float | 应用的内存使用量,kb |
| pid | uint64 | 进程pid |
| thread_count | uint32 | 使用的线程数 |
| cpu_sched_policy | aimdk::protocol::SCHED_POLICY | 进程调度策略 |
| cpu_sched_priority | uint32 | 进程调度优先级 |
aimdk::protocol::AppHeartBeatList
Section titled “aimdk::protocol::AppHeartBeatList”| Field | Type | Description |
|---|---|---|
| app_hearbeats | aimdk::protocol::AppHeartBeatInfo[] |
aimdk::protocol::GpuProcInfo
Section titled “aimdk::protocol::GpuProcInfo”| Field | Type | Description |
|---|---|---|
| app_name | string | 应用名称,注意不是进程名 |
| pid | uint64 | 进程id |
| gpu_mem_usage_mb | float | GPU内存使用量,MB |
aimdk::protocol::GPUPowerMode
Section titled “aimdk::protocol::GPUPowerMode”Nv卡的GPU模式
| Name | Number | Description |
|---|---|---|
| GPUPowerMode_MAXN | 0 | 最大性能,30W目前 |
| GPUPowerMode_15W | 1 | |
| GPUPowerMode_10W | 2 | |
| GPUPowerMode_5W | 3 | |
| GPUPowerMode_UNKNOWN | 99 |
aimdk::protocol::GpuDeviceUsage
Section titled “aimdk::protocol::GpuDeviceUsage”| Field | Type | Description |
|---|---|---|
| app_gpu_infos | aimdk::protocol::GpuProcInfo[] | GPU资源使用列表 |
| gpu_usage | float | 系统GPU使用率 |
| gpu_mem_use_percent | float | 系统GPU内存使用率 |
| mem_bandwidth_useage | float | GPU内存带宽使用率 |
| temp | uint32 | GPU温度 |
| power_mode | aimdk::protocol::GPUPowerMode | 电源模式 |
aimdk::protocol::GpuUsage
Section titled “aimdk::protocol::GpuUsage”| Field | Type | Description |
|---|---|---|
| gpu_infos | aimdk::protocol::GpuDeviceUsage[] |
aimdk::protocol::SystemMsgType
Section titled “aimdk::protocol::SystemMsgType”| Name | Number | Description |
|---|---|---|
| SystemMsgType_NONE | 0 | |
| SystemMsgType_CPU_USAGE | 1 | |
| SystemMsgType_MEMORY_USAGE | 2 | |
| SystemMsgType_DISK_USAGE | 3 | |
| SystemMsgType_NETWORK_USAGE | 4 | |
| SystemMsgType_BATTERY_USAGE | 5 | |
| SystemMsgType_PROCESS_LIST | 6 | |
| SystemMsgType_HEARTBEAT_LIST | 7 | |
| SystemMsgType_GPU_USAGE | 8 |
aimdk::protocol::SystemStatusChannel
Section titled “aimdk::protocol::SystemStatusChannel”每秒上报/aima/hds/system_status_monitor_{orin/x86}
| Field | Type | Description |
|---|---|---|
| timestamp | uint64 | 时间戳,ms |
| cpu_usage | aimdk::protocol::CpuUsage | |
| memory_usage | aimdk::protocol::MemoryUsage | |
| disk_usage | aimdk::protocol::DiskUsage | |
| network_usage | aimdk::protocol::NetworkUsage | |
| battery_usage | aimdk::protocol::BatteryUsage | |
| process_list | aimdk::protocol::ProcessList | |
| heartbeat_list | aimdk::protocol::AppHeartBeatList | |
| gpu_usage | aimdk::protocol::GpuUsage | |
| gist_msg_type | aimdk::protocol::SystemMsgType | 每个插件通过SytemStatusChannel来上报自己的消息片段;汇总后的系统消息是没有gist的 |
| gist_seq | uint64 |
aimdk::protocol::SetBlockExceptionCodeReq
Section titled “aimdk::protocol::SetBlockExceptionCodeReq”屏蔽异常码请求体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::RequestHeader | |
| code | string | 异常码 |
| is_permanent | bool | 是否永久屏蔽(true: 永久屏蔽, false: 临时屏蔽,程序重启后失效) 默认永久屏蔽 |
| is_blocked | bool | 是否屏蔽 |
aimdk::protocol::GetBlockedExceptionCodeListRsp
Section titled “aimdk::protocol::GetBlockedExceptionCodeListRsp”获取屏蔽异常码列表响应体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::ResponseHeader | 响应头 |
| code_list | string[] | 屏蔽的异常码列表 |
aimdk::protocol::SetDebugModeReq
Section titled “aimdk::protocol::SetDebugModeReq”设置调试模式请求体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::RequestHeader | |
| is_debug | bool | 是否为调试模式 |
aimdk::protocol::SetShieldAlertLevelReq
Section titled “aimdk::protocol::SetShieldAlertLevelReq”设置屏蔽告警等级的请求体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::RequestHeader | |
| level | aimdk::protocol::AlertLevel |
aimdk::protocol::GetAlertCountRsp
Section titled “aimdk::protocol::GetAlertCountRsp”查询系统中存活的告警事件响应体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::ResponseHeader | |
| total_count | int32 | 告警总数 |
| active_count | int32 | 活跃告警数 |
| cleared_count | int32 | 清除告警数 |
aimdk::protocol::ClearAlertReq
Section titled “aimdk::protocol::ClearAlertReq”清除告警请求体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::RequestHeader | |
| id | string | 要清除的告警码ID |
aimdk::protocol::ClearAlertRspData
Section titled “aimdk::protocol::ClearAlertRspData”| Field | Type | Description |
|---|---|---|
| data | string | 处理结果 |
aimdk::protocol::ClearAlertRsp
Section titled “aimdk::protocol::ClearAlertRsp”清除告警响应体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::ResponseHeader | |
| data | aimdk::protocol::ClearAlertRspData |
aimdk::protocol::GetAlertListReq
Section titled “aimdk::protocol::GetAlertListReq”获取当前告警信息请求体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::RequestHeader |
aimdk::protocol::GetAlertListRspData
Section titled “aimdk::protocol::GetAlertListRspData”| Field | Type | Description |
|---|---|---|
| alerts | aimdk::protocol::Alert[] |
aimdk::protocol::GetAlertListRsp
Section titled “aimdk::protocol::GetAlertListRsp”获取当前告警信息响应体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::ResponseHeader | |
| data | aimdk::protocol::GetAlertListRspData | 当前所有的告警列表 |
aimdk::protocol::GetTotalAlertListReq
Section titled “aimdk::protocol::GetTotalAlertListReq”获取所有告警信息请求体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::RequestHeader | |
| start_timestamp | uint64 | 要查询告警的开始时间戳 |
| limit_size | int32 | 查询个数限制 |
aimdk::protocol::GetTotalAlertListRspData
Section titled “aimdk::protocol::GetTotalAlertListRspData”| Field | Type | Description |
|---|---|---|
| alerts | aimdk::protocol::Alert[] |
aimdk::protocol::GetTotalAlertListRsp
Section titled “aimdk::protocol::GetTotalAlertListRsp”获取所有告警信息响应体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::ResponseHeader | |
| data | aimdk::protocol::GetTotalAlertListRspData |
aimdk::protocol::GetExceptionEventReq
Section titled “aimdk::protocol::GetExceptionEventReq”查询指定异常事件请求体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::RequestHeader | |
| start_timestamp | uint64 | 要查询告警的开始时间戳 |
| limit_size | int32 | 查询个数限制 |
| query | string | 查询条件 |
aimdk::protocol::ExceptionEvent
Section titled “aimdk::protocol::ExceptionEvent”异常信息,展示给aim-master
| Field | Type | Description |
|---|---|---|
| timestamp | aimdk::protocol::Timestamp | 该异常产生的时间戳 |
| type | aimdk::protocol::ExceptionEvent::Type | |
| code | string | 异常码 |
| module_id | string | 异常码对应的模块ID |
| sub_code | string | 异常码对应的模块异常码 |
| module_name | string | 异常码上报的模块名称 |
| id | string | 异常ID |
| enum_name | string | 异常描述(可能为空) |
| info | string | 异常信息(可能为空) |
| alert_list | string | 该异常码产生的告警 |
| is_blocked | bool | 是否屏蔽(true: 屏蔽, false: 不屏蔽) |
aimdk::protocol::ExceptionEvent::Type
Section titled “aimdk::protocol::ExceptionEvent::Type”| Name | Number | Description |
|---|---|---|
| UNKNOWN | 0 | |
| Appear | 1 | |
| Disappear | 2 |
aimdk::protocol::GetExceptionEventRspData
Section titled “aimdk::protocol::GetExceptionEventRspData”| Field | Type | Description |
|---|---|---|
| event_list | aimdk::protocol::ExceptionEvent[] |
aimdk::protocol::GetExceptionEventRsp
Section titled “aimdk::protocol::GetExceptionEventRsp”查询指定异常事件响应体
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::ResponseHeader | |
| data | aimdk::protocol::GetExceptionEventRspData |
aimdk::protocol::AlertChannel
Section titled “aimdk::protocol::AlertChannel”告警话题数据(/aima/hds/alert) 由告警系统产生并发布
当告警产生/消失时,会发送该Topic
| Field | Type | Description |
|---|---|---|
| alert | aimdk::protocol::Alert | |
| alert_count | uint32 | 当前系统中告警的个数 |
aimdk::protocol::AlertState
Section titled “aimdk::protocol::AlertState”告警状态
告警状态分为三种:未知、告警中、已清除
| Name | Number | Description |
|---|---|---|
| AlertState_UNDEFINED | 0 | 未知(默认状态) |
| AlertState_ACTIVE | 1 | 告警中 |
| AlertState_CLEARED | 2 | 已清除 |
| AlertState_ExceptionChanged | 3 | 告警中异常变更 |
| AlertState_Recovering | 4 | 恢复中 |
aimdk::protocol::AlertLevel
Section titled “aimdk::protocol::AlertLevel”告警等级(健康状态)
| Name | Number | Description |
|---|---|---|
| AlertLevel_UNDEFINED | 0 | 无告警 |
| AlertLevel_FATAL | 1 | 致命告警 |
| AlertLevel_SERIOUS | 2 | 严重告警 |
| AlertLevel_WARNING | 3 | 警告告警 |
| AlertLevel_HIDDEN_DANGERS | 4 | 当前系统存在隐患 |
| AlertLevel_STATUS | 5 | 当前系统存在状态类告警 |
aimdk::protocol::AlertSolution
Section titled “aimdk::protocol::AlertSolution”告警解决方案
| Field | Type | Description |
|---|---|---|
| type | string | |
| content | string |
aimdk::protocol::AlertShowType
Section titled “aimdk::protocol::AlertShowType”告警展示类型
| Name | Number | Description |
|---|---|---|
| AlertShowType_Normal | 0 | |
| AlertShowType_Toast | 1 |
aimdk::protocol::Alert
Section titled “aimdk::protocol::Alert”告警信息
| Field | Type | Description |
|---|---|---|
| id | string | 告警ID |
| appeared_timestamp | uint64 | 告警产生的时间辍 |
| disappeared_timestamp | uint64 | 告警消失的时间辍 |
| alert_code | string | 告警码 |
| state | aimdk::protocol::AlertState | 告警状态 |
| exception_list | aimdk::protocol::ModuleException[] | 当前告警包含的异常列表 |
| description | string | 告警描述 |
| level | aimdk::protocol::AlertLevel | 告警等级 |
| manual_clear | bool | 是否支持手动清除 |
| show_type | aimdk::protocol::AlertShowType | 告警展示类型 |
| solution_list | aimdk::protocol::AlertSolution[] | 告警解决方案列表 |
aimdk::protocol::ExceptionType
Section titled “aimdk::protocol::ExceptionType”异常类型
| Name | Number | Description |
|---|---|---|
| ExceptionType_Normal | 0 | 正常类型 该类型异常需要周期性上报 |
| ExceptionType_Trigger_Appear | 1 | 触发式异常(异常产生时上报一次) 设置该异常为产生状态 |
| ExceptionType_Trigger_Disappear | 2 | 触发式异常(异常消失时上报一次) 设置该异常为消失状态 |
aimdk::protocol::ModuleException
Section titled “aimdk::protocol::ModuleException”模块异常信息,由各个模块上报
| Field | Type | Description |
|---|---|---|
| timestamp | aimdk::protocol::Timestamp | 该异常产生的时间戳 |
| type | aimdk::protocol::ExceptionType | 异常类型 |
| module_id | uint32 | 模块ID |
| code | uint32 | 模块异常码 |
| info | string | 异常信息 |
| module_name | string | 模块名称 |
aimdk::protocol::HealthStatusChannel
Section titled “aimdk::protocol::HealthStatusChannel”系统健康zhan topic:
@deprecated TE,SM 在 v0.7 版本弃用后,删除该接口
| Field | Type | Description |
|---|---|---|
| header | aimdk::protocol::Header | Header 包含时间辍 |
| alert_level | aimdk::protocol::AlertLevel | 告警等级 |
| alert_impact_range | aimdk::protocol::AlertImpactName[] | 告警影响范围 |
| demotion_id | uint32 | 降级方案id |
aimdk::protocol::ModuleExceptionChannel
Section titled “aimdk::protocol::ModuleExceptionChannel”模块异常上报channel topic:(/aima/hds/exception) 告警系统订阅该话题
| Field | Type | Description |
|---|---|---|
| timestamp | aimdk::protocol::Timestamp | 该帧消息发布的时间辍 |
| exception_list | aimdk::protocol::ModuleException[] | 该帧异常包含的异常码列表 |
提供 Http Curl 示例, 如果在 ORIN 之外电脑上调用需要将 192.168.100.110 替换为实际的机器人 IP 地址,如果是在 ORIN 上使用,则不需要替换。
获取当前的告警列表
Section titled “获取当前的告警列表”curl --location --request POST 'http://192.168.100.110:50587/rpc/aimdk.protocol.HDSService/GetAlertList' \--header 'Content-Type: application/json' \--data-raw '{}'尝试清除当前的告警
Section titled “尝试清除当前的告警”清除告警前,需要先获取到告警的 id, 可以通过 GetAlertList 获取到告警的 id。此接口为尝试清除告警,如果告警清除后,继续上报,则清除失败。
curl --location --request POST 'http://192.168.100.110:50587/rpc/aimdk.protocol.HDSService/ClearAlert' \--header 'Content-Type: application/json' \--data-raw '{"id":"d0062056-1d4f-43ec-a36c-18fc149a5781"}'获取系统中所有的告警(包含历史)
Section titled “获取系统中所有的告警(包含历史)”curl --location --request POST 'http://192.168.100.110:50587/rpc/aimdk.protocol.HDSService/GetTotalAlertList' \--header 'Content-Type: application/json' \--data-raw '{}'获取系统中当前存在的所有告警个数
Section titled “获取系统中当前存在的所有告警个数”curl --location --request POST 'http://192.168.100.110:50587/rpc/aimdk.protocol.HDSService/GetAlertCount' \--header 'Content-Type: application/json' \--data-raw '{}'获取系统中的故障事件
Section titled “获取系统中的故障事件”curl --location --request POST 'http://192.168.100.110:50587/rpc/aimdk.protocol.HDSService/GetExceptionEvent' \--header 'Content-Type: application/json' \--data-raw '{}'如果系统中某个故障码误报,可以通过此接口屏蔽该故障码,屏蔽后,该故障码将不会上报给上层。 其中:
code为故障码,可从GetExceptionEvent接口获取,is_permanent为是否永久屏蔽(true: 永久屏蔽, false: 临时屏蔽,程序重启后失效),is_block为是否屏蔽(true: 屏蔽, false: 取消屏蔽)。
curl --location --request POST 'http://192.168.100.110:50587/rpc/aimdk.protocol.HDSService/SetShieldExceptionCode' \--header 'Content-Type: application/json' \--data-raw '{ "code": "0x5100000005", "is_permanent": true, "is_block": true}'