Grafana持续上报/api/live/ws端点401错误求助
Grafana 重复401错误及告警问题分析
日志关联确认
前两条日志是直接关联的:
/api/live/ws是Grafana Live的WebSocket端点,用于实时推送告警通知、面板更新这类内容- 未授权请求访问该端点时,Grafana会先尝试通过cookie查找用户,找不到就抛出
user token not found错误,最终返回401状态码 userId=0和orgId=0是Grafana给未认证请求的默认占位值,不是真实存在的用户/组织,不用纠结找不到这个ID的问题
持续访问的原因(请求来自集群节点)
请求来源是集群内部节点,大概率是以下情况:
- Traefik健康检查配置错误:如果Traefik把
/api/live/ws设成了Grafana的健康检查端点,就会每分钟发起请求。Traefik默认健康检查路径是/,但如果自定义配置时误设成这个WebSocket端点就会触发。 - Kubernetes探针配置错误:Grafana Deployment的Liveness/Readiness探针如果把
/api/live/ws当成了探测路径,会周期性发起未认证请求。 - 告警模块(ngalert)异常:你偶尔看到的
unable to fetch orgIds context canceled错误,是告警模块请求被中断时的报错,可能是告警模块配置问题,导致它重复发起未授权的Live连接请求,和持续的401请求是同一根源。
排查解决步骤
- 检查Traefik路由配置:查看Grafana对应的Ingress/IngressRoute,确认健康检查路径是
/或/api/health,而非/api/live/ws。比如Ingress的traefik.ingress.kubernetes.io/healthcheck-path注解,IngressRoute的healthCheck字段。 - 检查Kubernetes探针:查看Grafana Deployment的Liveness/Readiness探针配置,确保
httpGet.path是/api/health或/,不要指向WebSocket端点。 - 验证Grafana Live配置:在
grafana.ini的[live]部分,若不需要Live功能,可临时设enabled = false,看是否还会有重复请求;若需要,检查是否有内部组件错误订阅了Live通道。 - 检查告警模块配置:确认ngalert的通知配置是否携带了正确的认证信息,避免未授权请求触发Live连接。
内容的提问来源于stack exchange,提问作者Tom Burton
相关产品推荐
相关产品推荐

