更新时间:2023-03-07 GMT+08:00

查看告警信息

BCS服务自身提供运维监控能力,技术支持工程师可以通过BCS查看告警信息。告警源包括BCS和CCE,常见告警参见表1

建议根据下表做初步筛查,如仍无法消除告警,请联系技术支持人员。

对于告警源为CCE的告警,若BCS服务相关实例状态正常,且业务正常,则请参考进行排查。

表1 BCS服务常见告警

告警名称

告警源

处理建议

节点连接排序节点失败

BCS

节点连接排序节点失败,可能原因有:

  • 短暂的网络波动导致peer节点与orderer节点通信失败。
  • Orderer节点本身状态异常。

如果是由于短暂的网络波动,那么该告警会在几分钟内自动停止并自动清除。

如果该告警持续存在,未能在若干分钟后清除,那么可能节点与排序节点的连接已经断开,此时请根据以下步骤进行排查:

  1. 登录区块链服务管理控制台,在左侧导航栏单击“实例管理”,单击实例名称进入实例详情页。
  2. 在“监控”页签下的活动告警中,从“资源名称”中获取name的值。
    图1 查看失败节点的name
  3. 登录实例所在CCE集群下的所有节点(节点需绑定弹性IP),执行“docker ps |grep name”命令(如下图所示),查询到的前缀为k8s_peer(如果查询的是orderer则是k8s_orderer)的容器即为触发告警的容器,最前方为对应的容器ID。
    图2 查看回显结果
    说明:

    登录实例所在CCE集群下节点的方法可参考后台虚拟机查看运维日志

  4. 查看容器是否正常。
  5. 若orderer节点异常,可以尝试使用“docker restart 容器ID”命令重启节点。
  6. 如果上述步骤没能帮助您解决该问题,请进入AOM页面下的“日志 > 日志文件”页签,下载发出告警的实例集群上的Peer和Orderer日志文件到本地,联系并提供给技术支持工程师进行处理。

节点访问数据库失败

BCS

节点在访问状态数据库文件时产生异常,可能原因有:

  • 状态数据库文件损坏或丢失。
  • 状态数据库挂载的存储服务被删除。

处理方法如下:

  1. 登录区块链服务管理控制台,在左侧导航栏单击“实例管理”,单击实例名称进入实例详情页。
  2. 先单击容器集群进入云容器引擎控制台,进入集群管理页面,单击BCS实例对应集群的名称进入集群信息页面,在“容器存储”页面查看BCS实例对应集群下绑定的peer的存储服务是否存在且正常。
    • 若存储服务不存在或不正常,请创建新的存储服务并重新绑定到BCS实例。
    • 若存储服务存在且正常,请根据下面的步骤处理。
  3. 在“监控”页签下的活动告警中,从“资源名称”中获取name的值。
    图3 查看访问数据库失败节点的name
  4. 单击告警条目,根据告警信息定位发出告警的集群信息(clusterID),以及告警的容器名称(name)。
  5. 进入相应的云容器引擎的“容器存储”页面,根据集群信息筛选查看实例相对应的数据库存储服务是否存在。

    若不存在,请根据CCE存储管理的存储卷创建方法,创建相应的存储卷并进行关联。

  6. 登录实例所在CCE集群下的所有节点(节点需绑定弹性IP),执行“docker ps |grep name”命令(如下图所示),查询到的前缀为k8s_peer(如果查询的是orderer则是k8s_orderer)的容器即为触发告警的容器,最前方为对应的容器ID。
    图4 查看命令回显结果
    说明:

    登录实例所在CCE集群下节点的方法可参考后台虚拟机查看运维日志

  7. 使用“docker exec -it 容器ID bash”进入相应的容器。
  8. 使用“find / -name production”命令,进入查找到的路径(路径如下图)。
    图5 查看路径信息

    进入上述路径后查看ledgersData/stateLeveldb/路径下的CURRENT、LOG以及MANIFEST-000****文件是否存在。若不存在可尝试使用“docker restart 容器ID”命令重启Peer容器。

  9. 如果上述步骤没能帮助您解决该问题,请进入AOM页面下的“日志 > 日志文件”页签,下载发出告警的实例集群上的Peer和Orderer日志文件到本地,联系并提供给技术支持工程师进行处理。

Peer节点磁盘空间不足

BCS

