从Kubernetes Pod获取自定义指标

时间:2018-08-23 05:44:05

标签: kubernetes monitoring

我一直在研究Kubernetes Heapster和Metrics服务器,以从运行的Pod中获取指标。但是问题是,我需要一些自定义指标,这些指标可能因Pod而异,并且显然Heapster仅提供与CPU和内存相关的指标。已经有任何工具可以为我提供我想要的功能,还是我需要从头开始构建一个工具?

2 个答案:

答案 0 :(得分:1)

您正在寻找的是针对应用程序和基础架构的指标。为此,TICK堆栈可能会有所帮助!具体来说,可以设置Telegraf来收集详细的基础架构指标,例如内存和CPU压力,甚至单个Docker容器使用的资源,网络和IO指标等。但是它也可以从pod中抓取Prometheus指标。然后将这些度量标准传送到influxdb并使用计时码表或grafana进行可视化。

答案 1 :(得分:1)

不确定是否仍然打开。
我可以将指标分为3种类型。
事件或日志-发送到日志的系统和应用程序事件。这些是不确定的。

指标-托管应用程序的节点上的CPU和内存使用率。这是确定性的,会定期收集。

APM -应用程序性能监控指标-这些是应用程序级别的指标,例如收到的请求,失败的请求和已响应的请求等。

并非所有平台都能完成所有工作。例如,ELK同时执行指标和日志监视,而不执行APM。这些工具中的某些工具具有收集后台驻留程序的插件,该后台驻留程序收集节点的性能指标。

APM是一个完全不同的领域,因为它需要开发人员工具来提供度量标准,如Springboot进行Actuator,Nodejs进行AppMetrics等。它承载请求级别数据。 Statsd是一个开放源代码库,应用程序也可以使用该库来提供APM指标,节点中安装的Statsd代理也可以使用。

AWS提供可用于日志传送和接收的CloudWatch代理,以及可用于APM的Xray的分布式跟踪。