有奖捉虫:行业应用 & 管理与支持文档专题 HOT

排障概述

本文主要介绍使用 TSE 北极星网格进行排障的基础思路和操作步骤,方便运维人员在使用 TSE 北极星网格的过程中进行问题定位和处理。
当您的客户端访问 TSE 北极星网格报错时,可以查看北极星网格的监控,初步定位发生了什么错误。

1. 找到报错的接口

首先根据客户端的日志,定位到访问的是北极星的哪一个接口。然后进入北极星的监控页面,选择具体的接口,查看监控。如下图,选择左边的 运行监控 ,在上方红框的下拉列表中选择您需要查看的接口。


目前 TSE 北极星网格监控告警系统支持的接口如下表:
接口名
接口解释
POST:/eureka/apps/{application}
eureka 客户端服务实例注册
GET:/eureka/apps
eureka 客户端查询全量服务实例
GET:/eureka/apps/delta
eureka 客户端增量拉取服务实例
GET:/eureka/apps/{application}
eureka 客户端查询某个服务全部实例
GET:/eureka/apps/{application}/{instanceid}
eureka 客户端查询某个服务下的某个实例
PUT:/eureka/apps/{application}/{instanceid}
eureka 客户端服务实例心跳上报
DELETE:/eureka/apps/{application}/{instanceid}
eureka 客户端服务实例反注册
PUT:/eureka/apps/{application}/{instanceid}/status
eureka 客户端服务实例状态变更
DELETE:/eureka/apps/{application}/{instanceid}/status
eureka 客户端删除服务实例变更
/v1.PolarisGRPC/RegisterInstance
grpc 客户端服务实例注册
/v1.PolarisGRPC/DeregisterInstance
grpc 客户端服务实例反注册
/v1.PolarisGRPC/Heartbeat
grpc 客户端服务实例心跳上报
/v1.PolarisGRPC/Discover
grpc 客户端服务发现
例如使用下面的命令请求北极星,访问 eureka 接口注册实例。
curl -v -X POST -H "Accept: application/json" -H "Content-type: text/plain" http://{$polaris_ip}:8761/eureka/apps/test -d '{"instance":{"instanceId":"test-1","securePort":{"$":"0","@enabled":"false"},"ipAddr":"{$client_ip}}","status":"UP","port":{"$":"{$client_port}}","@enabled":"true"},"hostName":"{$client_ip}"}}'
可以在监控页面,选择接口 POST:/eureka/apps/{application} ,看到这个请求的监控信息。

2. 根据监控信息定位问题

根据监控信息中的 请求失败细分 分组,可以初步定位报错的原因,目前包含以下错误类型:
其他错误:即 TSE 北极星网格服务返回的错误码为 4XX 的错误,这类错误是入参校验失败,您需要检查您传入的参数和 http header 是否正确。如果您使用非 eureka 的方式接入,且打印了 TSE 北极星网格服务返回的日志,可以检查日志,TSE 北极星网格返回包中带了入参校验失败的原因。
系统错误:即 TSE 北极星网格服务返回的错误码为 5XX 的错误,出现这类错误表明 TSE 北极星网格出现了异常,您需要提工单,联系腾讯云工程师解决。
网络错误:即 TSE 北极星网格服务返回的错误码为 负数 的错误。典型的场景是在 TSE 北极星网格接收客户端数据后,向客户端写数据时,客户端断开了连接,会产生这类错误。您需要检查下您的代码逻辑,是否提前关闭了连接。