026 云原生之 Exporter 采集数据
在 Prometheus 架构中,Prometheus Server 并不直接监控目标,它主要负责数据的收集、存储并且对外提供数据查询支持。因此,为了能够监控到目标的某些指标,如主机的 CPU 使用率,Prometheus 需要使用 Exporter。
Exporter 基本上都是独立运行的,与所要监控的目标进程是相对独立的。Exporter 主要通过分析目标进程提供的相关接口来获取数据,然后将这些运行状态数据转换成可供 Prometheus 读取的监控数据,相当于中间代理人的角色。
常用 Exporter
比较常用的 Exporter 当属 Node Exporter,它主要用来监控类 UNIX 操作系统的内核,提供硬件和操作系统层级的指标。
cAdvisor(Container Advisor)是 Google 开源的一款用于分析容器资源使用和性能特征的可视化工具,在主机上运行 cAdvisor 可以轻松获得当前主机上容器的运行状态信息,并以图表形式向用户展示。
从内部主动发现或者预测潜在的问题,这是白盒监控;而从外部快速发现故障,则是黑盒监控。两者可以配合工作,既可以预测问题,又可以在出现问题时快速发现。
Prometheus 社区提供了 Blackbox Exporter 进行黑盒监控,允许用户通过 HTTP、HTTPS、DNS、TCP 以及 ICMP 协议对网络服务进行探测。
Node Exporter 不是以普通 Pod 方式运行在集群中,而是以 DaemonSet 的方式在 Kubernetes 集群中每个节点上只运行一个示例。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/dbb9cf3b33bc0106e85794e23】。文章转载请联系作者。
评论