跳到主要内容

Exporter 生态速查

本篇列出日常用得最多的 exporter 和采集端,按「名称、用途、默认端口、备注」一行一个,装新组件时先来这儿对一下端口。采集配置的完整写法见[指标采集与 Exporter](/docs/observability/prometheus/指标采集与 Exporter)一篇。

常见 exporter 与采集端​

名称用途默认端口备注
node_exporterLinux/Unix 主机指标:CPU、内存、磁盘、网络9100装机标配,体系内最基础的 exporter
kube-state-metricsK8s 对象状态:Deployment、Pod、Node 等资源的属性和状态8080管对象状态,不管资源用量,用量看 cAdvisor
cAdvisor容器资源用量:CPU、内存、网络、文件系统4194K8s 里已内嵌在 kubelet 中,独立部署才用这个端口
blackbox_exporter黑盒探测:HTTP、TCP、ICMP、DNS、TLS 证书9115探测目标写在 scrape 配置里,一个进程探多个目标
mysqld_exporterMySQL / MariaDB 指标9104需要提前建一个只读监控账号
redis_exporterRedis 指标:内存、命中率、慢查询、复制状态9121一个进程可以代理采集多个 Redis 实例
postgres_exporterPostgreSQL 指标:连接、事务、锁、复制延迟9187支持用 queries.yaml 加自定义查询指标
nginx-prometheus-exporterNginx 连接数和请求统计9113依赖 Nginx 开启 stub_status 模块,指标量较少
snmp_exporter交换机、路由器等网络设备的 SNMP 采集9116先用官方 generator 按设备 MIB 生成采集配置
Pushgateway短生命周期批任务的指标推送端9091只给跑完就退的 job 推指标用,别当代理网关用
Pushgateway 的正确用法

Pushgateway 只解决一种场景:cronjob、批处理这类活不到下一次抓取的任务,跑完顺手把结果指标推过去。把它当「所有服务都往这儿推」的网关用,会丢掉 up 指标、实例标签全乱,还造出一个单点。服务类进程一律走标准抓取。

默认端口只是约定

上表端口是各项目的默认或惯用端口,部署时都能改。多台机器混部时注意端口冲突;写 scrape 配置前,先用 curl http://目标:端口/metrics 确认能抓到数据再配进 Prometheus。