使用 Telegraf 和 Kapacitor 进行 Kubernetes 集群监控和自动扩展

导航至

随着 Telegraf 和 Kapacitor 1.1 版本的发布,InfluxData 正在提升我们提供维护和监控 Kubernetes 集群的易用性、指标深度和控制水平。InfluxDB 一直是 Kubernetes 监控的一部分,自 v0.4 版本以来,即 Heapster 首次发布时,InfluxDB 一直作为默认的数据收集器。

在过去两年中,我们与用户合作,充分利用他们的Kubernetes监控系统。不幸的是,Heapster的输出从未被特别调整以充分利用InfluxDB的存储后端,导致一些用户从数据存储中获得的资源利用率比预期更高。同时,Kubernetes指标和监控的大部分新开发并未与Heapster原生集成。因此,我们向社区寻求重新思考Kubernetes集群数据的收集和存储方式。在这个过程中,我们发现了一些共同的主题:首先,似乎没有人对Heapster的长期未来做出承诺;其次,人们在指标收集的推拉模型上存在分歧,InfluxData的哲学是支持两者;第三,由于目前没有Kubernetes指标集中分布的标准,用户不得不前往多个来源,而且往往只能获得他们数据的不完整视图。最后,几乎每个人都希望使用除当前提供的指标以外的指标来触发水平Pod自动缩放功能。

Telegraf

为了确保收集尽可能丰富的指标集合,我们花费了时间与许多当前的Kubernetes社区成员合作,包括Deis的监控团队。他们为Deis Workflow预配置的监控解决方案需要额外的Kubernetes指标,这些指标由Heapster提供。还有他们已经是Telegraf和InfluxDB的用户,这激励他们创建了一个输入插件。他们很友好地贡献了输入插件,该插件从Kubernetes /stats/summary API端点收集指标。此插件以及指向kube状态指标Prometheus插件为Telegraf提供了广泛的Kubernetes指标。将Telegraf作为daemonset的一部分运行,用户可以接收推送式指标交付,同时获得许多拉式指标的好处。Telegraf的数据收集与Heapster相结合,为InfluxDB用户提供了访问Kubernetes内部关键指标的能力。

Kapacitor

我们从社区收到的最常见的请求是希望以比水平Pod自动缩放提供的更灵活的方式轻松扩展他们的Kubernetes集群。Kapacitor 1.1提供了一个简单的路径来调整您的副本集、部署和复制控制器的大小,使用InfluxDB中存储的任何数据。我们将在灵活的数据处理框架中添加Kubernetes副本集大小逻辑,从而允许Kapacitor在扩展或缩减Pod时考虑额外的指标。例如,您可以根据页面请求扩展应用程序服务器,或者根据队列深度处理Pod。

我们创建了一个使用Kapacitor调整应用程序副本集大小的示例。请尝试它并告诉我们您的看法——我们始终对社区的反馈或代码贡献感兴趣。

接下来是什么

  • 下载TICK-stack的下载在我们的“下载”页面上已可用
  • 在云端部署:免费试用InfluxDB Cloud,包括完全托管的集群、Kapacitor和Grafana。
  • 在您的服务器上部署:想在您的服务器上运行InfluxDB集群?免费试用14天的InfluxDB Enterprise,具有直观的UI,用于部署、监控和重新平衡集群,以及管理备份和恢复。
  • 讲述你的故事: 超过100家公司 分享了他们如何利用InfluxDB取得成功的故事。提交你的感言,即可获得限量版卫衣作为感谢。