使用 Prometheus 监控应用程序和 Kubernetes
1. 概述
在监控系统中,组件无需对 Prometheus 提供原生支持并提供自己的指标端点。Prometheus 拥有自己的生态系统,除了可用于向应用程序添加指标的客户端库外,还有一系列的导出器可用于提取和发布第三方应用程序的指标。我们可以使用导出器为代理和数据库组件添加缺失的指标。
2. 使用指标导出器监控第三方应用程序
大多数应用程序都会以某种方式记录指标,但旧的应用程序不会以 Prometheus 格式收集和公开这些指标。导出器是独立的应用程序,它了解目标应用程序的监控方式,并能将这些指标转换为 Prometheus 格式。Kubernetes 提供了一种完美的方式,通过边车容器(sidecar container)为应用程序的每个实例运行一个导出器,这就是适配器模式。
2.1 Nginx 导出器
Nginx 有可用的导出器,我们可以将其作为边车运行,以改进待办应用程序的监控仪表盘。Nginx 导出器从 Nginx 服务器的状态页面读取数据,并将其转换为 Prometheus 格式。由于 Pod 中的所有容器共享网络命名空间,因此导出器容器可以通过本地地址访问 Nginx 容器。导出器在自定义端口上提供自己的 HTTP 指标端点,完整的 Pod 规范包括边车容器和指定指标端口的注解。
以下是 proxy-with-exporter.yaml 的关键部分:
template: # Pod spec in
超级会员免费看
订阅专栏 解锁全文
1155

被折叠的 条评论
为什么被折叠?



