Kubernetes 监控
实时了解整个基于容器的环境,统一您的指标和事件,以便更快地进行根本原因分析。
立即开始
为什么监控 Kubernetes?
Kubernetes 编排提供内置的容错能力,自动执行扩展和维护以达到所需的集群状态。但是,可见性必须具备必要的粒度和信息,以便快速识别故障源。监控和问责制是自动化可靠性的保证。
为什么选择 InfluxDB 进行 Kubernetes 监控?
大多数生产环境在应用程序监控方面没有单一的方法。InfluxDB 可以监控私有云和公有云基础设施(例如,PaaS、SaaS、网站),并为可扩展性提供部署差异,以及为独特性和跨测量分析高级警报提供自定义工具。InfluxDB 帮助在问题影响关键流程之前识别和解决问题,最重要的是,它提供了实施 Kubernetes 监控的方法,以满足开发人员对工具的需求,而不会使 IT 运营部门负担过重。
获得广泛的洞察力并及时采取行动
从一个面板监控所有 Prometheus 指标、自定义应用程序指标、K8s 注释和日志。多种数据收集选项以及基础设施、容器和应用程序状态的全面视图是保持服务运行而不会出现降级或问题升级(可能导致中断)的基础。
优化以更低的成本获得竞争力
InfluxDB 是用于时间序列数据(包括数值和非数值)的高性能存储。它避免了对昂贵的硬件和存储的需求,也无需安装和维护多个监控平台。InfluxDB 的实时流分析和高效的压缩和整合使数据能够经济高效地摄取和存储。
高可用性和可扩展性
InfluxDB 专为时间序列而设计的特性允许存储非常大容量的监控记录,同时通过集群提供水平可扩展性和高可用性。这使其成为 Kubernetes 监控数据的长期存储(用于历史记录或建模目的)的理想解决方案。
InfluxData 对 Kubernetes 监控的支持
InfluxData 的 Telegraf 是一个开源的、基于插件的代理({{num_plugins}}+ 个插件),可以从 Kubernetes 节点、主节点、Pod、容器和所有 Prometheus /metric 端点收集指标和事件。Telegraf 能够监控自身及其指标管道,因此如果基本指标未被收集,您将收到警报。在 Kubernetes 集群环境中,Telegraf 可以作为 DaemonSet 部署在每个节点中,作为 Pod 中的应用程序 Sidecar 部署,或作为中央收集器部署。
除了 Telegraf 在从 Kubernetes API、Prometheus /metrics 端点、基础设施(系统、VM 和容器)和应用程序收集数据方面的多功能性之外,InfluxData 还实施了 Kubernetes Operator 以简化 InfluxDB 实例的部署和管理。
Telegraf 部署为 DaemonSet 代理
Telegraf 可以作为 DaemonSet 安装在每个 Kubernetes 节点中。Telegraf 可以通过推送或拉取机制直接从节点、容器、Pod 和应用程序收集监控数据。此部署选项适用于需要从所有节点收集的基线指标。
Telegraf 部署为 Sidecar 代理
Telegraf 可以作为应用程序 Sidecar 安装在 Kubernetes Pod 部署中。作为 Sidecar,Telegraf 与应用程序封装在 Pod 中,共享同一个网络。此部署对于将应用程序工具的影响隔离到 Pod 级别非常有用,而不会使整个 Kubernetes 监控过载。Sidecar 部署使开发人员可以自由地暴露和检测指标(根据他们的需要),而不会给 IT 运营部门带来抓取扩展问题的负担。
Telegraf 部署为带有 Kubernetes 服务发现的中央代理
Telegraf 通过监视 Pod 上的 Prometheus 注释来支持 Kubernetes 服务发现,从而找出哪些应用程序暴露了 /metrics 端点。作为单个代理,Telegraf 可以抓取集群中暴露的 /metrics 端点,并将收集的数据更有效地发送到 InfluxDB。
特定的 Telegraf 组件
- Telegraf Kubernetes 输入插件 – Kubernetes 输入插件 与 kubelet API 通信,以收集有关正在运行的 Pod 和容器的指标。
- Telegraf Kubernetes 清单插件 – Kubernetes 清单插件 收集 kube 状态指标(节点、命名空间、部署、副本集、Pod 等)。
- Telegraf 用于 Prometheus /metrics 服务发现的插件 – 用于 Telegraf 的 Prometheus 格式输入插件 发现并从以 Prometheus 格式公开指标的 HTTP 服务器收集指标。
- Telegraf 指标管道插件的自我监控 – Telegraf 可以通过启用 inputs.internal 插件 来收集有关内部指标和代理统计数据的数据,还可以通过启用 http_response 插件 来检查自身的可用性。
用于 Kubernetes 监控的 InfluxDB
InfluxData 添加了 Kubernetes 特有的功能,使其用户更容易使用 Kubernetes
- 用于更快节点部署的 Helm Chart – kube-influxdb 是用于 InfluxData TICK Stack 的 Helm Chart 的集合,用于使用 InfluxData 监控 Kubernetes。
- 原生 Kubernetes Operator – Kubernetes Operator 管理作为 Kubernetes 对象部署的 InfluxDB 实例。
- 监控数据的高可用性 (HA) 和可扩展性 – 大量 Kubernetes 指标和事件可以保存在 InfluxDB 存储集群中,从而实现长期策略保留、高数据粒度和序列基数。
- 与 Prometheus 监控集成: Kubernetes 原生监控基于 Prometheus 格式。InfluxDB 与 Kubernetes Prometheus 监控的集成 通过两种方式支持
- 远程写入 API:Prometheus 可以将它摄取的样本以标准化格式写入 InfluxDB。
- 远程读取 API:Prometheus 可以以标准化格式从 InfluxDB 读取(回)样本数据。
了解更多关于 InfluxDB 社区提供的 Kubernetes 监控实施
网络研讨会
- InfluxDB + Telegraf Operator:轻松实现 Kubernetes 监控 展示了如何使用 InfluxDB 和 Telegraf Operator 来监控您的 Kubernetes 容器。
- InfluxData 如何通过监控使 Kubernetes 成为其组件的更好主控 展示了如何使用 InfluxData 通过监控底层基础设施的所有组件来帮助 Kubernetes 编排应用程序的横向扩展。
- Kapacitor:服务发现、拉取和 Kubernetes 展示了 Kapacitor 的服务发现和抓取代码将允许任何与 Prometheus 配合使用的服务发现目标与 Kapacitor 配合使用。
博客文章
- 使用 Nginx InfluxDB 模块监控 Kubernetes Nginx Ingress
- 使用 Telegraf 和 Kapacitor 进行 Kubernetes 集群监控和自动扩展
- 如何在 Kubernetes 实例中启动 TICK Stack
- 打包的 Kubernetes 部署 – 编写 Helm Chart
- 在不影响盲点或运营负担的情况下扩展 Kubernetes 监控
“我们最近引入了 InfluxDB 作为我们一流的时间序列数据库系统,我们有机会直接与 InfluxData 合作,以确保我们走在一条可扩展、稳健且符合其平台未来发展方向的道路上。”
Mike BellWayfair 工程师
开放数据标准驱动性能和互操作性
InfluxDB 3 使用 Rust 和 FDAP 堆栈(Flight、DataFusion、Arrow 和 Parquet)构建,利用 Apache 支持的技术来高效地摄取、存储和分析任何规模的时间序列数据。
F
Flight 用于高效的列式数据传输

D
DataFusion 用于高性能查询
A
Arrow 用于优化的内存列式分析

P
Parquet 用于高压缩存储

















