Kubernetes 自定义cloudwatch度量EKS cloudwatch代理

Kubernetes 自定义cloudwatch度量EKS cloudwatch代理,kubernetes,amazon-cloudwatch-metrics,amazon-eks,Kubernetes,Amazon Cloudwatch Metrics,Amazon Eks,我已设置容器洞察,如中所述 有没有办法删除发送给CloudWatch的一些指标 详情: 我有一个小型集群(3个面向客户端的名称空间,每个名称空间约8个服务),在它们各自的单独名称空间中有一些自定义的监视、日志记录等,我只想使用CloudWatch来获得关键的面向客户端的指标 我遇到的问题是,代理向CloudWatch发送了500多个度量,而我真正感兴趣的只是几个重要的度量,尤其是AWS每度量的账单 有没有办法限制哪些指标被发送到CloudWatch 如果我只能从某些名称空间发送度量,例如排除ku

我已设置容器洞察,如中所述

有没有办法删除发送给CloudWatch的一些指标

详情:

我有一个小型集群(3个面向客户端的名称空间,每个名称空间约8个服务),在它们各自的单独名称空间中有一些自定义的监视、日志记录等,我只想使用CloudWatch来获得关键的面向客户端的指标

我遇到的问题是,代理向CloudWatch发送了500多个度量,而我真正感兴趣的只是几个重要的度量,尤其是AWS每度量的账单

有没有办法限制哪些指标被发送到CloudWatch

如果我只能从某些名称空间发送度量,例如排除kube系统名称空间,这将特别有用

我的配置图是:

  cwagentconfig.json: |
    {
      "logs": {
        "metrics_collected": {
          "kubernetes": {
            "cluster_name": "*****",
            "metrics_collection_interval": 60
          }
        },
        "force_flush_interval": 5
      }
    }

我已经找了一段时间了,但在上面找不到任何东西:

        "metrics_collected": {
          "kubernetes": {

我已经尽了最大努力,你是对的,在这个话题上几乎找不到什么。在我提出使用普罗米修斯(Prometheus)或在AWS论坛上提问的明显但毫无帮助的建议之前,请快速了解一下CloudWatch代理的实际功能

Cloudwatch代理从cAdvisor(作为每个节点上kubelet的一部分运行)或kubernetes metrics服务器API(也从kubelet和cAdvisor获取其度量)获取容器度量。cAdvisor有很好的文档记录,Cloudwatch代理可能使用构建自己的度量列表

不幸的是,这只是一个猜测,因为Cloudwatch代理似乎不是开源的。这也意味着可以在kubernetes部分中设置一个“度量”选项,并根据普罗米修斯度量名称选择度量,但这可能不受支持。(如果你问AWS,高级支持团队应该密切关注论坛,这样你可能会幸运地得到答案,而无需支付支持费用)

那么,如果您不能减少容器洞察创建的度量,那么您还有什么其他选择?普罗米修斯是,你可以设置记录规则来减少它实际保存的度量的数量。默认情况下,它不会推送到Cloudwatch,但如果节点上有空间,您可以在本地保留度量,或者使用MetricFire(我工作的公司,很清楚!)这样的服务,该服务提供Grafana。你也可以使用普罗米修斯作为你唯一的真相来源,但这意味着你的集群上有更多的存储空间

如果您更喜欢在Cloudwatch中查看指标,那么有一些工具,如Prometheus端点,并将数据发送到Cloudwatch,很像(我猜)Cloudwatch代理。此服务实际上具有include和exclude设置,用于决定将哪些度量发送到Cloudwatch

我写了一篇博文,以防对你有所帮助。祝你好运,让我们知道你选择哪一个