Home avatar

蜷缩的蜗牛

专注云原生运维

Prometheus Operator 常用指标

Prometheus Operator 安装完成后会有很多默认的监控指标,一不注意就大量的报警产生,所以我们非常有必要了解下这些常用的监控指标,有部分指标很有可能对于我们自己的业务可有可无,所以可以适当的进行修改,这里我们就来对常用的几个指标进行简单的说明。

1. Kubernetes 资源相关

1.1 CPUThrottlingHigh

关于 CPU 的 limit 合理性指标。查出最近5分钟,超过25%的 CPU 执行周期受到限制的容器。表达式:

1
2
3
4
sum(increase(container_cpu_cfs_throttled_periods_total{container!="", }[5m])) by (container, pod, namespace)
          /
sum(increase(container_cpu_cfs_periods_total{}[5m])) by (container, pod, namespace)
          > ( 25 / 100 )

相关指标:

    • container_cpu_cfs_periods_total:容器生命周期中度过的 cpu 周期总数
  • container_cpu_cfs_throttled_periods_total:容器生命周期中度过的受限的 cpu 周期总数

Istio性能指标

Istio 指标

Istio 自己的 Metrics

标准指标说明

参考:https://istio.io/latest/docs/reference/config/metrics/

Metrics

对于 HTTP、HTTP/2 和 GRPC 流量,Istio 默认生成以下指标:

  • Request Count (istio_requests_total): This is a COUNTER incremented for every request handled by an Istio proxy.
  • Request Duration (istio_request_duration_milliseconds): This is a DISTRIBUTION which measures the duration of requests.
  • Request Size (istio_request_bytes): This is a DISTRIBUTION which measures HTTP request body sizes.
  • Response Size (istio_response_bytes): This is a DISTRIBUTION which measures HTTP response body sizes.
  • gRPC Request Message Count (istio_request_messages_total): This is a COUNTER incremented for every gRPC message sent from a client.
  • gRPC Response Message Count (istio_response_messages_total): This is a COUNTER incremented for every gRPC message sent from a server.

Envoy性能指标

Envoy 指标

Envoy 指标概述

Envoy 的主要目标之一是使网络易于理解。 Envoy 会根据其配置方式产生大量统计信息。一般来说,统计数据(指标)分为三类:

  • Downstream:Downstream 指标与外来的连接/请求有关。它们由 listenerHTTP connection manager(HCM)TCP proxy filter 等产生。
  • Upstream:Upstream 指标与外向的连接/请求有关。它们由 connection poolrouter filtertcp proxy filter等产生。
  • ServerServer 指标信息描述 Envoy 服务器实例的运作情况。服务器正常运行时间或分配的内存量等统计信息。

在最简单场景下,单个 Envoy Proxy 通常涉及 DownstreamUpstream 统计数据。这两种指标反映了取该 网络节点 的运行情况。来自整个网格的统计数据提供了每个 网络节点 和整体网络健康状况的非常详细的汇总信息。Envoy 的文档对这些指标有一些简单的说明。

Istio组件详解

在前两篇博客中:

我向你详细介绍了 Istio 数据平面中的流量,但数据平面并不能孤立的存在,本文将向你展示 Istio 中的控制平面和数据平面各组件的端口及其功能,有助于你了解这些流量之间的关系及故障排查。

Sidecar 中的流量类型及 Iptables 规则详解

我在之前的一篇博客中讲解过 Istio 中 sidecar 的注入、使用 iptables 进行透明流量拦截及流量路由的详细过程,并以 Bookinfo 示例中的 productpage 服务访问 reviews 服务,和 reviews 服务访问 ratings 服务为例绘制了透明流量劫持示意图。在那个示意图中仅展示了 reviews pod 接收流量和对外访问的路由,实际上 sidecar 内的流量远不止于此。

Istio 中的 Sidecar 注入、透明流量劫持及流量路由过程详解

本文最早是基于 Istio 1.11 撰写,之后随着 Istio 的版本陆续更新,最新更新时间为 2022 年 5 月 12 日,关于本文历史版本的更新说明请见文章最后。本文记录了详细的实践过程,力图能够让读者复现,因此事无巨细,想要理解某个部分过程的读者可以使用目录跳转到对应的小节阅读。

0%