首页 > 编程语言 >prometheus node-exporter安装

prometheus node-exporter安装

时间:2023-04-20 11:56:33浏览次数:48  
标签:node Node exporter name prometheus Exporter 安装

目录

prometheus node-exporter安装

安装有很多中方法

包安装在linux服务器

Node Exporter 是一个用于收集 Linux 系统信息并暴露为 Prometheus 格式的指标的守护进程。要启动 Node Exporter,可以按照以下步骤操作:

首先,从 Node Exporter 的官方网站下载最新版本的二进制文件。你可以从这里找到最新版本:https://prometheus.io/download/#node_exporter

解压下载的文件到一个目录中,例如 /opt/node-exporter:

tar -xzvf node_exporter-1.2.2.linux-amd64.tar.gz -C /opt/

进入解压后的目录:

cd /opt/node_exporter-1.2.2.linux-amd64/

执行以下命令,启动 Node Exporter:

./node_exporter

默认情况下,Node Exporter 会暴露在 9100 端口上。你可以在浏览器中输入 http://:9100/metrics 访问 Node Exporter 所暴露的指标。

为了方便管理,你可能需要将 Node Exporter 作为一个 systemd 服务运行。这样,系统启动后,Node Exporter 会自动启动。你可以参考以下示例 systemd 服务文件:

[Unit]
Description=Node Exporter

[Service]
User=prometheus
ExecStart=/opt/node_exporter-1.2.2.linux-amd64/node_exporter
Restart=always

[Install]
WantedBy=multi-user.target

将以上内容保存为 /etc/systemd/system/node_exporter.service 文件,并执行以下命令启动服务:

systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter

这样 Node Exporter 就会作为一个 systemd 服务在后台运行,并在系统启动时自动启动。

Daemonset安装

Node Exporter 可以运行在 Kubernetes 中,并且常常使用 DaemonSet 的方式来运行,以确保每个节点都有一个运行的 Node Exporter 容器,可以收集该节点的指标数据。

以下是一个简单的 Node Exporter DaemonSet YAML 文件的示例,可以用于在 Kubernetes 中启动 Node

Exporter:

angelscript
Copy
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
  namespace: monitoring
  labels:
    app: node-exporter
spec:
  selector:
    matchLabels:
      app: node-exporter
  template:
    metadata:
      labels:
        app: node-exporter
    spec:
      containers:
      - name: node-exporter
        image: prom/node-exporter:v1.2.2
        ports:
        - containerPort: 9100
          name: metrics
        resources:
          limits:
            cpu: 200m
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 100Mi
        volumeMounts:
        - name: proc
          mountPath: /host/proc
          readOnly: true
        - name: sys
          mountPath: /host/sys
          readOnly: true
        - name: docker-sock
          mountPath: /var/run/docker.sock
          readOnly: true
      hostNetwork: true
      hostPID: true
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
      volumes:
      - name: proc
        hostPath:
          path: /proc
      - name: sys
        hostPath:
          path: /sys
      - name: docker-sock
        hostPath:
          path: /var/run/docker.sock

在这个 YAML 文件中,我们定义了一个名为 node-exporter 的 DaemonSet,它运行在 Kubernetes 集群中的每个节点上。它使用了 prom/node-exporter:v1.2.2 镜像,并暴露了 9100 端口,以便 Prometheus 可以收集指标数据。该 DaemonSet 还挂载了 /proc、/sys 和 /var/run/docker.sock 等主机目录,以便 Node Exporter 可以访问相关的系统信息。

你可以将以上 YAML 文件保存为 node-exporter-daemonset.yaml 文件,并使用 kubectl apply -f node-exporter-daemonset.yaml 命令来创建 Node Exporter DaemonSet。创建完成后,你可以使用 kubectl get pods -n monitoring 命令来查看 Node Exporter 容器是否已经成功运行在每个节点上。

Docker安装

docker run -d --name node-exporter -p 9100:9100 prom/node-exporter:v1.2.2

helm安装

在 Kubernetes 集群中安装 Node Exporter,最简单的方式是使用 Helm 软件包管理器。Helm 可以自动下载和安装 Node Exporter,并自动创建与 Kubernetes 集群中的其他组件集成的资源对象。

以下是在 Kubernetes 集群中安装 Node Exporter 的步骤:

首先,你需要安装 Helm。你可以在这里找到 Helm 的安装指南:https://helm.sh/docs/intro/install/

添加 Prometheus 官方 Helm 仓库:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

更新 Helm 仓库:

helm repo update

创建一个名为 node-exporter 的命名空间:

kubectl create namespace node-exporter

安装 Node Exporter Helm Chart:

helm install node-exporter prometheus-community/kube-prometheus-stack \
  --namespace node-exporter \
  --set nodeExporter.enabled=true \
  --set kubelet.serviceMonitor.enabled=true \
  --set kubelet.serviceMonitor.additionalLabels.release=node-exporter \
  --set kubelet.serviceMonitor.interval="30s" \
  --set kubelet.serviceMonitor.scrapeTimeout="10s" \
  --set kubelet.serviceMonitor.relabellings="release,node-exporter" \
  --set kubelet.serviceMonitor.honorLabels=true

