自定义云观察指标 EKS 云观察代理



我已经按照文档中的说明设置了容器见解

有没有办法删除发送到云观看的一些指标?

详:

我有一个小型集群(3 个面向客户端的命名空间,每个命名空间 ~ 8 个服务(,在它们自己单独的命名空间中有一些自定义监控、日志记录等,我只想将 CloudWatch 用于面向客户端的关键指标。

我遇到的问题是代理向 CloudWatch 发送了 500 多个指标,我实际上只对几个重要的指标感兴趣,尤其是 AWS 按指标计费。

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

如果我只能从某些命名空间发送指标,例如,排除 kube-system 命名空间,这将特别有用

我的配置图是:

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

我已经搜索了一段时间,但实际上没有找到任何内容:

"metrics_collected": {
"kubernetes": {

我已经尽我所能地看起来了,你是对的,在这个话题上几乎没有什么可找的。在我提出使用 Prometheus 或在 AWS 论坛上询问的明显但无益的建议之前,请快速浏览一下 CloudWatch 代理的实际作用。

Cloudwatch 代理从 cAdvisor 获取容器指标,cAdvisor 在每个节点上作为 kubelet 的一部分运行,或者从 kubernetes metrics-server API(它也从 kubelet 和 cAdvisor 获取指标(。 cAdvisor 有据可查,Cloudwatch 代理很可能使用 cAdvisor 生成的 Prometheus 格式指标来构建自己的指标列表。

不幸的是,这只是一个猜测,因为Cloudwatch代理似乎不是开源的。这也意味着可以在 kubernetes部分中设置一个"度量"选项,并根据 Prometheus 指标名称选择指标,但这可能不受支持。(如果您确实询问 AWS,高级支持团队应该密切关注论坛,这样您可能会很幸运地在不支付支持费用的情况下获得答案(

因此,如果无法减少容器见解创建的指标,还有哪些其他选择?Prometheus 易于部署,您可以设置记录规则以减少它实际保存的指标数量。默认情况下,它不会推送到 Cloudwatch,但如果节点上有一些空间,您可以将指标保留在本地,或者使用远程存储服务,如 MetricFire(我工作的公司,需要明确的是!(,它提供了 Grafana 来配合它。您还可以从 Cloudwatch 导出指标,并将 Prometheus 用作单一事实来源,但这意味着您的集群上有更多的存储空间。

如果您更喜欢在 Cloudwatch 中查看指标,可以使用像 Prometheus-to-cloudwatch 这样的工具,它们实际上会抓取 Prometheus 端点并将数据发送到 Cloudwatch,就像(我猜(Cloudwatch 代理所做的那样。此服务实际上具有包含和排除设置,用于决定将哪些指标发送到 Cloudwatch。

我写了一篇关于 EKS 架构和监控的博客文章,以防对您有任何帮助。祝你好运,让我们知道你选择哪个选项!

最新更新