随着业务增长和技术进步,企业对IT系统的监控需求日益增加。Prometheus 作为一款领先的开源监控解决方案,已经成为了众多企业的首选。然而,要想充分发挥Prometheus的强大功能,掌握其核心组件 Node Exporter 的使用至关重要。本文将揭示 Node Exporter 如何成为企业级监控体系中的秘密武器,让你的监控系统瞬间升级!

容器化一切,微服务化应用,自动化运维。
Node Exporter 的优势在于其简洁性和易用性。只需几分钟的时间,就可以在服务器上安装并运行 Node Exporter,开始收集关键的系统指标。这对于识别潜在的性能瓶颈、预防系统故障以及确保服务器资源的有效利用极为有用。
Node Exporter 是 Prometheus 生态系统中的一个组件,它是一个轻量级的进程,用于收集主机的硬件和操作系统层面的指标。这些指标包括 CPU 使用率、内存使用情况、磁盘 I/O 统计、网络流量等。Node Exporter 的一大优点是其安装和配置过程简单快捷,几乎不需要额外的配置即可直接导出大量的 Linux 系统信息。
在企业级监控体系中,Node Exporter 的价值体现在以下几个方面:
易用性:Node Exporter 提供了一个简单的方法来收集主机级别的指标,无需复杂的配置。
灵活性:支持多种操作系统,如 Linux、Windows 和 macOS,可以适应不同的企业环境。
扩展性:作为 Prometheus 生态的一部分,Node Exporter 可以与其他工具无缝集成,如 Grafana 用于数据可视化。
Tip:Prometheus chart包含有Node Exporter部署脚本,所以只需要在部署Prometheus配置中添加Node Exporter部署参数即可
1、node-exporter部署参数
# /etc/kubernetes/addons/prometheus-values.yaml 文件修改下 prometheus-node-exporter 参数
prometheus-node-exporter:
image:
registry: core.jiaxzeng.com
repository: library/monitor/node-exporter
fullnameOverride: node-exporter
2、部署node-exporter
$ helm -n kube-system upgrade prometheus -f /etc/kubernetes/addons/prometheus-values.yaml /etc/kubernetes/addons/prometheus
Release "prometheus" has been upgraded. Happy Helming!
NAME: prometheus
LAST DEPLOYED: Tue Oct 22 10:47:34 2024
NAMESPACE: kube-system
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
The Prometheus server can be accessed via port 80 on the following DNS name from within your cluster:
prometheus.kube-system.svc.cluster.local
From outside the cluster, the server URL(s) are:
http://ops.jiaxzeng.com
#################################################################################
###### WARNING: Pod Security Policy has been disabled by default since #####
###### it deprecated after k8s 1.25+. use #####
###### (index .Values "prometheus-node-exporter" "rbac" #####
###### . "pspEnabled") with (index .Values #####
###### "prometheus-node-exporter" "rbac" "pspAnnotations") #####
###### in case you still need it. #####
#################################################################################
For more information on running Prometheus, visit:
https://prometheus.io/
3、验证
$ kubectl -n kube-system get pod -l app.kubernetes.io/name=prometheus-node-exporter
NAME READY STATUS RESTARTS AGE
node-exporter-76gcx 1/1 Running 0 11m
node-exporter-c2hfs 1/1 Running 0 11m
node-exporter-fj8bh 1/1 Running 0 11m
node-exporter-gmqlr 1/1 Running 0 11m
node-exporter-mkppc 1/1 Running 0 11m
node-exporter-ngp2n 1/1 Running 0 11m
node-exporter-r8qdh 1/1 Running 0 11m
$ curl -I localhost:9100/metrics
HTTP/1.1 200 OK
Content-Type: text/plain; version=0.0.4; charset=utf-8; escaping=values
Date: Tue, 22 Oct 2024 03:00:05 GMT
所有服务的Exporter部署后,都需要去Prometheus配置上采集Exporter指标数据。上述部署Node Exporter服务,所以需要在Prometheus采集Node Exporter指标。
1、修改Prometheus配置文件
$ kubectl edit cm prometheus -n kube-system
# Prometheus配置文件中 scrape_configs 参数添加以下配置
- job_name: "node-exporters"
kubernetes_sd_configs:
- role: node
relabel_configs:
- source_labels: [__address__]
action: replace
regex: (.*):10250
target_label: __address__
replacement: $1:9100

2、生效配置文件
$ kubectl get svc -n kube-system prometheus
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
prometheus ClusterIP 10.109.157.19 <none> 80/TCP 24h
$ curl -X POST http://10.109.157.19/prometheus/-/reload
3、验证Prometheus是否有采集Node Exporter指标数据

1、添加Dashboard设置

2、输入 1860 Dashboard ID号


3、查看Node Exporter面板

通过本文的介绍,我们可以看到 Node Exporter 在企业级监控体系中的重要作用。它不仅简化了系统指标的收集过程,还增强了 Prometheus 监控系统的功能性和灵活性。随着企业对系统监控需求的增长,掌握 Node Exporter 的使用技巧将有助于构建更加健壮和可维护的监控平台。
别忘了,关注我们的公众号,获取更多关于容器技术和云原生领域的深度洞察和技术实战,让我们携手在技术的海洋中乘风破浪!