Peer节点磁盘空间不足,需扩容。扩容方法如下:

  1. 登录区块链服务管理控制台,在左侧导航栏单击“实例管理”,单击实例名称进入实例详情页。
  2. 在“监控”页签下的活动告警中,从“资源名称”中获取uid的值。
    图6 查看uid
  3. 登录实例所在CCE集群下的所有节点(节点需绑定弹性IP),分别执行“docker ps”命令,直到找到CONTAINER ID对应的NAMES值,CONTAINER ID值为上一步获取的uid的前12位。
    图7 查看节点回显结果
    假设NAMES值为“k8s_peer_peer-b738403d592c78f5463a8ccf24b4f7f8cc83d07a-0_default_b28328a1-8d7d-4686-8b4f-dd4333e2b400_0”,则对应的节点名称为“peer_peer-b738403d592c78f5463a8ccf24b4f7f8cc83d07a-0”。
    说明:

    登录实例所在CCE集群下节点的方法可参考后台虚拟机查看运维日志

  4. 在BCS实例详情页,单击“更多信息 > 网络存储”,获取节点名称对应的文件存储卷PVC名称。
  5. 登录CCE控制台,在左侧导航栏单击“资源管理 > 存储管理”。
  6. 在“极速文件存储卷”页签下,选择BCS实例所在集群,单击PVC名称所在行的“扩容”进行磁盘空间扩容操作。

Orderer节点磁盘空间不足

BCS

Orderer节点磁盘空间不足,需扩容。扩容方法如下:

  1. 登录区块链服务管理控制台,在左侧导航栏单击“实例管理”,单击实例名称进入实例详情页。
  2. 在“监控”页签下的活动告警中,从“资源名称”中获取uid的值。
    图8 查看Orderer节点的uid
  3. 登录BCS实例所在CCE集群下的所有节点(节点需绑定弹性IP),分别执行“docker ps”命令,直到找到CONTAINER ID对应的NAMES值,CONTAINER ID值为上一步获取的uid的前12位。
    图9 查看NAMES值
    假设NAMES值为“k8s_orderer_orderer-759ca9423d9805ed7b9b4aa274e54a2481aaaaa5-0_default_2827a84a-dfbd-49b0-a96e-9a73b0c65a32_0”,则对应的节点名称为“orderer_orderer-759ca9423d9805ed7b9b4aa274e54a2481aaaaa5-0”。
    说明:

    登录实例所在CCE集群下节点的方法可参考后台虚拟机查看运维日志

  4. 在BCS实例详情页,单击“更多信息 > 网络存储”,获取节点名称对应的文件存储卷PVC名称。
  5. 登录CCE控制台,在左侧导航栏单击“资源管理 > 存储管理”。
  6. 在“极速文件存储卷”页签下,选择BCS实例所在集群,单击PVC名称所在行的“扩容”进行磁盘空间扩容操作。

拉取镜像失败

CCE

镜像地址有误,如某些局点插件中配置的镜像地址错误、镜像仓库配置的权限有误。

大并发拉取镜像的时候,有概率失败,重试后如能拉取成功,则告警会清除。

拉取镜像重试失败

CCE

镜像地址有误,如某些局点插件中配置的镜像地址错误、镜像仓库配置的权限有误。修改地址重试后如能拉取成功,则告警会清除。

创建失败

CCE

请关注baas-agent、peer、orderer的Pod状态。

排查点:

  1. 判断容器资源分配是否正确:

    登录CCE控制台,单击左侧导航栏“工作负载 > 无状态负载 Deployment”或“工作负载 > 有状态负载 StatefulSet”,单击负载名称进入负载详情页,在“实例列表”页签中查看CPU申请量和内存申请量。

  2. 判断节点资源是否充足:

    登录CCE控制台,单击左侧导航栏的“资源管理 > 节点管理”,在“可分配资源”列中,查看实例所在节点的可分配CPU和可分配内存的大小。

启动重试失败

CCE

请关注baas-agent、peer、orderer的Pod状态。

排查点:

  1. 判断容器资源分配是否正确:

    登录CCE控制台,单击左侧导航栏“工作负载 > 无状态负载 Deployment”或“工作负载 > 有状态负载 StatefulSet”,单击负载名称进入负载详情页,在“实例列表”页签中查看CPU申请量和内存申请量。

  2. 判断节点资源是否充足:

    登录CCE控制台,单击左侧导航栏的“资源管理 > 节点管理”,在“可分配资源”列中,查看实例所在节点的可分配CPU和可分配内存的大小。

状态异常

CCE

请关注baas-agent、peer、orderer的Pod状态。

排查点:

查看健康检查是否失败:登录CCE控制台,单击左侧导航栏“工作负载 > 无状态负载 Deployment”或“工作负载 > 有状态负载 StatefulSet”,单击负载名称进入负载详情页,查看“更新升级 > 高级设置 > 健康检查”中的信息。

调度失败

CCE

