在 golang 中收集 Kubernetes 指标

Posted

技术标签:

【中文标题】在 golang 中收集 Kubernetes 指标【英文标题】:Collecting Kubernetes metrics in golang 【发布时间】:2019-07-22 11:40:32 【问题描述】:

我正在使用 GKE 平台来实现 Kubernetes 调度程序。我正在使用 Prometheus Grafana 来监控应用程序。

为了在 golang 中实现调度器,我需要获取指标作为调度器的输入。

请给我一些方法。

还请建议适当的文档,以便我可以轻松理解。

我是新手,所以什么都不懂。

您的帮助将不胜感激。

【问题讨论】:

【参考方案1】:

首先,我建议您阅读一些有关 Kubernetes 监控architecture 的相关文档,其中解释了有关 Kubernetes 指标主要概念的许多有用信息。由于您使用Prometheus 作为主要监控集群代理,您可能会使用 Kubernetes 集群基础设施中的应用程序公开的一些特定指标进行操作;因此,当您计划实施自定义调度程序时,调整这些指标以定义进一步的调度程序行为应该是主要因素。实现这一目标的好例子是Sysdig 监控工具,因为它可以自动收集 Prometheus 指标并将这些指标传播到集群中的应用程序。

您也可以访问 GitHub 上基于 Sysdig 监控指标并由开源社区爱好者推动的Custom scheduler 项目。

【讨论】:

以上是关于在 golang 中收集 Kubernetes 指标的主要内容,如果未能解决你的问题,请参考以下文章

使用 dotnet-monitor 在 Kubernetes 中收集 .NET metrics

golang Kubernetes领导人选举实例

如何使用 golang kubernetes API 创建配置映射和机密

kubernetes-平台日志收集(ELK)

如何从 Kubernetes 中运行的 Haskell 服务收集分析信息?

自己收集的golang书籍