Prometheus集成Node-Problem-Detector的Exporter IP配置与Operator集成方法问询
问题解答
1. Node-Problem-Detector(NPD)对应Exporter的IP地址
- NPD本身内置了Prometheus指标暴露端点,默认以DaemonSet形式部署在Kubernetes集群中,每个节点运行一个NPD实例,对应Exporter的IP就是运行该NPD实例的Kubernetes节点的内网IP
2. 该Exporter与9100端口Node Exporter的区别
- 二者是完全独立的不同组件,不是同一个Exporter:
- 监听9100端口的是Prometheus官方Node Exporter,主要采集节点CPU、内存、磁盘、网络等基础资源使用指标
- NPD默认暴露指标的端口是
20257,指标路径为/metrics,核心输出节点内核异常、磁盘坏块、文件描述符溢出、网络故障等节点层级问题类指标
3. NPD与Prometheus Operator集成示例
前置条件
- 已在集群中部署好Prometheus Operator,且NPD的DaemonSet已正常运行
步骤1:创建NPD对应的Kubernetes Service
apiVersion: v1 kind: Service metadata: name: node-problem-detector namespace: kube-system labels: k8s-app: node-problem-detector spec: type: ClusterIP ports: - name: metrics port: 20257 targetPort: 20257 selector: k8s-app: node-problem-detector
步骤2:创建ServiceMonitor配置Prometheus抓取规则
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: node-problem-detector namespace: monitoring # 与Prometheus Operator所在命名空间保持一致 labels: release: kube-prometheus-stack # 要匹配Prometheus实例的serviceMonitorSelector标签值 spec: jobLabel: k8s-app endpoints: - port: metrics interval: 30s path: /metrics namespaceSelector: matchNames: - kube-system # NPD Service所在命名空间 selector: matchLabels: k8s-app: node-problem-detector # 匹配上一步创建的Service的标签
验证集成效果
配置生效后,等待3~5分钟,即可在Prometheus UI中查询到node_problem_开头的NPD相关指标。
内容的提问来源于stack exchange,提问作者Ganesh Sharma
相关产品推荐
相关产品推荐