请关注baas-agent、peer、orderer的Pod状态。

排查点:

  1. 判断节点资源是否充足:登录CCE控制台,单击左侧导航栏的“资源管理 > 节点管理”,在“可分配资源”列中,查看实例所在节点的可分配CPU和可分配内存的大小。
  2. 判断Pod调度策略是否正确:登录CCE控制台,单击左侧导航栏“工作负载 > 无状态负载 Deployment”或“工作负载 > 有状态负载 StatefulSet”,单击负载名称进入负载详情页,查看“调度策略 > 自定义调度策略”。
说明:

CoreDNS插件是一款通过链式插件的方式为Kubernetes提供域名解析服务的DNS服务器。CoreDNS正常运行需要集群中至少有两个节点。因此当BCS实例所在集群中节点数量小于2个时,会频繁出现“调度失败”告警,不影响BCS功能使用。

判断方法:

  1. 登录区块链服务管理控制台。
  2. 在左侧导航栏,单击“实例管理”。
  3. 单击实例名称进入实例的详情页。
  4. 进入“监控”页签,单击告警所在行的“资源名称”列,查看name的值,若name值为“coredns-”开头,则该告警为无需处理。

节点重启

CCE

节点发生过重启。如果该节点上部署了baas-agent、peer、orderer服务,则排查对应Pod状态是否异常。如果该节点上未部署上述服务则对BCS实例无影响。

排查点:

  1. 是否由于人为操作(关机、重启等)导致重启。
  2. 是否由于节点资源过载导致重启:登录AOM控制台,单击左侧导航栏的“监控 > 主机监控”,查看CPU使用率和内存使用率。

节点状态异常

CCE

如果该节点上部署了baas-agent、peer、orderer服务,则需恢复节点状态或迁移服务到其它节点。

排查点:

  1. 判断节点资源是否充足:登录CCE控制台,单击左侧导航栏的“资源管理 > 节点管理”,在“可分配资源”列中,查看实例所在节点的可分配CPU和可分配内存的大小。
  2. 重启节点。
  3. 重置节点:登录CCE控制台,在左侧导航栏中选择“资源管理 > 节点管理”,单击节点后的“更多 > 重置节点”。

节点内存资源告警

BCS

节点虚机内存使用率超过80%,可能原因有:

  1. 短时间交易请求过多。
  2. 容器所在节点内存资源规格与实例规格不匹配。

排查点:

  1. 登录区块链服务管理控制台。在左侧导航栏,单击“实例管理”。
  2. 单击实例名称进入实例详情页。
  3. 在“监控”页签下的活动告警中,从“资源名称”中获取name的值。
    图10 查看节点的name值
  4. 登录云容器引擎控制,找到告警容器所在的集群节点。在“资源管理-节点管理”页面单击节点名称进入节点管理详情页面,再次单击节点名称进入弹性云服务器页面。
  5. 在弹性云服务器页面,先将云服务关机,再单击选择“更多 > 变更规格 ”,在新打开的云服务器变更规格页面,根据情况选择合适的内存规格。

节点内存使用率过高

BCS

节点虚机内存使用率超过90%,可能原因有:

  1. 短时间交易请求过多。
  2. 容器所在节点内存资源规格与实例规格不匹配。

排查点:

  1. 登录区块链服务管理控制台。在左侧导航栏,单击“实例管理”。
  2. 单击实例名称进入实例详情页。
  3. 在“监控”页签下的活动告警中,从“资源名称”中获取name的值。
    图11 查看name的值
  4. 登录云容器引擎控制,找到告警容器所在的集群节点。在“资源管理-节点管理”页面单击节点名称进入节点管理详情页面, 再次单击节点名称进入弹性云服务器页面。
    图12 节点管理详情页面
  5. 在弹性云服务器页面,先将云服务关机,再单击选择“更多 > 变更规格 ”,在新打开的云服务器变更规格页面,根据情况选择合适的内存规格。
    图13 变更规格

查看告警

  1. 登录区块链服务管理控制台。
  2. 在左侧导航栏,单击“实例管理”,可查看已创建实例的基本信息,包括区块链的类型、共识策略、状态、创建时间等信息。
  3. 在实例卡片上单击区块链名称,可查看区块链实例的详细信息。
  4. 单击“监控”页签,可查看告警信息。这里展示的是与该区块链实例相关的告警,告警源包括BCS和CCE。在右上角可以选择查看“近30分钟”、“近1小时”或“近1天”的告警,也可以输入告警名称搜索告警。
  1. 单击告警名称,例如“节点连接排序节点告警”,查看告警详情。告警源包括BCS和CCE,告警处理建议参见表1