暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

企业级监控体系:掌握node-exporter终极指南

Linux运维智行录 2024-10-29
22

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

容器化一切,微服务化应用,自动化运维。


01
什么是 Node Exporter?

Node Exporter 的优势在于其简洁性和易用性。只需几分钟的时间,就可以在服务器上安装并运行 Node Exporter,开始收集关键的系统指标。这对于识别潜在的性能瓶颈、预防系统故障以及确保服务器资源的有效利用极为有用。


Node Exporter 是 Prometheus 生态系统中的一个组件,它是一个轻量级的进程,用于收集主机的硬件和操作系统层面的指标。这些指标包括 CPU 使用率、内存使用情况、磁盘 I/O 统计、网络流量等。Node Exporter 的一大优点是其安装和配置过程简单快捷,几乎不需要额外的配置即可直接导出大量的 Linux 系统信息。

02
为何选择 Node Exporter?

在企业级监控体系中,Node Exporter 的价值体现在以下几个方面:

  • 易用性:Node Exporter 提供了一个简单的方法来收集主机级别的指标,无需复杂的配置。

  • 灵活性:支持多种操作系统,如 Linux、Windows 和 macOS,可以适应不同的企业环境。

  • 扩展性:作为 Prometheus 生态的一部分,Node Exporter 可以与其他工具无缝集成,如 Grafana 用于数据可视化。


03
部署 Node Exporter

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


04
Prom采集指标以及配置grafana面板

所有服务的Exporter部署后,都需要去Prometheus配置上采集Exporter指标数据。上述部署Node Exporter服务,所以需要在Prometheus采集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指标数据




Grafana Node Exporter面板


1、添加Dashboard设置

2、输入 1860 Dashboard ID号

3、查看Node Exporter面板



05
结语

通过本文的介绍,我们可以看到 Node Exporter 在企业级监控体系中的重要作用。它不仅简化了系统指标的收集过程,还增强了 Prometheus 监控系统的功能性和灵活性。随着企业对系统监控需求的增长,掌握 Node Exporter 的使用技巧将有助于构建更加健壮和可维护的监控平台。


别忘了,关注我们的公众号,获取更多关于容器技术和云原生领域的深度洞察和技术实战,让我们携手在技术的海洋中乘风破浪!

END

文章转载自Linux运维智行录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论