这将会在 node-exporter 命名空间中安装 Node Exporter 和其他 Prometheus 组件。Helm 安装过程会自动创建一些 Kubernetes 资源对象,例如 Deployment、Service 和 ServiceMonitor。这些对象将会自动与 Kubernetes 集群中的其他组件集成。

安装完成后,你可以使用以下命令来查看 Node Exporter 容器是否已经成功运行在每个节点上:

kubectl get pods -n node-exporter

你还可以使用以下命令来查看 Node Exporter 容器的日志:

kubectl logs -n node-exporter <node-exporter-pod-name>

如果一切正常,你应该能够访问 http://:9100/metrics 来查看 Node Exporter 所暴露的指标数据。

标签:node,Node,exporter,name,prometheus,Exporter,安装
From: https://www.cnblogs.com/liwenchao1995/p/17336276.html

相关文章

  • nodejs命令
    npm常用命令:1.npminstallpackage_name:安装指定的Node.js模块。2.npmuninstallpackage_name:卸载指定的Node.js模块。3.npmupdatepackage_name:更新指定的Node.js模块到最新版本。4.npmsearchpackage_name:搜索指定名称的Node.js模块。5.npmlist:列出当前项......
  • node可以用nvm快速切换版本,golang如何快速切换版本?用gvm就行。
    使用gvm可以带来以下好处:快速切换Golang版本,方便进行版本测试和开发;可以在多个项目中同时使用不同版本的Golang包和工具,避免冲突;可以通过gvm管理不同版本的Golang,方便安装、卸载和更新;可以自由选择Golang的镜像源,下载更快。我使用的是win1064位系统,所以只考虑w......
  • Puppeteer+RabbitMQ:Node.js 批量加工pdf服务架构设计与落地
    全文约8500字,阅读时长约10分钟。智慧作业最近上线「个性化手册」(简称个册)功能,一份完整的个性化手册分为三部分:•学情分析:根据学生阶段性的学习和考试情况进行学情分析、归纳、总结,汇总学情数据;•精准推荐:推荐算法基于学情数据结合知识图谱进行精准练习题推荐;•错题回顾:错题的......
  • k8s下prometheus启动node_exporter
    启动访问地址:IP:9090启动方式:./prometheus--web.enable-lifecycle:热更新,不用重启即生效加载方法有以下两种#1.kill-HUPpid#2.curl-XPOSThttp://IP/-/reload--storage.tsdb.path:数据存储位置,默认是data目录。--storage.tsdb.retention.time:保留时间,默认是15天,过15天之后,就删......
  • 部署prometheus、grafana、alertmanager
    简介:由于资源有限,本实验用了两台机器监控端:部署prometheus、grafana、alertmanager被监控端:node_exporter、mysqld_exporter一.部署promethus1.下载https://prometheus.io/download/2.解压​ mkdir-p/data/prometheus​ tar-zxvf/root/prometheus-2.42.0.linux......
  • Nodejs的安装与使用
    Nodejs的安装与使用转载请注明来源:http://www.eword.name/Author:ewordEmail:[email protected]一、Centos安装Nodejs1.1、资料准备1.1.1、下载安装包从官网下下载最新的nodejshttps://nodejs.org/en/download/下载#cdopt/#wgethttps://nodejs.org/dist/v10.20.0......
  • Nodejs的安装与使用
    Nodejs的安装与使用转载请注明来源:http://www.eword.name/Author:ewordEmail:[email protected]一、Centos安装Nodejs1.1、资料准备1.1.1、下载安装包从官网下下载最新的nodejshttps://nodejs.org/en/download/下载#cdopt/#wgethttps://nodejs.org/dist/v10.20.0......
  • 云原生监控|Prometheus
    一、背景Prometheus是由SoundCloud开发的开源监控系统的开源版本。2016年,由Google发起的Linux基金会(CloudNativeComputingFoundation,CNCF)将Prometheus纳入其第二大开源项目。Prometheus在开源社区也十分活跃,成为受欢迎度仅次于Kubernetes的项目Prometheus原理:Prometheu......
  • Node.js入门学习笔记
    NodeJs是js的运行时,意味着可以在浏览器外运行js。可以使用nodejs来构建服务器端应用、CLI应用、WebAPI,甚至用electron构建桌面端应用。使用nvm来管理node版本。在终端输入node进入REPL环境,可以测试和执行代码,mac系统使用control+d退出REPL环境。执行某个js文件:nodexxx.js......
  • 63、Prometheus-独立部署的Prometheus监控K8S集群
    Kubernetes学习目录1、简介1.1、原因这里我们以prometheus的配置解析如获取各各所需的文件和相关的原理问题,不会细写通过标签如果去获取数据的规则,先把获取K8S的数据链路打通,有助于后面的深入。研究四五天,网上搜了,获取相关token和ca.crt文件这块都是忽略了事,踏了不少坑。1.2......