首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用datadog对磁盘度量进行Kubernetes

使用datadog对磁盘度量进行Kubernetes
EN

Stack Overflow用户
提问于 2022-09-30 08:09:30
回答 1查看 98关注 0票数 1

我正在寻找可以被监控的EKS集群的磁盘空间使用指标。我遇到了三种不同的公制警报:

1.

代码语言:javascript
复制
k8s-high-filesystem-usage:
  name: "(k8s) High Filesystem Usage Detected"
  type: metric alert
  query: |
    avg(last_10m):avg:kubernetes.filesystem.usage_pct{*} by {cluster_name} > 90
  message: |
    {{#is_warning}}
    {{cluster_name.name}} filesystem usage greater than 80% for 10 minutes
    {{/is_warning}}
    {{#is_alert}}
    {{cluster_name.name}} filesystem usage greater than 90% for 10 minutes
    {{/is_alert}}
代码语言:javascript
复制
k8s-high-disk-usage:
  name: "(k8s) High Disk Usage Detected"
  type: metric alert
  query: |
    min(last_5m):min:kubelet.volume.stats.used_bytes{*} by {cluster_name} / avg:kubernetes.kubelet.volume.stats.capacity_bytes{*} by {cluster_name} * 100 > 90
  message: |
    ({{cluster_name.name}} High disk usage detected
代码语言:javascript
复制
k8s-high-disk-usage:
  name: "(k8s) High Disk Usage Detected"
  type: metric alert
  query: |
    min(last_5m):min:system.disk.used{*} by {host,cluster_name} / avg:system.disk.total{*} by {host,cluster_name} * 100 > 90
  message: |
    ({{cluster_name.name}} High disk usage detected on {{host.name}}

这三个指标意味着什么?我什么时候可以用这些?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-30 20:09:05

这是一个令人困惑的领域,而且没有得到很好的记录。我很高兴你问了这个问题。

首先,介绍一下每个度量的背景。

system.disk.used

这个度量是最直接的:在k8s主机上使用磁盘分区(以字节为单位)的磁盘空间。这是由Datadog代理收集的核心检查。在corechecks/system/disk/disk.go中查找此度量的源。检查将报告主机上每个卷的磁盘使用情况。

kubernetes.filesystem.usage_pct

此度量报告用于k8s集群中每个节点的磁盘空间。这些数据是从/stats/summary下的kubelet发布的指标中提取的。您可以使用kubectl直接查询数据。

代码语言:javascript
复制
kubectl get --raw /api/v1/nodes/<node name>/proxy/stats/summary

可以通过跟踪集群协调器库贝列特文件中的调用来找到代码。此指标还按pod、设备和其他可能有用的标记报告磁盘使用率。

kubernetes.kubelet.volume.stats.used_bytes

此度量报告关于pods持久性卷索赔的数据。您可以了解每个pvc所使用的字节数。此指标只适用于具有持久卷声明的荚。这也在簇/排码库中。

所以,考虑到这个背景,你什么时候会使用每一种度量?

使用system.disk.used在节点级别跟踪磁盘使用情况。如果要监视主机的磁盘使用情况,请查看此值。您应该监视device标记--您将最感兴趣的是物理磁盘分区和Docker卷。您可能会忽略shmtmpfs卷(虚拟内存)。请注意,由于这是一个核心检查,因此对于安装了datadog代理的任何主机都报告了此度量,而不仅仅是k8s主机。

使用kubernetes.filesystem.usage_pct跟踪k8s主机的磁盘使用情况。使用cluster_namehost进行监视和使用max值可能是有意义的,例如将查询更新到:

代码语言:javascript
复制
avg(last_10m):max:kubernetes.filesystem.usage_pct{*} by {cluster_name,host}

如果您想要使用荚级,也可以将pod_name添加到查询中。

最后,使用kubernetes.kubelet.volume.stats.used_bytes来监视持久卷声明的磁盘空间。您需要将persistentvolumeclaim标记添加到查询中,以便知道您正在查看的是哪个声明。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73905758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档