【问题标题】:Kubernetes Dashboard by Request ID按请求 ID 显示的 Kubernetes 仪表板
【发布时间】:2023-02-05 23:15:43
【问题描述】:
我有几个应用程序作为微服务部署在 AWS EKS 上。
它们还部署在不同的 AWS 账户中并且相互依赖。
我想要某种仪表板,它可以说明在跨越 10 个不同微服务的长请求流中请求失败的确切位置(m1 调用 m2 等等,直到 m5 并说 1 个请求在 m2 和另一个在 m4 失败,我想请参阅一个仪表板,该仪表板显示此流程因每个请求而中断的位置)。
我怎样才能获得这个仪表板?
【问题讨论】:
标签:
amazon-web-services
kubernetes
dashboard
【解决方案1】:
要涵盖您在这里提到的场景,首先要确保有一个集中的日志记录。我使用过 Elk,发现它可以很好地覆盖来自多个服务的日志,并且它带有一个很好的仪表板视图来调试日志。
您可以为微服务中的日志设置不同的源类型,以便在调试时进行区分。使用类似于请求 ID 的东西,它流经请求在路径中命中的所有 10 个不同服务。这将使识别更容易,还有其他方法可以处理它,但对于流程新手来说可以更快地调试
可以使用filebeat从每ms产生的日志文件中将不同日志级别的日志推送到elk。
Kibana 仪表板非常适合监控,并带有多个搜索选项,如 http 状态代码 500 一样基本,它会直接给出所有内部服务器错误。
为了改进进一步的监控,请使用警报、图表来获取触发器。