华为云用户手册

  • 日志说明 边缘节点会上传系统日志和应用日志,您需要在IEF控制台上打开日志开关。 系统日志:边缘节点上IEF软件(如edge-core、edge-logger和edge-monitor等)产生的日志。 应用日志:边缘节点上部署的应用所产生的日志。 边缘节点会上传“/var/IEF/app/log”目录的日志,您可以在创建应用时将容器中目录挂载到“/var/IEF/app/log/{appName}”下,具体挂载方法请参见▪hostPath:将主机某个目录挂载到容器中。在 AOM 中可以按{appName}分类查看到应用的日志。 边缘节点会上传容器日志,日志组件会上传“{{DOCKER_ROOT_DIR}}/containers/{containerID}/{containerID}-json.log”文件的内容,DOCKER_ROOT_DIR可以通过docker info命令查询到,containerID就是容器ID。
  • IEF预置的告警 IEF为每个边缘节点预置了7个告警规则,这7类告警会自动上报到AOM。 告警名称 触发条件 清除条件 告警等级 容器引擎异常 边缘节点配置Docker使能时,查询Docker信息失败 Docker正常运行,EdgeCore能够获取到Docker信息 紧急 存活探针异常 应用配置存活探针,探针检测到异常 容器探针检测成功 重要 申请GPU资源失败 部署GPU应用,申请GPU资源失败 成功申请到GPU资源 紧急 获取GPU信息失败 边缘节点配置GPU使能时,查询GPU信息失败 成功查询到GPU信息 紧急 AK/SK无效 EdgeHub连续10次分发临时AK/SK,检测到过期或者状态异常 EdgeHub成功分发临时AK/SK 重要 应用重启 应用容器异常重启 无需清除 次要 容器绑定网卡异常 容器绑定的网卡发生异常 容器绑定的网卡状态正常 紧急 图6 查看告警
  • 亲和与反亲和调度策略 在创建容器应用时,可以设置亲和/反亲和调度策略,例如将某类应用部署到某些特定的节点、不同应用部署到不同的节点等等。 IEF当前支持简易的调度策略,具体如下。 亲和性 容器应用与节点亲和:当容器应用与节点亲和时,容器应用只会调度到亲和的这些节点中。在设置节点的亲和与反亲和时,如果设置了与某些节点亲和,那就没有必要再设置与其他节点反亲和,因为与这些节点亲和了,必然不会调度到其他节点。 容器应用与容器应用亲和:当容器应用A与容器应用B亲和时,容器应用A只会调度到容器应用B所在的节点。 反亲和性 容器应用与节点反亲和:当容器应用与节点反亲和时,容器应用不会调度到反亲和的这些节点中。 容器应用与容器应用反亲和:当容器应用A与容器应用B反亲和时,容器应用A不会调度到容器应用B所在的节点。
  • 亲和反亲和策略示例 您可以同时设置多个亲和反亲和对象。例如当前节点组有4个节点,Node1、Node2、Node3和Node4,容器应用App1的实例运行在Node1和Node2上,容器应用App2的实例运行在Node3上。这时您需要创建一个容器应用App3,容器应用App3与节点Node1、Node2、Node3亲和,与容器应用App1亲和,与容器应用App2反亲和,那容器应用App3只会被调度到Node1、Node2上。下图示例中,App3只有一个实例,被调度到了Node1上。 图1 App3被调度到Node1上
  • 支持订阅的事件 当前支持订阅如下事件。 表1 支持订阅的事件 系统事件 Topic 资源类型 操作 实例创建 $hw/events/instance/+/created 应用实例(instance) created 实例更新 $hw/events/instance/+/updated 应用实例(instance) updated 实例删除 $hw/events/instance/+/deleted 应用实例(instance) deleted 应用删除 $hw/events/deployment/+/deleted 容器应用(deployment) deleted 应用创建 $hw/events/deployment/+/created 容器应用(deployment) created 应用更新 $hw/events/deployment/+/updated 容器应用(deployment) updated 节点创建 $hw/events/edgeNode/+/created 边缘节点(edgeNode) created 节点更新 $hw/events/edgeNode/+/updated 边缘节点(edgeNode) updated 节点删除 $hw/events/edgeNode/+/deleted 边缘节点(edgeNode) deleted 节点上线 $hw/events/edgeNode/+/online 边缘节点(edgeNode) online 节点离线 $hw/events/edgeNode/+/offline 边缘节点(edgeNode) offline 设备创建 $hw/events/device/+/created 终端设备(device) created 设备更新 $hw/events/device/+/updated 终端设备(device) updated 设备删除 $hw/events/device/+/deleted 终端设备(device) deleted
  • 订阅后说明 创建系统订阅后,当有系统事件发生,在IEF控制台系统订阅列表中,会记录消息转发的次数。 图3 转发消息数 同时IEF会调用APIG中注册的API,请求消息体如下所示。请求消息体采用标准的CloudEvents格式,CloudEvents详细信息请参见这里。 { "data": { "event_type": "instance", "operation": "created", "timestamp": 134567677, "topic": "$hw/events/deployment/+/created", "name": "xxxx", "attributes": {"ID":"x"} }, "datacontenttype": "application/json", "source": "sysevents", "id": "xxxx", "time": "2020-11-5 xxx" } data:系统事件的数据。 event_type:资源类型,String类型。 operation:资源的操作类型,String类型。 topic:消息发送的Topic,String类型。 timestamp:事件产生的时间戳,Uint64类型。 name:资源名称,String类型。 attributes:资源的属性,删除资源时消息中无此参数,Object类型。 datacontenttype:系统事件数据内容的格式,String类型。 source:系统事件的来源,String类型。 id:系统事件ID,String类型。 time:系统事件产生时间,String类型。 当前支持的资源类型、操作和Topic如下表所示。 表2 支持订阅的事件 系统事件 Topic 资源类型 操作 实例创建 $hw/events/instance/+/created 应用实例(instance) created 实例更新 $hw/events/instance/+/updated 应用实例(instance) updated 实例删除 $hw/events/instance/+/deleted 应用实例(instance) deleted 应用删除 $hw/events/deployment/+/deleted 容器应用(deployment) deleted 应用创建 $hw/events/deployment/+/created 容器应用(deployment) created 应用更新 $hw/events/deployment/+/updated 容器应用(deployment) updated 节点创建 $hw/events/edgeNode/+/created 边缘节点(edgeNode) created 节点更新 $hw/events/edgeNode/+/updated 边缘节点(edgeNode) updated 节点删除 $hw/events/edgeNode/+/deleted 边缘节点(edgeNode) deleted 节点上线 $hw/events/edgeNode/+/online 边缘节点(edgeNode) online 节点离线 $hw/events/edgeNode/+/offline 边缘节点(edgeNode) offline 设备创建 $hw/events/device/+/created 终端设备(device) created 设备更新 $hw/events/device/+/updated 终端设备(device) updated 设备删除 $hw/events/device/+/deleted 终端设备(device) deleted
  • 支持订阅的事件 当前支持订阅如下事件。 表1 支持订阅的事件 系统事件 Topic 资源类型 操作 实例创建 $hw/events/instance/+/created 应用实例(instance) created 实例更新 $hw/events/instance/+/updated 应用实例(instance) updated 实例删除 $hw/events/instance/+/deleted 应用实例(instance) deleted 应用删除 $hw/events/deployment/+/deleted 容器应用(deployment) deleted 应用创建 $hw/events/deployment/+/created 容器应用(deployment) created 应用更新 $hw/events/deployment/+/updated 容器应用(deployment) updated 节点上线 $hw/events/edgeNode/+/online 边缘节点(edgeNode) online 节点离线 $hw/events/edgeNode/+/offline 边缘节点(edgeNode) offline
  • 订阅后说明 创建系统订阅后,当有系统事件发生,在IEF控制台系统订阅列表中,会记录消息转发的次数。 图3 转发消息数 同时IEF会调用APIG中注册的API,请求消息体如下所示。请求消息体采用标准的CloudEvents格式,CloudEvents详细信息请参见这里。 { "data": { "event_type": "instance", "operation": "created", "timestamp": 134567677, "topic": "$hw/events/deployment/+/created", "name": "xxxx", "attributes": {"ID":"x"} }, "datacontenttype": "application/json", "source": "sysevents", "id": "xxxx", "time": "2020-11-5 xxx" } data:系统事件的数据。 event_type:资源类型,String类型。 operation:资源的操作类型,String类型。 topic:消息发送的Topic,String类型。 timestamp:事件产生的时间戳,Uint64类型。 name:资源名称,String类型。 attributes:资源的属性,删除资源时消息中无此参数,Object类型。 datacontenttype:系统事件数据内容的格式,String类型。 source:系统事件的来源,String类型。 id:系统事件ID,String类型。 time:系统事件产生时间,String类型。 当前支持的资源类型、操作和Topic如表1所示。
  • 操作步骤 登录 CTS 管理控制台。 选择左侧导航栏的“事件列表”,进入事件列表页面。 事件记录了云资源的操作详情,设置筛选条件,单击“查询”。 当前事件列表支持四个维度的组合查询,详细信息如下: 事件类型、事件来源、资源类型和筛选类型。 在下拉框中选择查询条件。其中,“事件类型”选择“管理事件”,“事件来源”选择“IEF”。 图1 设置筛选条件 其中, 筛选类型选择“按资源ID”时,还需手动输入某个具体的资源ID,目前仅支持全字匹配模式的查询。 筛选类型选择“按资源名称”时,还需选择或手动输入某个具体的资源名称。 操作用户:在下拉框中选择某一具体的操作用户。 事件级别:可选项为“所有事件级别”、“Normal”、“Warning”、“Incident”,只可选择其中一项。 时间范围:可选项为“最近1小时”、“最近1天”、“最近1周”和“自定义时间段”,本示例选择“最近1周”。 在需要查看的事件左侧,单击图标展开该事件的详细信息。 图2 展开事件 在需要查看的事件右侧,单击“查看事件”,弹出一个窗口,显示了该操作事件结构的详细信息。 关于 云审计 事件结构的关键字段详解,请参见“事件结构”。
  • 操作步骤 登录CTS管理控制台。 选择左侧导航栏的“事件列表”,进入事件列表页面。 事件记录了云资源的操作详情,设置筛选条件,单击“查询”。 当前事件列表支持四个维度的组合查询,详细信息如下: 事件类型、事件来源、资源类型和筛选类型。 在下拉框中选择查询条件。其中,“事件类型”选择“管理事件”,“事件来源”选择“IEF”。 图1 设置筛选条件 其中, 筛选类型选择“按资源ID”时,还需手动输入某个具体的资源ID,目前仅支持全字匹配模式的查询。 筛选类型选择“按资源名称”时,还需选择或手动输入某个具体的资源名称。 操作用户:在下拉框中选择某一具体的操作用户。 事件级别:可选项为“所有事件级别”、“Normal”、“Warning”、“Incident”,只可选择其中一项。 时间范围:可选项为“最近1小时”、“最近1天”、“最近1周”和“自定义时间段”,本示例选择“最近1周”。 在需要查看的事件左侧,单击图标展开该事件的详细信息。 图2 展开事件 在需要查看的事件右侧,单击“查看事件”,弹出一个窗口,显示了该操作事件结构的详细信息。 关于云审计事件结构的关键字段详解,请参见“事件结构”。
  • 支持审计的关键操作列表 表1 云审计服务支持的IEF操作列表 操作名称 资源类型 事件名称 注册边缘节点 node createEdgeNode 更新边缘节点 node updateEdgeNode 删除边缘节点 node deleteEdgeNode 创建边缘节点组 group createEdgeGroup 更新边缘节点组 group updateEdgeGroup 删除边缘节点组 group deleteEdgeGroup 创建设备模板 deviceTemplate createDeviceTemplate 更新设备模板 deviceTemplate updateDeviceTemplate 删除设备模板 deviceTemplate deleteDeviceTemplate 注册设备 device createDevice 更新设备 device updateDevice 删除设备 device deleteDevice 部署Edge-Connector device deployConnector 更新设备孪生 device updateDeviceTwin 更新设备访问配置 device updateDeviceAccessConfig 创建应用模板 application createApplication 更新应用模板 application updateApplication 删除应用模板 application deleteApplication 创建应用模板版本 appVersion createAppVersion 更新应用模板版本 appVersion updateAppVersion 删除应用模板版本 appVersion deleteAppVersion 创建配置项 configmap createConfigMap 更新配置项 configmap updateConfigMap 删除配置项 configmap deleteConfigMap 创建容器应用 deployment createDeployment 更新容器应用 deployment updateDeployment 删除容器应用 deployment deleteDeployment 查询容器应用列表 deployment getDeploymentList 查询容器应用 deployment getDeployment 创建端点 endpoint createEndpoint 删除端点 endpoint deleteEndpoint 添加节点证书 node AddNodeCert 删除节点证书 node deleteNodeCert 升级固件 nodeFirmware UpgradeNodeFirmware 查询应用实例列表 Pods getPods 查询实例 Pod getPod 创建节点注册作业 product createProduct 删除节点注册作业 product deleteProduct 创建节点升级作业/创建应用部署作业/创建应用升级作业 batchJob createJob 停止节点升级作业/停止应用部署作业/停止应用升级作业 batchJob pauseJob 删除节点升级作业/删除应用部署作业/删除应用升级作业 batchJob deleteJob 恢复节点升级作业/恢复应用部署作业/恢复应用升级作业 batchJob restoreJob 重试节点升级作业/重试应用部署作业/重试应用升级作业 batchJob retryJob 查询配额 quota getQuota 更新配额 quota updateQuota 创建规则 rule createRule 删除规则 rule deleteRule 更新规则 rule updateRule 创建密钥 secret createSecret 更新密钥 secret updateSecret 删除密钥 secret deleteSecret 过滤标签 Tags filterTags 批量添加删除标签 Tags batchAddDeleteTags 添加标签 Tags addTag 删除标签 Tags deleteTag 绑定加密数据 encryptdata bindEncryptdata 创建加密数据 encryptdata createEncryptData 删除加密数据 encryptdata deleteEncryptData 解绑加密数据 encryptdata unbindEncryptdata 更新加密数据 encryptdata updateEncryptData 创建网关 gateway createGateway 创建虚拟服务 gateway createVirtualService 删除网关 gateway deleteGateway 删除虚拟服务 gateway deleteVirtualService 更新网关 gateway updateGateway 更新虚拟服务 gateway updateVirtualService 创建系统订阅 Systemevent createSystemevent 删除系统订阅 Systemevent DeleteSystemevent 启用系统订阅 Systemevent startSystemevent 停用系统订阅 Systemevent stopSystemevent
  • 支持审计的关键操作列表 表1 云审计服务支持的IEF操作列表 操作名称 资源类型 事件名称 注册边缘节点 node createEdgeNode 更新边缘节点 node updateEdgeNode 删除边缘节点 node deleteEdgeNode 创建设备模板 deviceTemplate createDeviceTemplate 更新设备模板 deviceTemplate updateDeviceTemplate 删除设备模板 deviceTemplate deleteDeviceTemplate 注册设备 device createDevice 更新设备 device updateDevice 删除设备 device deleteDevice 部署Edge-Connector device deployConnector 更新设备孪生 device updateDeviceTwin 更新设备访问配置 device updateDeviceAccessConfig 创建应用模板 application createApplication 更新应用模板 application updateApplication 删除应用模板 application deleteApplication 创建应用模板版本 appVersion createAppVersion 更新应用模板版本 appVersion updateAppVersion 删除应用模板版本 appVersion deleteAppVersion 创建配置项 configmap createConfigMap 更新配置项 configmap updateConfigMap 删除配置项 configmap deleteConfigMap 创建容器应用 deployment createDeployment 更新容器应用 deployment updateDeployment 删除容器应用 deployment deleteDeployment 查询容器应用列表 deployment getDeploymentList 查询容器应用 deployment getDeployment 创建端点 endpoint createEndpoint 删除端点 endpoint deleteEndpoint 添加节点证书 node AddNodeCert 删除节点证书 node deleteNodeCert 升级固件 nodeFirmware UpgradeNodeFirmware 查询应用实例列表 Pods getPods 查询实例 Pod getPod 创建节点注册作业 product createProduct 删除节点注册作业 product deleteProduct 创建节点升级作业 batchJob createJob 停止节点升级作业 batchJob pauseJob 删除节点升级作业 batchJob deleteJob 查询配额 quota getQuota 更新配额 quota updateQuota 创建规则 rule createRule 删除规则 rule deleteRule 更新规则 rule updateRule 创建密钥 secret createSecret 更新密钥 secret updateSecret 删除密钥 secret deleteSecret 过滤标签 Tags filterTags 批量添加删除标签 Tags batchAddDeleteTags 添加标签 Tags addTag 删除标签 Tags deleteTag 创建系统订阅 Systemevent createSystemevent 删除系统订阅 Systemevent DeleteSystemevent 启用系统订阅 Systemevent startSystemevent 停用系统订阅 Systemevent stopSystemevent
  • 操作场景 应用网格提供非侵入式的微服务治理解决方案,支持完整的生命周期管理和流量治理,支持负载均衡等多种治理能力。 应用网格中有如下概念: 服务:服务定义了实例及访问实例的途径。使用服务名称可以代替IP地址,从而实现节点上应用间的相互访问。 网关:网关可以将通过IEF部署的边缘应用暴露给外部应用访问,并能通过路由规则转发流量。 如下图所示,访问网关应用所在边缘节点的IP:网关端口/URI,就能将流量转发到对应的服务,再由服务转发到对应的后端应用实例。 图1 网关流量转发路径示意图 IEF 基于 KubeEdge 生态构建,将云原生容器化应用程序编排能力延伸到了边缘。但是,在边缘计算场景下,网络拓扑较为复杂,不同区域中的边缘节点往往网络不互通,并且应用之间流量的互通是业务的首要需求,IEF 兼容社区应用网格的能力,可以提供服务和网关元数据的下发。用户使用时,需要配合在边缘节点部署社区 EdgeMesh 应用,可参考:https://github.com/kubeedge/edgemesh/。 父主题: 应用网格
  • 示例流程 图1 给用户授权IEF权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予IEF只读权限“IEF ReadOnlyAccess”。为用户组授权时,作用范围选择“区域级项目”,然后根据以下原则设置: 在个别区域授权:选择指定的一个或多个项目,例如“cn-north-4 [华北-北京四]”。注意:此场景选择“所有项目”时,授权将不生效。 在所有区域授权:选择“所有项目”。 图2 在个别区域授权 图3 在所有区域授权 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1.创建用户组并授权中创建的用户组。 用户登录并验证权限。 新创建的用户登录控制台,验证IEF服务的管理员权限。
  • 示例 当用户名为test的时候,才可以使用该策略。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "ief:deployment:create", "ief:appVersion:update", "ief:deployment:update", "ief:application:create" ], "Condition": { "StringEquals": { "ief:AssumeUserName": [ "test" ] } }, "Resource": [ "ief:*:*:deployment:*", "ief:*:*:appVersion:*", "ief:*:*:application:*" ] } ] }
  • IEF资源 资源是服务中存在的对象。在IEF中,资源包括:product、node、group、deployment、batchjob、application、appVersion、IEFInstance,您可以在创建自定义策略时,通过指定资源路径来选择特定资源。 表1 IEF的指定资源与对应路径 指定资源 资源名称 资源路径 product 节点注册作业 IEF:*:*:product: node 边缘节点 IEF:*:*:node: group 边缘节点组 IEF:*:*:group: deployment 应用部署 IEF:*:*:deployment: batchjob 批量作业 IEF:*:*:batchjob: application 应用模板 IEF:*:*:application: appVersion 应用模板版本 IEF:*:*:appVersion: IEFInstance IEF实例 IEF:*:*:IEFInstance: 父主题: 权限管理
  • IEF自定义策略样例 授权用户创建、更新应用和应用模板的权限。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "ief:deployment:create", "ief:appVersion:update", "ief:deployment:update", "ief:application:create" ], "Condition": { "StringEquals": { "ief:AssumeUserName": [ "test" ] } }, "Resource": [ "ief:*:*:deployment:*", "ief:*:*:appVersion:*", "ief:*:*:application:*" ] } ] }
  • IEF自定义策略样例 授权用户创建、更新应用和应用模板的权限。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "ief:deployment:create", "ief:appVersion:update", "ief:deployment:update", "ief:application:create" ], "Condition": { "StringEquals": { "ief:AssumeUserName": [ "test" ] } }, "Resource": [ "ief:*:*:deployment:*", "ief:*:*:appVersion:*", "ief:*:*:application:*" ] } ] }
  • 发送消息 在边缘节点使用MQTT客户端发送消息。 此处需要放到创建消息路由中指定的Topic,如下图所示使用mosquitto_pub发送。 [root@ief-node ~]# mosquitto_pub -t '05e1aef9040010e22fccc009adecb056/nodes/7092ad14-adee-4a09-b969-1505bbdecef5/user/aaa' -d -m '{ "edgemsg": "msgToCloud"}' Client mosq-p5LouPQIW2gx0JPkRF sending CONNECT Client mosq-p5LouPQIW2gx0JPkRF received CONNACK (0) Client mosq-p5LouPQIW2gx0JPkRF sending PUBLISH (d0, q0, r0, m1, '05e1aef9040010e22fccc009adecb056/nodes/7092ad14-adee-4a09-b969-1505bbdecef5/user/aaa', ... (26 bytes)) Client mosq-p5LouPQIW2gx0JPkRF sending DISCONNECT 消息发送后,您可以在消息路由处看到已经成功转发一条消息,如下图所示。 图4 转发消息数 您可以在DIS界面看到有消息流入,如下图所示。 图5 DIS数据监控
  • 操作场景 IEF支持从边缘节点上报消息到云端。 您可以将消息发送到边缘节点SystemEventBus(MQTT broker)的自定义Topic中,IEF会将这些数据转发到DIS通道或APIG后端地址。数据转发到DIS通道或者APIG后端地址后,您可以提取这些数据,并对数据进行处理分析。 本章节使用DIS端点作为示例,APIG端点的使用方法类似,主要分如下几个步骤。 创建消息端点 购买DIS接入通道 创建消息路由 发送消息
  • 发送消息 在边缘节点使用MQTT客户端发送消息。 此处需要放到创建消息路由中指定的Topic,如下图所示使用mosquitto_pub发送。 [root@ief-node ~]# mosquitto_pub -t '05e1aef9040010e22fccc009adecb056/nodes/7092ad14-adee-4a09-b969-1505bbdecef5/user/aaa' -d -m '{ "edgemsg": "msgToCloud"}' Client mosq-p5LouPQIW2gx0JPkRF sending CONNECT Client mosq-p5LouPQIW2gx0JPkRF received CONNACK (0) Client mosq-p5LouPQIW2gx0JPkRF sending PUBLISH (d0, q0, r0, m1, '05e1aef9040010e22fccc009adecb056/nodes/7092ad14-adee-4a09-b969-1505bbdecef5/user/aaa', ... (26 bytes)) Client mosq-p5LouPQIW2gx0JPkRF sending DISCONNECT 消息发送后,您可以在消息路由处看到已经成功转发一条消息,如下图所示。 图4 转发消息数 您可以在DIS界面看到有消息流入,如下图所示。 图5 DIS数据监控
  • 操作场景 IEF支持从边缘节点上报消息到云端。 您可以将消息发送到边缘节点SystemEventBus(MQTT broker)的自定义Topic中,IEF会将这些数据转发到DIS通道或APIG后端地址。数据转发到DIS通道或者APIG后端地址后,您可以提取这些数据,并对数据进行处理分析。 本章节使用DIS端点作为示例,APIG端点的使用方法类似,主要分如下几个步骤。 创建消息端点 购买DIS接入通道 创建消息路由 发送消息
  • 创建铂金版服务实例 登录IEF管理控制台。 选择左侧导航栏的“总览”,单击页面右上角的“创建铂金版服务实例”。 配置参数。 区域:选择服务实例所在区域。不同的区域之间服务实例不互通,建议您选择最靠近您业务的区域,这样可以减少网络时延、提高访问速度。 实例名称:填写实例名称。 终端节点服务白名单:输入需要添加至白名单的用户domainID。 边云接入方式:当前支持“互联网接入”和“专线接入”。专线连接IEF的具体方法请参见通过专线或VPN连接IEF。 边缘节点规模:选择服务实例能管理的边缘节点规模。当前支持选择50、200、1000节点。 接入带宽:接入方式为“互联网接入”时,根据边缘节点规模,分别对应为5Mbit/s、10Mbit/s、30Mbit/s。“专线接入”的带宽由专线决定。 高级设置:多可用区部署,即铂金版服务实例部署在多个可用区,支持多可用区容灾,但是对于集群性能有所损耗。 单击“下一步”。 确认订单详情,单击“创建”。 服务实例创建需要20-30分钟,您可以在服务实例列表的“详情”中查看状态。 在“总览”页面可以查看到铂金版服务实例的信息。 图1 查看实例信息
  • HTTP请求检查 向容器发送HTTP GET请求,如果探针收到2xx或3xx,说明容器是健康的。 例如下图这个配置,IEF会在容器启动10秒(延迟时间)后,发送HTTP GET请求到“http://{实例IP}/healthz:8080”,如果在2秒(超时时间)内没有响应则视为检查失败;如果请求响应的状态码为2xx或3xx,则说明容器是健康的。 这里无需填写主机地址,默认直接使用实例的IP(即往容器发送请求),除非您有特殊需求。 图1 HTTP请求检查
  • HTTP请求检查 向容器发送HTTP GET请求,如果探针收到2xx或3xx,说明容器是健康的。 例如下图这个配置,IEF会在容器启动10秒(延迟时间)后,发送HTTP GET请求到“http://{实例IP}/healthz:8080”,如果在2秒(超时时间)内没有响应则视为检查失败;如果请求响应的状态码为2xx或3xx,则说明容器是健康的。 这里无需填写主机地址,默认直接使用实例的IP(即往容器发送请求),除非您有特殊需求。 图1 HTTP请求检查
  • 示例 节点告警 { "alarmName": "测试##test", "alarmId": "73ccbccce05de74f9d3dda42f6ecfe20", "detailedInformation": "测试##test", "url": "", "source": "IEF", "cleared": false, "policyID": "", "perceivedSeverity": 4, "resourceId": { "namespace": "PAAS.NODE", "dimension": { "clusterId": "e277befa37a64ed1aa25b522e686bc28", "nameSpace": "default", "nodeIP": "192.168.0.164" } }, "neType": "Host", "eventType": 23 } 应用告警 { "alarmName": "应用重启test##Application restart", "alarmId": "b09076ff565c59d4da0db0c9223781", "detailedInformation": "应用重启 test##Application restart test", "url": "", "source": "IEF", "cleared": false, "policyID": "", "perceivedSeverity": 3, "resourceId": { "namespace": "PAAS.CONTAINER", "dimension": { "containerName": "container-e991acd3-864c-4038-8a90-e042eebab496", "containerID": "70b385315c8ac507b3de7dfe1258932cea0b53a850b7d030ce7ed0a55c47877c", "podID": "0e9ce4fd-b732-11e9-8a30-fa163e9b3546", "podName": "hxkapp1-7898f5bd4b-2lj8z" } }, "neType": "Application", "eventType": 23 }
  • alarmId生成方法 alarmId可以不使用本方法生成,只要保证唯一就可以。 使用{projectId}_{产生告警的服务名}_{维度信息}_{指标名称}_{告警类型}_{规则信息}生成md5值。 其中: projectId:项目ID,获取方式请参见获取项目ID。 维度信息: 节点信息:{clusterId}_{namespace}_{ip} 容器信息:{clusterId}_{namespace}_{appName}_{podName}_{containerId} 应用信息:{clusterId}_{namespace}_{appName} 告警类型: 21:动态阈值告警 22:批量阈值告警 23:阈值告警 24:系统类告警 25:新增/删除探针 26:agent安装类告警 规则信息:阈值规则的告警使用阈值规则名称;业务自己触发的告警(没有规则)则填写NA。动态阈值的则填写policyId。
  • 参数说明 参数 类型 说明 alarmName String 告警名称,需要支持中英文两个版本,格式为“中文##English”。 alarmId String 告警ID,需要保证为唯一值。可以参考alarmId生成方法。 detailedInformation String 告警描述,需要支持中英文两个版本,格式为“中文##English”。 url String 根因分析跳转入口,如果没有则填空。 source String 告警源,只能是由大小写字母组成的字符串。 cleared Boolean 清除告警标示。 true:表示上报的告警已经清除。 false:表示需要手动清除。 policyID String 告警的规则ID,阈值规则填写ruleId,没有则填写空。 objectInstance String 定位信息,如果没传此字段,则该字段默认取alarmId的值。 perceivedSeverity Integer 告警级别 1:紧急 2:重要 3:次要 4:提示 resourceId Object 告警信息,具体请参见表1。 neType String 产生告警的资源的类型 Application(应用) DB(数据库) Host(主机) eventType Integer 告警类型 21:动态阈值告警 22:批量阈值告警 23:阈值告警 24:系统类告警 25:新增/删除探针 26:agent安装类告警 27:配额超限类告警 probableCause String 可能原因 proposedRepairActions String 修复建议 表1 resourceId 参数 类型 说明 namespace String 资源类型,有如下几种指标 PAAS.CONTAINER表示容器指标 PAAS.NODE表示节点指标 dimension Object 维度信息,用于跟监控上报的节点应用信息关联起来。具体请参见表2。 目前涉及到告警主要是节点和应用两种类型,所以只需要关注节点和应用这两种维度。 应用维度可以细分为服务、实例、容器和进程,这四个维度可以选择一个或多个上报。 服务维度需要上报:clusterId、nameSpace和serviceID 实例维度需要上报:podID和podName 容器维度需要上报:containerID和containerName 进程维度需要上报:processID和processName 表2 Dimension 参数 类型 说明 clusterId String 项目ID,获取方式请参见获取项目ID。 nameSpace String 默认为default。 nodeIP String 节点IP。 serviceID String 服务ID。 容器应用为{projectId}_{hostid}_{appName}的md5值。 进程应用为{projectId}_{hostid}_{进程名}_{进程pid}的md5值。 processID定义方式:md5({projectId})_{hostid}_md5({进程名})_{进程pid}。 md5(projectId) 表示求projectId的md5值,md5({进程名})表示求进程名的md5值 这些维度信息需要与监控上报的维度信息一致,不一致会导致无法关联到对应的资源。 podID String 实例ID。 podName String 实例名称。 containerID String 容器ID。 containerName String 容器名称。 processID String 进程ID。 processName String 进程名称。 Application String 应用名称。
  • 参数说明 参数 类型 说明 alarmName String 告警名称,需要支持中英文两个版本,格式为“中文##English”。 alarmId String 告警ID,需要保证为唯一值。可以参考alarmId生成方法。 detailedInformation String 告警描述,需要支持中英文两个版本,格式为“中文##English”。 url String 根因分析跳转入口,如果没有则填空。 source String 告警源,只能是由大小写字母组成的字符串。 cleared Boolean 清除告警标示。 true:表示上报的告警已经清除。 false:表示需要手动清除。 policyID String 告警的规则ID,阈值规则填写ruleId,没有则填写空。 objectInstance String 定位信息,如果没传此字段,则该字段默认取alarmId的值。 perceivedSeverity Integer 告警级别 1:紧急 2:重要 3:次要 4:提示 resourceId Object 告警信息,具体请参见表1。 neType String 产生告警的资源的类型 Application(应用) DB(数据库) Host(主机) eventType Integer 告警类型 21:动态阈值告警 22:批量阈值告警 23:阈值告警 24:系统类告警 25:新增/删除探针 26:agent安装类告警 27:配额超限类告警 probableCause String 可能原因 proposedRepairActions String 修复建议 表1 resourceId 参数 类型 说明 namespace String 资源类型,有如下几种指标 PAAS.CONTAINER表示容器指标 PAAS.NODE表示节点指标 dimension Object 维度信息,用于跟监控上报的节点应用信息关联起来。具体请参见表2。 目前涉及到告警主要是节点和应用两种类型,所以只需要关注节点和应用这两种维度。 应用维度可以细分为服务、实例、容器和进程,这四个维度可以选择一个或多个上报。 服务维度需要上报:clusterId、nameSpace和serviceID 实例维度需要上报:podID和podName 容器维度需要上报:containerID和containerName 进程维度需要上报:processID和processName 表2 Dimension 参数 类型 说明 clusterId String 项目ID,获取方式请参见获取项目ID。 nameSpace String 默认为default。 nodeIP String 节点IP。 serviceID String 服务ID。 容器应用为{projectId}_{hostid}_{appName}的md5值。 进程应用为{projectId}_{hostid}_{进程名}_{进程pid}的md5值。 processID定义方式:md5({projectId})_{hostid}_md5({进程名})_{进程pid}。 md5(projectId) 表示求projectId的md5值,md5({进程名})表示求进程名的md5值 这些维度信息需要与监控上报的维度信息一致,不一致会导致无法关联到对应的资源。 podID String 实例ID。 podName String 实例名称。 containerID String 容器ID。 containerName String 容器名称。 processID String 进程ID。 processName String 进程名称。 Application String 应用名称。
  • alarmId生成方法 alarmId可以不使用本方法生成,只要保证唯一就可以。 使用{projectId}_{产生告警的服务名}_{维度信息}_{指标名称}_{告警类型}_{规则信息}生成md5值。 其中: projectId:项目ID,获取方式请参见获取项目ID。 维度信息: 节点信息:{clusterId}_{namespace}_{ip} 容器信息:{clusterId}_{namespace}_{appName}_{podName}_{containerId} 应用信息:{clusterId}_{namespace}_{appName} 告警类型: 21:动态阈值告警 22:批量阈值告警 23:阈值告警 24:系统类告警 25:新增/删除探针 26:agent安装类告警 规则信息:阈值规则的告警使用阈值规则名称;业务自己触发的告警(没有规则)则填写NA。动态阈值的则填写policyId。
共100000条