-
ManageOne是基于CAS 2.0协议提供SSO Server服务,第三方系统对接后可实现单点登录功能。CAS基本原理图:CAS Client与受信任的第三方系统部署在一起,以Filter的方式保护Web应用系统的资源,过滤从浏览器发送的每一个web请求。约束条件:ManageOne 6.5.0 及以上版本步骤如下:1.用户访问受信系统被CAS Client拦截。2.重定向到CAS Server登录页面。3.用户认证过程,如果用户提供了正确的认证信息,CAS Server随机产生一个不可伪造的(Service Ticket)ST,并缓存以待将来验证。4.CAS Server携带ST重定向到受信客户端系统,并为客户端浏览器设置一个(Ticket Granted Cookie)TGC。5.CAS Client提取ST到CAS Server验证。6.CAS Client得到合法用户信息,完成单点登录。demo地址(需登录):cid:link_0注:开发文档需登陆后从附件下载!
-
1 准备工作本文档指导适用于华为云Stack ManageOne 6.5.x、8.x版本正式调用ManageOne运维侧接口前,请先检查准备工作是否已完成,参考链接:【华为云Stack ManageOne运维侧北向对接】 RESTful接口调用准备工作若您使用postman进行接口调测,请在正是调用接口前,将postman的SSL认证关闭,步骤如下(示例基于最新版本postman):1. 打开postman,点击右上角扳手图标,点击“setting”菜单,如下图:2. 关闭“SSL certificate verification”,如下图所示:2 说明运维人员通过告警管理来监控管理系统或或管理对象上报的告警。告警的检测存在两种方式:1. 业务系统自动产生告警:如设备故障、软件系统故障由业务系统自动监控和产生,由业务系统通过SNMP或Rest接口主动上报给统一告警处理平台。2. 通过性能阈值产生告警:如性能指标超过设定阈值,系统根据策略产生对应的故障告警。系统提供两种告警上报方式:分别是SNMP Trap和Rest接口上报。ManageOne当前接入的告警的类别有告警类别描述云管理平台告警运营运维系统产生的告警,包括系统自身的告警和监控对象性能阈值告警。云服务层告警云服务系统产生的告警,包括系统自身的告警如弹性云服务器系统在业务故障时产生的告警。虚拟化层告警虚拟化层产生的业务告警,包括系统自身的告警。物理设备层告警数据中心设备产生的告警:包括物理服务器、网络设备、存储设备和机房设备。ManageOne通过SNMP方式与第三方网管对接,请参考:cid:link_2ManageOne按类别将告警分为两种类别,分别需要使用不同的接口查询,具体如下:告警类型说明相关查询接口当前告警(实时告警)未确认或未清除的告警①查询当前告警流水号:POST /rest/fault/v1/current-alarms/csns②根据流水号查询当前告警信息:GET /rest/fault/v1/current-alarms历史告警已确认且已清除的告警①查询历史告警流水号:POST /rest/fault/v1/history-alarms/csns②根据流水号查询历史告警信息:GET /rest/fault/v1/history-alarms注:当前告警+历史告警=当前平台的全部告警信息。相关文档:《ManageOne 运维面API参考.docx》中的“告警管理”章节下面给出调用REST接口获取告警信息的样例3 当前(实时)告警查询实时告警指系统中当前未确认或未清除的告警;历史告警指系统中已确认且已清除的告警,查询告警详情分为两步:1. 根据筛选条件查询告警SN号列表;2. 根据告警SN号查询告警详细信息。注:查询历史告警和当前告警需使用不同的接口,但它们的接口参数是相同的,以下指导可通用。查询步骤如下:步骤1 获取token,接口调用示例如下:调用方法:PUT调用URL:https://{运维侧对外访问域名}/rest/plat/smapp/v1/oauth/token请求头:Accept:application/json Content-Type:application/json;charset=UTF-8请求body:{ "grantType": "password", "userName": "XXX", "value": "***" }响应示例:{ "accessSession": "xxxxxxxxxxxxx", "roaRand": "xxxxxxxxxxxxx", "expires": 1800, "additionalInfo": null }accessSession的值即为token值步骤2 查询当前告警流水号可指定过滤条件查询告警的sn号列表(如何条件查询告警流水号),例如查询所有CPU相关的告警,可以按照“alarmName”包含字符串“CPU”来过滤得到,下面以设置查询过滤条件为例,说明参数构造方法:请求body中主体为AlarmQueryParam对象。AlarmQueryParam对象包含如下属性:dataType、query、sort、size。其中query属性即为过滤条件。包含filters(多个过滤条件的集合)和expression(多个告警条件的逻辑表达式,目前只支持and)。filters为一个条件集合,每个条件包含如下字段:name:条件名称,唯一标识一个过滤条件。field:条件对应的告警字段。operator:条件操作符,,当前支持的操作符有:"=","<","<=",">",">=","!=","in"属于集合,"like"包含字符串,"between"介于两个数字之间,"startwith"开始于,"endwith"结束于。values: 条件取值。详细的过滤条件书写方法请参考接口文档具体请求示例如下:调用方法:POST调用URL:https://{运维侧对外访问域名}/rest/fault/v1/current-alarms/csns(查询历史告警流水号使用此链接:https://{运维侧对外访问域名}/rest/fault/v1/history-alarms/csns)请求头:Accept:application/json Content-Type:application/json;charset=UTF-8 X-Auth-Token:xxxxxxxxxxxxx请求体:{ "query": { "filters": [ { "name": "OCCURUTC", "field": "OCCURUTC", "operator": "BETWEEN", "values": [ 1490976000000, 8490976000000 ] }, { "name": "alarmname", "field": "alarmName", "operator": "like", "values": [ "CPU" ] } ], "expression": "and" }, "sort": [ { "field": "CSN", "order": "desc" } ], "size": 100 }响应体示例:{ "count": 26, "sizeExceeded": false, "csns": [ 335296, 316826, 313652, 311858, 137171, 132276, 129400, 129396, 129009, 124491, 124106, 120060, 120057, 120053, 119986, 119982, 119855, 119854, 118422, 117654, 117650, 114924, 114923, 114895, 113497, 112730 ] }步骤3 查询告警详情根据步骤2中查询到的csn号列表,我们查询告警的详细信息。csn列表以查询参数包含在请求中,建议数量不超过200个。具体请求示例如下:调用方法:GET调用URL:https://{运维侧对外访问域名}/rest/fault/v1/current-alarms?csns=316826&csns=335296(查询历史告警详情使用此链接:https://{运维侧对外访问域名}/rest/fault/v1/history-alarms)请求头:lication/json Content-Type:application/json;charset=UTF-8 X-Auth-Token:xxxxxxxxxxxxx请求体:无响应体示例:[ { "csn": 316826, "category": 5, "version": 15, "changeFlag": 2, "count": 4, "mergeGroupId": 311562, "merged": 1, "cleared": 0, "clearUser": "", "clearUtc": 0, "clearTime": 0, "clearDst": 0, "clearCategory": 1, "acked": 1, "ackUser": "admin", "ackUtc": 1525683457236, "firstOccurUtc": 1525607580000, "firstOccurTime": 0, "firstOccurDst": 0, "occurUtc": 1525607580000, "occurTime": 0, "occurDst": 0, "arriveUtc": 1525683452746, "latestOccurUtc": 1525607580000, "latestOccurTime": 0, "latestOccurDst": 0, "matchKey": "OSS_9B01FA7F49343EE691EAD50201864D5C_1407379178586113_1", "mergeKey": "oMMsTjIqr5egAX/Tjx7y0A", "nativeMeDn": "006502D7-083F-E611-92AB-9C37F4994BC6", "nativeMoDn": "", "nativeMoName": "", "meDn": "9B01FA7F49343EE691EAD50201864D5C", "meName": "006502D7-083F-E611-92AB-9C37F4994BC6", "moc": "", "meCategory": "PhysicalHost", "meType": "SYS_PhysicalHost", "productName": "", "alarmGroupId": "278460410", "originSystemType": "OSS", "originSystemId": "0", "originSystem": "OSS", "originSystemName": "OSS", "tenant": "", "tenantId": "", "regionId": "C4CA4238A0B933828DCC509A6F75849B", "shardId": 125, "region": "global", "dcId": "", "dcName": "", "svcGroupId": "", "manufacturer": "", "domain": "", "address": "192.166.76.174", "moi": "集群=manage-aggr, 物理主机名称=006502D7-083F-E611-92AB-9C37F4994BC6, 管理IP地址=192.166.76.174, 虚拟化类型=kvm", "backupStatus": 0, "identifier": 0, "subCsn": 0, "eventType": 4, "alarmId": "0005000100010001", "alarmName": "CPU使用率超过阈值", "severity": 1, "probableCause": "", "reasonId": 0, "serviceAffectedType": 0, "affectedService": "", "rootCsn": "", "subRootCsn": "", "additionalInformation": "产生条件≥1%, 发生时采集值=5.0%, 发生时刻=2018-05-06 19:53:00", "userData": "", "comment": "", "specialAlarmStatus": 0, "corrGroupId": "", "workOrderId": "", "workOrderSender": "", "workOrderUtc": 0, "workOrderStatus": "0", "invalidated": 0, "ownerUID": "", "aggrGroupId": "", "aggrRootCsn": "", "aggrStatus": 0, "ruleName": "", "azoneId": "", "azoneName": "", "logicalRegionId": "D24CF618FC443FA48BC808A4EA428172", "logicalRegionName": "cn-north", "resPoolId": "", "resPoolName": "", "resGroupId": "", "vdcId": "", "vdcName": "", "deviceTypeId": "", "clearType": 0, "ackDst": 0, "backedupOnSource": 0, "ckSource": 0, "locParseFlag": 0, "commentUtc": 0, "commentUser": "", "changedFields": [], "domainSubnetId": "", "reportNorth": 0, "extParams": {} }, { "csn": 335296, "category": 1, "version": 14, "changeFlag": 1, "count": 1, "mergeGroupId": 311562, "merged": 2, "cleared": 0, "clearUser": "", "clearUtc": 0, "clearTime": 0, "clearDst": 0, "clearCategory": 1, "acked": 0, "ackUser": "", "ackUtc": 0, "firstOccurUtc": 1525607580000, "firstOccurTime": 0, "firstOccurDst": 0, "occurUtc": 1525607580000, "occurTime": 0, "occurDst": 0, "arriveUtc": 1525762550339, "latestOccurUtc": 1525607580000, "latestOccurTime": 0, "latestOccurDst": 0, "matchKey": "OSS_9B01FA7F49343EE691EAD50201864D5C_1407379178586113_1", "mergeKey": "oMMsTjIqr5egAX/Tjx7y0A", "nativeMeDn": "006502D7-083F-E611-92AB-9C37F4994BC6", "nativeMoDn": "", "nativeMoName": "", "meDn": "9B01FA7F49343EE691EAD50201864D5C", "meName": "006502D7-083F-E611-92AB-9C37F4994BC6", "moc": "", "meCategory": "PhysicalHost", "meType": "SYS_PhysicalHost", "productName": "", "alarmGroupId": "278460410", "originSystemType": "OSS", "originSystemId": "0", "originSystem": "OSS", "originSystemName": "OSS", "tenant": "", "tenantId": "", "regionId": "C4CA4238A0B933828DCC509A6F75849B", "shardId": 125, "region": "global", "dcId": "", "dcName": "", "svcGroupId": "", "manufacturer": "", "domain": "", "address": "192.166.76.174", "moi": "集群=manage-aggr, 物理主机名称=006502D7-083F-E611-92AB-9C37F4994BC6, 管理IP地址=192.166.76.174, 虚拟化类型=kvm", "backupStatus": 0, "identifier": 0, "subCsn": 0, "eventType": 4, "alarmId": "0005000100010001", "alarmName": "CPU使用率超过阈值", "severity": 1, "probableCause": "", "reasonId": 0, "serviceAffectedType": 0, "affectedService": "", "rootCsn": "", "subRootCsn": "", "additionalInformation": "产生条件≥1%, 发生时采集值=5.0%, 发生时刻=2018-05-06 19:53:00", "userData": "", "comment": "", "specialAlarmStatus": 0, "corrGroupId": "", "workOrderId": "", "workOrderSender": "", "workOrderUtc": 0, "workOrderStatus": "0", "invalidated": 0, "ownerUID": "", "aggrGroupId": "", "aggrRootCsn": "", "aggrStatus": 0, "ruleName": "", "azoneId": "", "azoneName": "", "logicalRegionId": "D24CF618FC443FA48BC808A4EA428172", "logicalRegionName": "cn-north", "resPoolId": "", "resPoolName": "", "resGroupId": "", "vdcId": "", "vdcName": "", "deviceTypeId": "", "clearType": 0, "ackDst": 0, "backedupOnSource": 0, "ckSource": 0, "locParseFlag": 0, "commentUtc": 0, "commentUser": "", "changedFields": [], "domainSubnetId": "", "reportNorth": 0, "extParams": {} } ]响应体参数解释如下:参数类型说明csnint32主键,网管告警流水号。categoryint32区分告警事件: 1-告警。 2-清除。 3-事件。 4-告警级别变更。 5-确认。 6-反确认。 7-其他变更。versionint64变更版本号。changeFlagint32告警变更的类型: 1-新增。 2-修改。 3-删除。countint32告警发生次数。该字段仅供内部使用。mergeGroupIdint32归并告警的组标识。该字段仅供内部使用。mergedint16是否为被归并告警。该字段仅供内部使用。clearedint32告警清除状态: 0-未清除。 1-已清除。clearUserstring告警清除操作员。clearUtcint64告警清除UTC时间。clearTimeint64告警清除的网元本地时间。clearDstint32告警清除时间的网元夏令时偏移。clearCategoryint32告警是否可自动清除。ackedint32告警是否确认。ackUserstring告警确认操作员。ackUtcint64确认/反确认UTC时间。firstOccurUtcint64告警首次发生的UTC时间。该字段仅供内部使用。firstOccurTimeint64告警首次发生的网元本地时间。firstOccurDstint32告警首次发生时间的网元夏令时偏移。occurUtcint64告警发生的UTC时间。occurTimeint64告警发生的网元本地时间。occurDstint32告警发生时间的网元夏令时偏移。arriveUtcint64告警到达网管的UTC时间。latestOccurUtcint64告警最后发生的UTC时间。latestOccurTimeint64告警最后发生的网元本地时间。latestOccurDstint32告警最后发生时间的网元夏令时偏移。matchKeystring告警重复/清除匹配Key。mergeKeystring告警归并匹配key。nativeMeDnstringDriver层的资源标识。nativeMoDnstring下级资源标识。nativeMoNamestring下级资源名称。nativeMeNamestringDriver层的资源名称。meDnstring告警对应的对象标识。meNamestring告警对应的对象名称。mocstring对象类型。meCategorystring网元大类。meTypestring网元类别。productNamestring网元类型。alarmGroupIdstring告警分组标识。originSystemTypestring告警来源系统类型。originSystemIdstring来源系统内部标识。originSystemstring来源系统外部标识。originSystemNamestring来源系统名称。tenantstring所属租户名称。tenantIdstring所属租户标识。regionIdstring区域标识。shardIdint64分片标识。regionstring区域名称。dcIdstring数据中心标识。dcNamestring数据中心名称。svcGroupIdstring服务组标识。manufacturerstring厂商。domainstring告警网元所属的领域,长度不超过16个字符。addressstring地址。moistring对象标识。backupStatusint32备份状态。identifierint32告警状态标识。subCsnint64告警设备流水号。eventTypeint32事件类型: 1 通信告警 2 设备告警 3 处理错误告警 4 业务质量告警 5 环境告警 6 完整性告警 7 操作告警 8 物理资源告警 9 安全告警 10 时间域告警 11 属性值改变 12 对象创建 13 对象删除 14 关系改变 15 状态改变 16 路由改变 17 保护倒换 18 越限 19 文件传输状态 20 备份状态 21 心跳alarmIdstring告警标识。alarmNamestring告警名称。severityint32告警级别: 1 紧急 2 重要 3 次要 4 提示probableCausestring可能原因描述。reasonIdint32告警具体原因标识。serviceAffectedTypeint32影响业务标识。affectedServicestring告警所影响的业务名称。rootCsnstring根源告警流水号。subRootCsnstring设备根源告警。(如果系统进行了相关性分析,可通过该字段和根源告警标志将相关性分析的结果上报。对于非根源告警,该字段填写其对应的根源告警的流水号;对于根源告警本身,则不需要填写。)additionalInformationstring附加信息。userDatastring扩展字段。commentstring备注。specialAlarmStatusint32工程告警标记。corrGroupIdstring关联告警组标识,高效派工单特性使用。workOrderIdstring工单号。workOrderSenderstring派单用户。workOrderUtcint64派单的UTC时间。workOrderStatusstring工单状态。invalidatedint32告警是否设置为无效。ownerUIDstring告警处理人。aggrGroupIdstring告警汇聚组标识。aggrRootCsnstring汇聚告警流水号。aggrStatusint32告警汇聚状态。ruleNamestring告警匹配规则。azoneIdstring可用区标识。azoneNamestring可用区。logicalRegionIdstring逻辑位置标识。logicalRegionNamestring逻辑位置。resPoolIdstringNFV资源池标识。resPoolNamestringNFV资源池。resGroupIdstring自定义资源分组标识。vdcIdstring组织标识。vdcNamestring组织。deviceTypeIdstring设备类型标识。clearTypeint32告警清除类型。ackDstint32确认时间夏令时偏移量。backedupOnSourceint32告警在告警源是否备份。ckSourceint32CK相关性机制字段。locParseFlagint32定位信息字典分隔符标志。commentUtcint64修改备注时间。commentUserstring修改备注用户。changedFieldsList告警变更字段集合。domainSubnetIdstring资源分组子网ID。reportNorthint32上报北向标识,US58267,0上报/1不上报,默认上报。clearMatchStrategyint32清除匹配策略。moDnstringmoDn字段(uuid)。endUtcint64修改时间。extParamsMap告警扩展字段map。key为扩展字段名,与alarm_field_ext.json中定义的扩展字段标识一致;value为扩展字段的值,应与扩展定义保持一致。历史告警查询方法,步骤相同,此处不再详述附:OC页面告警详情与API字段对应关系4 告警操作根据调用方发送的数据对指定的告警进行相应的操作。在调用接口时指定告警操作类型和对应告警的csn号对告警进行操作。请求示例:调用方法:POST调用URL:https://{运维侧对外访问域名}/rest/fault/v1/operation-jobsHeader:lication/json Content-Type:application/json;charset=UTF-8 X-Auth-Token:xxxxxxxxxxxxx各个不同的告警操作请求Body示例如下, 其中每个告警操作由请求体中“操作类型-操作参数”的映射表示。不同操作类型的参数不同。注意:操作参数的实体为一个json格式的字符串。字符串内部的符号需要转义。基本的告警操作有:告警确认-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "ACK": "{\"csns\": [111111, 222222],\"operator\":\"123\"}" } } ]其中csns字段为告警的csn号列表,operator字段为操作人id.反确认告警-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "UNACK": "{\"csns\": [111111, 222222],\"operator\":\"123\"}" } } ]其中csns字段为告警的csn号列表,operator字段为操作人id.清除告警-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "CLEAR": "{\"csns\": [335296, 316826],\"operator\":\"apicall\",\"lightly\":\"true\",\"clearType\":3}" } } ]其中csns字段为告警的csn号列表,operator字段为操作人id. lightly为是否轻度清除,默认为false,clearType为清除级别,默认为3;范围从0~8: 0为为清除,1正常清除,2复位清除,3手动清除,4配置清除,5相关性清除,6绕接清除,7状态切换清除,8网管同步清除备注-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "COMMENT": "{\"csns\":[11111, 22222], \"comment\":\"commentContent\", \"operator\":\"userName1\"}" } } ]其中csns字段为告警的csn号列表,operator字段为操作人id. comment为备注内容派单-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "WO": { "csns": [ 11111, 22222 ], "operator": "userName1", "ruleName": "规则名称", "extParams": { "businessTypeID": "", "eventTypeID": "", "eventLevelID": "", "workTypeID": "", "woRemark": "工单备注" }, "woValue": { "workorderCreateType": "1", "workorderSystem": "BPM" } } } } ]其中csns字段为告警的csn号列表;operator字段为操作人id;ruleName为工单规则名称,自动转工单必填;extParams为一个json对象,里面包含的参数根据对接的不同工单系统而不同;woValue 包含两个属性:工单类型(1-手动,2-自动),工单系统类型。相关性-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "CORR": { "csns": [ 11111, 22222 ], "rootCsn": 333, "identifier": 0, "corrGroupId": 123456, "subRootCsn": 123456, "ruleName": "[规则类型]规则名称" } } } ]其中csns字段为告警的csn号列表;rootCsn根源告警流水号;identifier根源告警标识,支持多值追加,根源告警(bit0=1),衍生告警(bit1=1);corrGroupId为相关性组标识,支持多值追加;subRootCsn为设备侧根源告警流水号;ruleName为匹配规则名,支持多值追加。标识告警无效-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "INVALID": "{\"csns\":[11111, 22222],\"operator\": \"admin\"}" } } ]其中csns字段为告警的csn号列表,operator字段为操作人id标识告警有效-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "VALID": "{\"csns\":[11111, 22222],\"operator\": \"admin\"}" } } ]其中csns字段为告警的csn号列表,operator字段为操作人id标识为维护态告警-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "SPECIAL": "{\"csns\":[11111, 22222],\"operator\": \"admin\"}" } } ]其中csns字段为告警的csn号列表,operator字段为操作人id标识为非维护态告警-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "NONSPECIAL": "{\"csns\":[11111, 22222],\"operator\": \"admin\"}" } } ]其中csns字段为告警的csn号列表,operator字段为操作人id变更影响业务名称-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "CHANGEAFFECTEDSERVICE": "{\"csns\":[11111, 22222], \"affectedService\":\"CloudVPN\"}" } } ]其中csns字段为告警的csn号列表,affectedService字段为影响业务名称变更告警级别-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "ADJUSTLEVEL": "{\"csns\":[11111, 22222], \"severity\": 1,\"operator\": \"admin\"}" } } ]其中csns字段为告警的csn号列表;operator字段为操作人id ;severity为级别值。1-紧急,2-重要,3-次要,4-提示分配处理人-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "ASSIGNHANDLER": "{\"csns\":[11111, 22222],\"operator\": \"admin\", \"userId\": \"other\"}" } } ]其中csns字段为告警的csn号列表;operator字段为操作人id ;userId为分配的处理人ID, 当userId为空时表示取消分配取消分配处理人-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "ASSIGNCANCLE": "{\"csns\":[11111, 22222],\"operator\": \"admin\"}" } } ]其中csns字段为告警的csn号列表;operator字段为操作人id汇聚-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "AGGR": { "csns": [ 11111, 22222 ], "regionId": "1", "aggrGroupId": 123456, "aggrStatus": "2", "aggrRootCsn": 123456, "ruleName": "[规则类型]规则名称" } } } ]其中csns字段为被汇聚告警的csn号列表,regionId为区域ID;aggrGroupId为汇聚组ID;aggrStatus为汇聚状态(bit0=1) 被汇聚状态(bit1=1);aggrRootCsn为汇聚告警流水号;ruleName为匹配规则名称,支持多值追加。扩展字段-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "AGGR": { "csns": [ 11111, 22222 ], "regionId": "1", "aggrGroupId": 123456, "aggrStatus": "2", "aggrRootCsn": 123456, "ruleName": "[规则类型]规则名称" } } } ]其中csns字段为告警的csn号列表;operator字段为操作人id ;extParam是一个list,包括素有需要修的字段的key、value;可修改字段包含alarmId,alarmName,address,manufacturer,moi,meName,additionalInformation,affectedService,所有的扩展字段。核对-请求体:/**此处为了方便浏览整个请求体都以json格式展示,实际调用中,参数值需要以字符串的形式传入。**/[ { "params": { "CHECK": "{\"csns\":[11111, 22222],\"operator\": \"admin\"}" } } ]其中csns字段为告警的csn号列表;operator字段为操作人id
-
1 说明在如何查询租户虚拟机列表中我们介绍了如何查询租户虚拟机详情,接下来,我们以查询租户虚拟机的性能数据为例,说明如何查询资源性能数据。正式调用ManageOne运维侧接口前,请先检查准备工作是否已完成,参考链接:【华为云Stack ManageOne运维侧北向对接】 RESTful接口调用准备工作ManageOne北向API参考文档下载地址:cid:link_0若您使用postman进行接口调测,请在正是调用接口前,将postman的SSL认证关闭,步骤如下(示例基于最新版本postman):打开postman,点击右上角扳手图标,点击“setting”菜单,如下图:关闭“SSL certificate verification”,如下图所示:2 能力介绍性能监控通过采集监控对象性能指标,帮助运维人员发现潜在风险,并及时通知。ManageOne运维侧支持服务器、存储、网络设备的性能集中监控,系统可以周期的从服务器、虚拟机采集各类性能指标并进行统计分析。ManageOne运维侧还支持对于性能指标还可以设置阈值告警,当指标超过阈值时,系统会产生告警。ManageOne运维侧对外开放性能查询的RESTful接口,第三方可以通过调用这些接口获取所需要的监控指标值。查询性能数据有如下约束:不是所有资源类型都支持性能查询,首先要通过查询监控对象类型来确认资源的类型是否支持。性能查询接口一次只能查询一种类型的性能数据,而且所有的指标必须都属于这个类型。对于每个ManageOne平台,通过北向接口查询获取到的监控对象类型id(obj_type_id),以及每个监控对象类型所支持的监控指标(indicators)和指标Id是固定的,获取到这些Id之后可以存储在本地,不需要再调运维侧接口获取流程如下:具体步骤如下:首先查询监控对象类型,只有在这些类型里面的资源才可以查询性能数据。根据查出的监控类型查询资源数据,获取资源ID。 根据监控类型查询此类型支持的指标,查询结果为指标的ID列表。根据资源ID和指标ID查出该资源的指定指标的具体数值。查询出的结果只显示指标ID,因此还要调用根据指标ID查询指标描述的接口。 组合指标数值和指标描述,得到完整的性能信息。3 查询最新性能查询最新性能数据,返回最近60分钟内的一条最新数据(包含第60分钟)。接口详细描述参考《ManageOne 6.5.1 运维面北向API参考》。接口调用约束:l 每次传入的监控对象(obj_ids)数*监控指标(indicator_ids)数不大于100。l 指标ID列表(indicator_ids)必须属于监控类型(obj_type_id)。l 资源ID列表(obj_ids)必须属于监控类型(obj_type_id)。查询步骤:步骤1: 获取Token后面的步骤都需要在请求的header里面加上X-Auth-Token参数。接口调用示例如下:调用方法:PUT调用URL:https://{运维侧对外访问域名}/rest/plat/smapp/v1/oauth/token请求头:Accept:application/json Content-Type:application/json;charset=UTF-8请求body:{ "grantType": "password", "userName": "XXX", "value": "***" }响应示例:{ "accessSession": "xxxxxxxxxxxxx", "roaRand": "xxxxxxxxxxxxx", "expires": 1800, "additionalInfo": null }accessSession的值即为token值步骤2 获取监控类型列表此处以CLOUD_VM为例,获取obj_type_id,接口调用示例如下:调用方法:GET调用URL:https://{运维侧对外访问域名}/rest/performance/v1/mgr-svc/obj-types请求头:Accept:application/json Content-Type:application/json;charset=UTF-8 X-Auth-Token:xxxxxxxxxxxxx响应示例(部分示例):{ "status_code": 200, "error_code": 0, "error_msg": "Successful", "data": [ { "obj_type_id": 562958543355904, "parent_obj_type_id": 1407379178520576, "resource_category": "CLOUD_VM", "resource_provider": "ict-resource", "en_us": "Elastic Cloud Server", "zh_cn": "弹性云服务器", "group_en_us": "Cloud Resource", "group_zh_cn": "云资源" }, { "obj_type_id": 562967133290496, "parent_obj_type_id": 0, "resource_category": "CLOUD_VOLUME", "resource_provider": "ict-resource", "en_us": "Elastic Volume", "zh_cn": "云硬盘", "group_en_us": "Cloud Resource", "group_zh_cn": "云资源" } ] }在响应体中找到 resource_category": "CLOUD_VM", 的类型项,查询到CLOUD_VM对应的obj_type_id为562958543355904。步骤3 查询监控类型支持的指标ID列表此处列出了CLOUD_VM所有支持的指标ID,接口调用示例如下:调用方法:GET调用URL:https://{运维侧对外访问域名}/rest/performance/v1/mgr-svc/obj-types/562958543355904/indicators,562958543355904为上一步查询所得的CLOUD_VM的监控类型Id请求头:Accept:application/json Content-Type:application/json;charset=UTF-8 X-Auth-Token:xxxxxxxxxxxxx响应示例:{ "status_code": 200, "error_code": 0, "error_msg": "Successful", "data": { "indicator_ids": [ 562958543421441, 562958543486979, 562958543552537, 562958543552538, 562958543552539, 562958543552550, 562958543618052, 562958543618061, 562958543618062, 562958543618067, 562958543618068, 562958543618071, 562958543618072, 562958543618073, 562958543618074, 562958543618075, 562958543618076, 562958543618077, 562958543618078, 562958543618079, 562958543618080, 562958543618081, 562958543618082 ] } }返回的indicator_ids的值即为CLOUD_VM所有支持的指标ID步骤4 查询指标含义调用方法:POST调用URL:https://{运维侧对外访问域名}/rest/performance/v1/mgr-svc/indicators请求头:Accept:application/json Content-Type:application/json;charset=UTF-8 X-Auth-Token:xxxxxxxxxxxxx请求体:[562958543421441, 562958543618075]响应示例:{ "status_code": 200, "error_code": 0, "error_msg": "Successful", "data": { "562958543618075": { "kpi": 0, "data_type": "float", "data_unit": "KB/s", "en_us": "Outband Outgoing Rate", "zh_cn": "带外网络流出速率", "group_en_us": null, "group_zh_cn": null, "tag": "", "alarm_id": null, "alarm_desc_en_us": null, "alarm_desc_zh_cn": null, "indicator_name": "network_outgoing_bytes_aggregate_rate" }, "562958543421441": { "kpi": 1, "data_type": "float", "data_unit": "%", "en_us": "CPU Usage", "zh_cn": "CPU使用率", "group_en_us": null, "group_zh_cn": null, "tag": "CLOUD_VM_USAGE", "alarm_id": null, "alarm_desc_en_us": null, "alarm_desc_zh_cn": null, "indicator_name": "cpuUsage" } } }注:租户资源来源系统基本上都为FSP,物理资源大多为eSight,少数为ZOHO系统,请根据实际环境对接系统过滤性能指标统一模型参考文档中'Source System Type'列,获取支持的指标ID,其中指标ID在ManageOne各版本均为固定值不会随版本变动。步骤5 查询资源列表此处随机查询1台租户虚拟机(类型名称为CLOUD_VM)记录,获取其ID。接口调用示例如下:调用方法:GET调用URL:https://{运维侧对外访问域名}/rest/tenant-resource/v1/instances/CLOUD_VM?pageNo=1&pageSize=1000请求头:Accept:application/json Content-Type:application/json;charset=UTF-8 X-Auth-Token:xxxxxxxxxxxxx响应示例:{ "objList": [ { "ownerType": "compute", "extraSpecs": "{\"ips\":\"@192.168.0.129@\",\"cpuCoreNum\":4}", "azoneName": "az7.dc7", "privateIps": "@192.168.0.129@", "regionName": "Global", "flavorId": "8776AA3F93593999A48DC545CCB03E30", "clusterId": "5B16AC1483F634BAA0F040EB08D708BA", "ownerId": "0D9ECCF86FF337C08E5DB07FA5CFE2C7", "cloudLocationName": "华为", "createdAt": "2019-05-29T09:30:02Z", "powerState": "1", "taskState": "", "tenantName": "", "cloudType": "localcloud", "clusterName": "HostGroup1", "id": "D912DA2B8D0639708A7D5726DD66C4CD", "last_Modified": 1559122262393, "vdcId": "fc9b5ace-5650-481f-9c24-060140e9ca16", "podId": "27A0BDF03E1E3A56A6C6F0775A977553", "bizRegionId": "853FFE094A6D339E97E84AD6BF06A531", "imageId": "AC5AE9DB90A43041B6249711FD7B0DA4", "floatingIp": "", "hostId": "D3711A402B753D23A1D058EF203007B9", "hypervisorType": "kvm", "resId": "D912DA2B8D0639708A7D5726DD66C4CD", "userId": "6354cbc75cd14acab09307a8d78d1622", "resourcePoolName": "OpenStack_sa-fb-1", "tags": "", "class_Name": "CLOUD_VM", "azoneId": "97122CC306D53D6584278F5D04210618", "physicalHostId": "D3711A402B753D23A1D058EF203007B9", "regionId": "C4CA4238A0B933828DCC509A6F75849B", "resourcePoolId": "25216A596C493169B7D106ECB32E83F8", "name": "ecs-5aa6-wp", "tenantId": "", "vdcName": "wp_vdc", "nativeId": "162cf72b-4dab-45cf-84e6-5e4b87ca0783", "launchedAt": "2019-05-29T09:30:12.000000", "cloudLocationId": "85E0C89C436633E48292592CFE55B7BB", "projectId": "e711f3cb1be84d87934123b94f2198e7", "vmState": "active", "bizRegionName": "华南地区", "cpuCoreNum": "4", "status": "active" } ], "totalNum": 47, "pageSize": 1, "totalPageNo": 47, "currentPage": 1 }获取租户虚拟机的资源ID(resId字段)。此处为:"resId": "D912DA2B8D0639708A7D5726DD66C4CD"步骤6 查询性能查询性能数据,根据传入参数中的"range"字段所取的枚举值或从开始到结束时间范围内的查询数据。有汇聚数据情况下,返回结果序列是平均值序列,并包含最大值、最小值以及对应时间戳。接口详细描述参考《ManageOne 6.5.X/8.X 运维面API参考 》。约束:l 每次传入的监控对象(obj_ids)数*监控指标(indicator_ids)数不大于100。l 指标ID列表(indicator_ids)必须属于监控类型(obj_type_id)。l 资源ID列表(obj_ids)必须属于监控类型(obj_type_id)。请求示例:调用方法:POST调用URL:https://{运维侧对外访问域名}/rest/performance/v1/data-svc/history-data/action/query请求头:Accept:application/json Content-Type:application/json;charset=UTF-8 X-Auth-Token:xxxxxxxxxxxxx请求体:(obj_type_id从步骤2获取;indicator_ids从步骤3获取;obj_ids从步骤5获取){ "obj_type_id": "562958543355904", "indicator_ids": ["562958543421441"], "obj_ids": ["D912DA2B8D0639708A7D5726DD66C4CD"], "range": "LAST_1_HOUR", "interval": "MINUTE" }响应体:{ "data": { "D912DA2B8D0639708A7D5726DD66C4CD": { "562958543421441": { "avg": { "1468483570000": "5.97" }, "min": { "1468483570000": "5.72" }, "max": { "1468483630000": "6.509" }, "series": [{ "1468483570000": "5.72" }, { "1468483575000": "5.72" }, { "1468483630000": "6.509" }, { "1468483635000": "6.509" }, { "1468483690000": "5.80" }, { "1468483695000": "5.80" }] } } }, "errorCode": 0, "errorMsg": "Successful.", "statusCode": 200 }至此,我们查询得到了对应指标的最新采集值。结合步骤4,可以得知响应体中每个指标的含义。下面对历史性能查询接口中时间范围的取值进行说明,首先我们对其中几个关键参数的含义进行说明,如下表:参数名类型值域参数含义intervalStringMINUTE(分钟)HOUR(小时)DAY(天)WEEK(星期)MONTH(月)代表历史性能数据的采样间隔,该参数需要配合range参数使用,interval的值需要是range中支持的采样间隔,比如:range选择LAST_5MINUTE(最近5分钟),interval就只能是MINUTE(分钟);如果range选择LAST_1_HOUR,interval也只能选择MINUTE,而不能是HOUR等其他参数rangeStringLAST_5_MINUTE(最近5分钟,返回数据粒度为分钟,由于底座和ManageOne的时间可能存在误差,最近5分钟可能查询不到数据,此情况下建议取最近1小时的数据)LAST_1_HOUR(最近1小时,返回数据粒度为分钟)LAST_1_DAY(最近1天,返回数据粒度支持分钟、小时,默认按小时返回)LAST_1_WEEK(最近1星期,返回数据支持分钟、小时、天,默认按天返回)LAST_1_MONTH(最近1个月,返回数据支持分钟、小时、天、星期默认按星期返回)LAST_1_QUARTER(最近一个季度,返回数据支持分钟、小时、天、星期、月,默认按月返回)HALF_1_YEAR(最近半年,返回数据支持分钟、小时、天、星期、月、季度,默认按季度返回)LAST_1_YEAR(最近1年,返回数据支持分钟、小时、天、星期、月、季度、半年,默认按半年返回)BEGIN_END_TIME(自定义时间段)INVALID(无效时间)默认值:INVALID代表历史性能数据的时间范围,支持您查询最近5分钟、1小时到最近1年的数据,返回数据的粒度,最低为1分钟,最大为半年;range参数取值为BEGIN_END_TIME时,支持您自定义时间范围去获取数据,需配合begin_time、end_time两个参数使用。begin_timeint64无,取值为毫秒格式表示的时间查询开始时刻,必须比 end_time 小,仅 range 为 BEGIN_END_TIME 时生效end_timeint64无,取值为毫秒格式表示的时间查询结束时刻,必须比 begin_time大,仅 range 为 BEGIN_END_TIME 时生效补充说明:分钟粒度的性能数据保存7天,小时粒度的性能数据,保存2年下面给出常用的几种查询指定时间段历史性能数据的方式:1、如果您需要定时采集历史性能数据并入库,建议您设置采集周期为1小时,每次采集最近1小时的数据,这样您每次可以获取到指定资源在最近一小时内的数据,每天只需要采集24次,粒度为分钟,示例如下:{ "obj_type_id": "562958543355904", //监控对象类型Id "indicator_ids": ["562958543421441"], //指标Id,支持多个 "range": "LAST_1_HOUR", "interval": "MINUTE", "obj_ids": ["7786B94E1DC7374FBEB4DBDF9D7384F0"]//资源Id,支持多个 }2、如果您需要补采指定时间段内的性能数据,您可参考如下方式:{ "obj_type_id": "562958543355904", //监控对象类型Id "indicator_ids": ["562958543421441"], //指标Id,支持多个 "range": "BEGIN_END_TIME", //固定值 "interval":"MINUTE", //根据指定的时间段范围确定,比如,begin_time为2020-02-20 00:00:00,end_time为2020-02-25 00:00:00共5天,那么我们可以设置采样粒度为分钟、小时、天 "begin_time":1582163984000, //采集开始时间,毫秒串格式,必须比begin_time小 "end_time":1582682384000, //采集结束时间,毫秒串格式,必须比begin_time大 "obj_ids": ["7786B94E1DC7374FBEB4DBDF9D7384F0"] //资源Id,支持多个 }
-
1 说明本文档指导适用于华为云Stack ManageOne 6.5.x、8.x版本。ManageOne运维面作为华为云Stack解决方案的运维中心,可对数据中心内的物理设备、虚拟化资源、云服务等多种资源进行统一告警的管理,同时ManageOne运维侧对外提供了SNMP接口,可以通过Trap方式主动推送告警(只能推送告警,不能推送资源、性能数据)给第三方网管系统,具有实时性高的特点,但推送的告警范围仅限于实时告警和告警清除通知(即,当手动在ManageOne运维侧清除告警时,ManageOne运维侧会通知上层网管某告警已被清除),另外,SNMP接口也为第三方网管系统提供了告警处理接口,第三方网管系统对告警进行确认、清除等操作时,可以通知ManageOne运维侧对指定告警做出相应的处理操作。2 准备工作第三方运维系统需要通过SNMP方式与ManageOne运维面对接时,需要做一些准备工作,才能完成与ManageOne运维面进行对接。2.1 获取接口文档接口文档可联系华为工程师从华为官网下载,下载链接参考: cid:link_1 第5章节。请结合现网具体交付的版本下载接口文档,若需要英文版接口文档,点击浏览器右上角切换语言,即可获得。下载得到的华为云Stack解决方案的完整接口文档,我们打开压缩包,提取ManageOne API参考文档包,然后打开该文档包,找出下图红框标注的文档(以6.5.1接口文档接口为例,适用于8.x版本):各文档作用说明如下:《ManageOne-NBI-Alarm-MIB-V1.mib》:运维侧SNMP Trap上报告警的MIB文件,采用SMI(Structure of Management Information)V1描述《ManageOne-NBI-Alarm-MIB-V2.mib》:运维侧SNMP Trap上报告警的MIB文件,采用SMI(Structure of Management Information)V2描述《ManageOne 6.5.1 北向告警SNMP接口开发指南 03.doc》:SNMP Trap对接开发指南,讲述了ManageOne 6.5.1运维侧的SNMP接口能力和OID描述(实时告警的OID描述,参考该文档的3.1章节)说明:《ManageOne-NBI-Alarm-MIB-V1.mib》和《ManageOne-NBI-Alarm-MIB-V2.mib》需要提供给第三方网管系统,以便解析ManageOne 运维侧上报的告警信息,一般提供V2版本即可2.2 获取第三方网管系统SNMP配置信息ManageOne 6.5.x/8.x运维侧支持SNMPv1、SNMPv2C、SNMPv3协议,安全起见,建议对接时第三方网管使用SNMPv3版本与ManageOne运维侧进行对接。如果现网需要使用SNMPv1、SNMPv2C,请在征得客户同意后,联系ManageOne维护接口人,修改ManageOne支持的SNMP协议范围。以SNMPv3协议为例,需要第三方网管提供的信息有:配置项示例第三方网管的IP地址192.168.1.1第三方网管SNMP服务监听的端口号162协议版本号SNMPv3安全用户名thirdSnmpServer授权认证密码 数据加密密码 发送告警Trap的编码(第三方网管为接收方)UTF-8鉴权协议SHA加密协议AES-1282.3网络预配置为保证运维侧告警能顺利推送给第三方网管,需要确保ManageOne运维侧以下节点IP可以访问第三方网管的SNMP监听端口,访问关系如下:源端(可从LLD中获取以下节点的IP)源端口目的端(第三方网管提供)目的端口(第三方网管提供)ManageOne-Service0127318第三方网管浮动IP,例如:192.168.1.1第三方网管的SNMP服务监听端口,如162ManageOne-Service0227318第三方网管浮动IP,例如:192.168.1.1第三方网管的SNMP服务监听端口,如162正式配置对接前,请联系客户完成网络打通。可参考以下方式获取SNMP上报的源端IP和端口联系华为现场工程师,获取ManageOne运维侧登录地址和账号。登录ManageOne运维面,进入“系统->系统设置->北向接口->基本配置”获取“发送Trap地址”和“发送Trap端口”(没有勾选的地址建议同步打通网络)3 对接配置获取到第三方网管系统的SNMP配置信息之后,需要在ManageOne上配置上层网管对接信息,步骤如下:联系华为现场工程师,获取ManageOne运维侧登录地址和账号。登录ManageOne运维面,进入“系统->系统设置->北向接口->第三方系统配置”,点击”创建“,将第2.2章节中获取的第三方网管SNMP配置信息填写到对应的选项中,如下图所示:配置完成后,点击“创建”,完成网管SNMP参数和告警过滤条件的配置(不配置过滤条件默认上报全部告警)。从上图中可以看到,我们可以根据需要配置上报的指定设备类型产生的告警,上报指定级别的告警,并且按照告警分类上报针对第三方网管的一些特殊需求,我们还可以调整SNMP Trap上报告警的时区、时间格式、编码格式等,方法如下:登录ManageOne运维面,进入“系统->系统设置->北向接口->基本配置”,可配置时区、编码格式、鉴权协议、加密协议等参数,如下图:请注意,此处的协议参数配置需要与第三方网管相同(EngineID一般可忽略),否则第三方网管将无法正常解析SNMP报文。在此处勾选需要上报的字段。需要注意,扩展字段默认未勾选,如果有需要的字段,请在此处勾选,否则第三方网管将无法接收到这些字段。扩展字段对应的说明如下:(8.x以上版本)字段描述说明RootAlarm根因告警 AssociateAlarmGroup关联告警组 ArrivedEMSTime告警到达网管时间 GroupID告警分组ID ExtendProductItem5扩展字段5告警所影响的业务名称。ExtendProductItem6扩展字段6告警标识 (字符串类型AlarmID)。ExtendProductItem7扩展字段7告警名称。ExtendProductItem8扩展字段8告警RCA分析结果信息。说明:一般的,SNMP Trap是发送给SNMP 服务端的通知网络状况等的警告消息,而Inform是需要SNMP 服务端确认接收的Trap。与Inform 相比较,Trap通知方式为不可靠传输,因为SNMP 服务端在收到一条Trap通知后无需回复任何确认信息,所以SNMP agent无法知道Trap通知是否已经被snmp管理端正确接收其中:1、CSN(告警的网络流水号)唯一标识一条告警,同一条告警的清除、确认、反确认、变更告警网络流水号相同。2、AlarmID(告警ID)是告警类型的唯一标识符,全量的告警类型列表可通过以下方法获取:OC主页->"集中监控"->“告警管理”->"告警扩展",选择左侧菜单列表的“告警扩展”,选择“告警信息导出”。单击“导出”后,可获得如下excel文件:4 示例程序Java语言:(使用任意华为公有云帐号登录即可)cid:link_0Python语言:暂无示例程序,可使用net-snmp、pysnmp 等第三方库进行对接。5 附录5-1 页面告警与OID的对应关系示例:(注:1.下图中x表示"1.3.6.1.4.1.2011.2.15.2.4.3.3"。2. 未标注的字段表示暂无与之对应的OID。3. x.39以键值对格式存放可选拓展字段,示例可参考5-3)5-2 SNMP报文示例(对应5-1的告警,实际上报的Trap中OID末尾会带有“.0”作为该OID的实例。)1.3.6.1.2.1.1.3.0 = 4 days, 7:11:53.701.3.6.1.6.3.1.1.4.1.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.0.11.3.6.1.4.1.2011.2.15.2.4.3.3.1.0 = 171304711.3.6.1.4.1.2011.2.15.2.4.3.3.2.0 = 91.3.6.1.4.1.2011.2.15.2.4.3.3.3.0 = 2022-10-08 00:49:021.3.6.1.4.1.2011.2.15.2.4.3.3.4.0 = 28d5aff847ee411b87241b68183da9bcin011.3.6.1.4.1.2011.2.15.2.4.3.3.5.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.6.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.7.0 = DefaultMedn1.3.6.1.4.1.2011.2.15.2.4.3.3.8.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.9.0 = 50124161.3.6.1.4.1.2011.2.15.2.4.3.3.10.0 = 71.3.6.1.4.1.2011.2.15.2.4.3.3.11.0 = 21.3.6.1.4.1.2011.2.15.2.4.3.3.12.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.13.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.14.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.15.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.16.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.17.0 = 2785615221.3.6.1.4.1.2011.2.15.2.4.3.3.18.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.19.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.20.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.21.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.22.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.23.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.24.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.25.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.26.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.27.0 = Identity=Toggling Alarm, system:DBS:Service:mysqlBackupService,module:startLobBackup,instance:28d5aff847ee411b87241b68183da9bcin011.3.6.1.4.1.2011.2.15.2.4.3.3.28.0 = action=startLobBackup,instanceId=28d5aff847ee411b87241b68183da9bcin01,projectId=063094e04ef94614a74191c15bd02f0d,reason="failed to startLobBackup, cause when change log backup method, failed to access obs service, instanceId=28d5aff847ee411b87241b68183da9b1.3.6.1.4.1.2011.2.15.2.4.3.3.29.0 = Please refer to the alarm help1.3.6.1.4.1.2011.2.15.2.4.3.3.30.0 = 1.The agent is abnormal.2.OBS service is abnormal and incremental backup upload failed.1.3.6.1.4.1.2011.2.15.2.4.3.3.31.0 = 10.10.4.1241.3.6.1.4.1.2011.2.15.2.4.3.3.32.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.33.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.34.0 = 2022-10-08 00:49:021.3.6.1.4.1.2011.2.15.2.4.3.3.35.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.36.0 = 50124161.3.6.1.4.1.2011.2.15.2.4.3.3.37.0 = failed to startLobBackup1.3.6.1.4.1.2011.2.15.2.4.3.3.38.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.39.0 = 7b:22:6d:6f:63:22:3a:22:4e:45:57:44:42:53:22:2c:22:73:70:65:63:69:61:6c:41:6c:61:72:6d:53:74:61:74:75:73:22:3a:30:2c:22:6c:6f:67:69:63:61:6c:52:65:67:69:6f:6e:4e:61:6d:65:22:3a:22:e4:b8:9c:e8:8e:9e:22:2c:22:61:7a:6f:6e:65:4e:61:6d:65:22:3a:6e:75:6c:6c:2c:22:61:64:64:72:65:73:73:22:3a:22:31:30:2e:31:30:2e:34:2e:31:32:34:22:2c:22:6d:65:54:79:70:65:22:3a:6e:75:6c:6c:2c:22:6f:72:69:67:69:6e:53:79:73:74:65:6d:4e:61:6d:65:22:3a:22:52:44:53:5f:73:6f:6c:75:74:69:6f:6e:2d:61:64:76:61:6e:63:65:2d:31:22:2c:22:72:65:73:50:6f:6f:6c:4e:61:6d:65:22:3a:6e:75:6c:6c:2c:22:6f:72:69:67:69:6e:53:79:73:74:65:6d:54:79:70:65:22:3a:22:43:6c:6f:75:64:53:65:72:76:69:63:65:22:2c:22:61:6c:61:72:6d:47:72:6f:75:70:49:64:22:3a:22:32:37:38:35:36:31:35:32:32:22:2c:22:6d:61:74:63:68:4b:65:79:22:3a:22:62:31:38:39:64:61:30:62:2d:63:38:38:38:2d:34:65:34:30:2d:62:31:33:31:2d:63:65:63:36:33:31:63:37:38:37:66:62:22:2c:22:6d:61:6e:75:66:61:63:74:75:72:65:72:22:3a:22:68:75:61:77:65:69:22:2c:22:6c:6f:67:69:63:61:6c:52:65:67:69:6f:6e:49:64:22:3a:22:35:44:45:44:43:36:33:33:43:38:38:39:33:41:43:39:38:46:43:35:45:32:31:42:38:38:35:38:33:41:30:45:22:2c:22:72:65:61:73:6f:6e:49:64:22:3a:30:2c:22:64:63:4e:61:6d:65:22:3a:6e:75:6c:6c:2c:22:64:6f:6d:61:69:6e:22:3a:6e:75:6c:6c:2c:22:72:75:6c:65:4e:61:6d:65:22:3a:22:5b:49:6e:74:65:72:6d:69:74:74:65:6e:74:2f:54:6f:67:67:6c:69:6e:67:20:41:6c:61:72:6d:20:48:61:6e:64:6c:69:6e:67:20:52:75:6c:65:5d:50:72:65:73:65:74:2d:49:6e:74:65:72:6d:69:74:74:65:6e:74:20:6f:72:20:54:6f:67:67:6c:69:6e:67:20:52:75:6c:65:20:66:6f:72:20:41:6c:6c:20:41:6c:61:72:6d:73:2c:20:5b:49:64:65:6e:74:69:66:69:63:61:74:69:6f:6e:20:52:75:6c:65:5d:75:70:67:72:61:64:65:5f:61:6c:61:72:6d:5f:69:64:65:6e:74:69:66:69:63:61:74:69:6f:6e:5f:72:75:6c:65:22:2c:22:63:6f:6d:6d:65:6e:74:22:3a:6e:75:6c:6c:2c:22:76:64:63:4e:61:6d:65:22:3a:6e:75:6c:6c:2c:22:6e:61:74:69:76:65:4d:65:44:6e:22:3a:22:32:38:64:35:61:66:66:38:34:37:65:65:34:31:31:62:38:37:32:34:31:62:36:38:31:38:33:64:61:39:62:63:69:6e:30:31:22:2c:22:69:6e:76:61:6c:69:64:61:74:65:64:22:3a:30:2c:22:76:64:63:49:64:22:3a:6e:75:6c:6c:7d1.3.6.1.4.1.2011.2.15.2.4.3.3.40.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.41.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.42.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.43.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.44.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.45.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.46.0 = 1.3.6.1.4.1.2011.2.15.2.4.3.3.47.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.48.0 = 11.3.6.1.4.1.2011.2.15.2.4.3.3.49.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.50.0 = 01.3.6.1.4.1.2011.2.15.2.4.3.3.51.0 = Toggling time=214, userName=op_svc_appcube_1f48972c3ddf49048a7b9012e5d27dc8_solution-advance-1, instanceName=rds-instance-appcube23ec5a05bb5fc41b2ac8723d462159dff, CloudService=RDS,Service=DBS-MySQL-Server,MicroService=DBS-mysql-backupmanager, NativeMeDn=8.98.132.200;5-3 SNMP报文解码部分告警Trap可能需要解码才能够正常解析,例如5-2中的1.3.6.1.4.1.2011.2.15.2.4.3.3.39.0:解码前:1.3.6.1.4.1.2011.2.15.2.4.3.3.39.0 = 7b:22:6d:6f:63:22:3a:22:43:4c:4f:55:44:5f:52:4f:4d:41:5f:49:4e:53:54:41:4e:43:45:22:2c:22:73:70:65:63:69:61:6c:41:6c:61:72:6d:53:74:61:74:75:73:22:3a:30:2c:22:6c:6f:67:69:63:61:6c:52:65:67:69:6f:6e:4e:61:6d:65:22:3a:22:e4:b8:9c:e8:8e:9e:22:2c:22:61:7a:6f:6e:65:4e:61:6d:65:22:3a:6e:75:6c:6c:2c:22:61:64:64:72:65:73:73:22:3a:22:38:2e:39:38:2e:31:33:32:2e:32:33:31:22:2c:22:6d:65:54:79:70:65:22:3a:6e:75:6c:6c:2c:22:6f:72:69:67:69:6e:53:79:73:74:65:6d:4e:61:6d:65:22:3a:22:52:4f:4d:41:43:6f:6e:6e:65:63:74:5f:73:6f:6c:75:74:69:6f:6e:2d:61:64:76:61:6e:63:65:2d:31:22:2c:22:72:65:73:50:6f:6f:6c:4e:61:6d:65:22:3a:6e:75:6c:6c:2c:22:6f:72:69:67:69:6e:53:79:73:74:65:6d:54:79:70:65:22:3a:22:43:6c:6f:75:64:53:65:72:76:69:63:65:22:2c:22:61:6c:61:72:6d:47:72:6f:75:70:49:64:22:3a:22:32:37:38:35:36:31:35:33:32:22:2c:22:6d:61:74:63:68:4b:65:79:22:3a:22:66:35:31:63:35:38:62:33:2d:63:35:30:31:2d:34:37:33:33:2d:38:61:36:35:2d:65:36:37:63:35:33:63:38:37:62:38:33:22:2c:22:6d:61:6e:75:66:61:63:74:75:72:65:72:22:3a:22:68:75:61:77:65:69:22:2c:22:6c:6f:67:69:63:61:6c:52:65:67:69:6f:6e:49:64:22:3a:22:35:44:45:44:43:36:33:33:43:38:38:39:33:41:43:39:38:46:43:35:45:32:31:42:38:38:35:38:33:41:30:45:22:2c:22:72:65:61:73:6f:6e:49:64:22:3a:30:2c:22:64:63:4e:61:6d:65:22:3a:6e:75:6c:6c:2c:22:64:6f:6d:61:69:6e:22:3a:6e:75:6c:6c:2c:22:72:75:6c:65:4e:61:6d:65:22:3a:22:5b:49:6e:74:65:72:6d:69:74:74:65:6e:74:2f:54:6f:67:67:6c:69:6e:67:20:41:6c:61:72:6d:20:48:61:6e:64:6c:69:6e:67:20:52:75:6c:65:5d:50:72:65:73:65:74:2d:49:6e:74:65:72:6d:69:74:74:65:6e:74:20:6f:72:20:54:6f:67:67:6c:69:6e:67:20:52:75:6c:65:20:66:6f:72:20:41:6c:6c:20:41:6c:61:72:6d:73:2c:20:5b:49:64:65:6e:74:69:66:69:63:61:74:69:6f:6e:20:52:75:6c:65:5d:75:70:67:72:61:64:65:5f:61:6c:61:72:6d:5f:69:64:65:6e:74:69:66:69:63:61:74:69:6f:6e:5f:72:75:6c:65:22:2c:22:63:6f:6d:6d:65:6e:74:22:3a:6e:75:6c:6c:2c:22:76:64:63:4e:61:6d:65:22:3a:6e:75:6c:6c:2c:22:6e:61:74:69:76:65:4d:65:44:6e:22:3a:22:30:36:35:66:38:66:36:65:2d:61:30:32:33:2d:34:63:61:65:2d:62:37:32:64:2d:61:31:34:34:39:39:38:35:62:65:61:38:22:2c:22:69:6e:76:61:6c:69:64:61:74:65:64:22:3a:30:2c:22:76:64:63:49:64:22:3a:6e:75:6c:6c:7d解码后:1.3.6.1.4.1.2011.2.15.2.4.3.3.39.0 = {"moc":"CLOUD_ROMA_INSTANCE","specialAlarmStatus":0,"logicalRegionName":"东莞","azoneName":null,"address":"8.98.132.231","meType":null,"originSystemName":"ROMAConnect_solution-advance-1","resPoolName":null,"originSystemType":"CloudService","alarmGroupId":"278561532","matchKey":"f51c58b3-c501-4733-8a65-e67c53c87b83","manufacturer":"huawei","logicalRegionId":"5DEDC633C8893AC98FC5E21B88583A0E","reasonId":0,"dcName":null,"domain":null,"ruleName":"[Intermittent/Toggling Alarm Handling Rule]Preset-Intermittent or Toggling Rule for All Alarms, [Identification Rule]upgrade_alarm_identification_rule","comment":null,"vdcName":null,"nativeMeDn":"065f8f6e-a023-4cae-b72d-a1449985bea8","invalidated":0,"vdcId":null}解码方式如下(以Java为例):1. 添加以下Maven依赖 2. 解码代码:(完整使用场景可参考示例程序)//1.判断报文是否需要解码private boolean isHexString(String hex) { return Pattern.compile("^([a-zA-Z0-9]{2}:)+[a-zA-Z0-9]{2}$").matcher(hex).find();}//2.解码报文(编码需根据配置调整)private String hexStr2Str(String hexStr) { try { if (!StringUtils.isEmpty(hexStr)) { hexStr = hexStr.replace(":", ""); return new String(Hex.decodeHex(hexStr.toCharArray()), StandardCharsets.UTF_8); } } catch (Exception e) { LOGGER.error("hexStr2Str error : {}", e.getMessage()); } return hexStr;}
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签