【问题标题】:Measuring 40x and 50x errors on a K8s service endpoint with Prometheus?使用 Prometheus 在 K8s 服务端点上测量 40 倍和 50 倍的错误?
【发布时间】:2021-09-19 09:49:45
【问题描述】:

知道如何解决这个问题,在谷歌上找不到太多明确的信息,以测量我的服务端点上的错误(40 倍和 50 倍)。我的服务已启动,当我删除 pod 只是为了进行测试时,我可以在黑盒指标中看到 prometheus 获取和错误,但未指定为 40x 类型或 50x。

编辑 1:

  • 是的,我已经设置了我的集群,在这个阶段是实验性的,我已经在 VirtualBox+Vagrant+K3s 上设置了它。我创建了两个简单的服务,一个前端一个后端,并配置 prometheus Jobs 来发现服务并通过 Blackbox 监视器探测它们的正常运行时间。我的目标是以某种方式在 grafana 仪表板上获得一些指标,以衡量一段时间内对这些服务的所有请求的 40 倍或 50 倍错误的数量。目前我的想法是测量 2xx 的数量并仅报告非 2xx 状态代码,但这将包括比 40x 和 50x 更多的错误/状态。

Prometheus 部署为 helm 堆栈,与 Blackbox 监视器相同。一切都部署在默认命名空间上,因为在这个阶段只是为了测试如何实现这个目标。

【问题讨论】:

  • 嗨@NesimPllana,您需要提供更多详细信息。您是如何设置集群的?您使用的是裸机还是某些云提供商?这些错误是什么样的?请附上它们。您在集群上部署了什么以及如何部署。你是如何配置 Prometheus 和集群的?
  • @MikołajGłodziak 感谢您的回复,请阅读上面的编辑。

标签: kubernetes devops prometheus monitoring grafana


【解决方案1】:

基于this topic:

Kubernetes 中的服务有点像负载平衡器——它们只是将请求路由到底层 pod。 pod 本身实际上包含执行工作并返回状态代码的应用程序。 您不监控 Kubernetes 服务 per-se 的 4xx 或 5xx 错误,您需要监控底层应用程序本身。

因此,您需要创建一个架构来监控您的应用程序。 Prometheus 只收集指标并从中制作图表,它本身并不处理任何事情。指标必须由应用程序公开。 Here 你可以找到主题——使用 Prometheus 进行 Kubernetes 监控,终极指南。非常全面,完美地解释了如何监控应用程序。对你来说,最有趣的部分应该是How to monitor a Kubernetes service with Prometheus。您还可以找到Prometheus Operator Tutorial。它可以帮助您对 Prometheus、Alertmanager 和 Grafana 进行自动化部署。

安装完所有内容后,您就可以收集指标了。使用lables 是一种很好的做法。这使您可以轻松区分来自应用程序的不同响应代码。

例如,创建一个名为 http_responses_total 的单个指标,而不是 http_responses_500_totalhttp_responses_403_total,并为 HTTP 响应代码添加一个 code 标签。然后,您可以将整个指标作为规则和图表中的一个来处理。

【讨论】:

    猜你喜欢
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 2017-01-22
    • 2015-06-08
    相关资源
    最近更新 更多