性能监测工具-node-export

2023-05-16

1.前言

无论是做性能测试或是运维等都会用到对服务的监测,最基本的监测是就是对服务器的基本指标监测,比如:cpu、内存、I/O、网络等。这些其实一般系统自带的都有工具,很方便,比如常见的linux系统自带的top工具,windows自带的"poerfmon性能监视器”,但有个特点就是这些工具都只能查看实时数据,无法把数据汇总起来即无法查看历史数据,对回溯问题不是很友好。这也就有了后来专业的监测工具。除了zabbix外,目前比较流行的就是peometheus等组合起来的一套专业工具。今天不做其他介绍,只做客户端的安装时踩的坑及如何处理。

2.安装环境

操作系统:CentOS7

3.前提条件

  • 网络正常,能正常下载。
  • 防火墙已关闭或是已添加对外访问开放的端口

4.操作步骤

4.1. 方法一:使用docker安装

这里需要注意的是docker安装时,docker访问下载库等设置都是正常的。使用此方法是最简单的,使用一行命令就可以完成。这里使用默认常用的端口9100,下载最新的镜像。

docker run -d -p 9100:9100 --name node-exporter prom/node-exporter:latest

4.2. 方法二:直接下载node-export安装包

4.2.1. 下载解压执行

node-export下载地址:https://prometheus.io/download/#node_exporter
在这里插入图片描述
也可以使用wget命令直接下载到服务器上解压执行即可:

cd /home #进入到home目录里

wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz    #下载node_export

tar -zxf node_exporter-1.4.0.linux-amd64.tar.gz  #解压到当前目录下

cd node_exporter-1.4.0.linux-amd64  #进入目录

./node_export && #后台启动node_export

curl http://127.0.0.1:9100/meterics  #查看是否访问,也可以换成安装服务器的ip地址进行访问

4.2.2. 配置服务

可以把node_exporter注册成服务,配置开机启动。

vim /etc/systemd/system/node_exporter.service   #创建服务文件node_exporter.service

添加如下内容:

Description=Node Exporter
Wants=network.target
After=network.target

[Service]
ExecStart=/home/node_exporter-1.4.0.linux-amd64/node_exporter #node_export可执行文件的地址,即解压安装的执行目录
Restart=always

[Install]
WantedBy=multi-user.target

配置开机自启动

systemctl daemon-reload && systemctl start node_exporter &&systemctl enable node_exporter

5.集成到prometheus里

打开编辑prometheus的配置文件prometheus.yml,在对应的位置添加以下内容:

  - job_name: "node exporter"
    metrics_path: '/metrics'
    scheme: 'http'
    static_configs:
      - targets: ["192.168.40.29:9100"]

可以在prometheus里的targets查看是否正常

6.遇到的问题及解决方法

6.1.docker拉取镜像超时失败

在这里插入图片描述
[root@localhost ~]# docker run -d -p 9100:9100 --name node-exporter prom/node-exporter:latest
Unable to find image ‘prom/node-exporter:latest’ locally
Trying to pull repository docker.io/prom/node-exporter …
sha256:4dc469c325388dee18dd0a9e53ea30194abed43abc6330d4ffd6d451727ba3e6: Pulling from docker.io/prom/node-exporter
50783e0dfb64: Pull complete
daafb1bca260: Pull complete
0d36f17aa02f: Downloading 1.33 MB/10.21 MB
/usr/bin/docker-current: error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/d3/d3e443c987ef405e1be101647873d86b5729c9c47bb1dd1ab59ccb24bc9e322c/data?verify=1668154413-inZiTiKsWuh0rnAfOMzOIS0NSdY%3D: read tcp 192.168.20.240:11850->104.18.121.25:443: read: connection timed out.
See ‘/usr/bin/docker-current run --help’.

尝试过的解决办法:

  • 1)修改docker配置文件,在OPTTIONS项中添加“–registry-mirror=http://f2d6cb40.m.daocloud.io”
[root@iam node_exporter-1.4.0.linux-amd64]# vim /etc/sysconfig/docker

# /etc/sysconfig/docker

# Modify these options if you want to change the way the docker daemon runs
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=http://f2d6cb40.m.daocloud.io'
if [ -z "${DOCKER_CERT_PATH}" ]; then
    DOCKER_CERT_PATH=/etc/docker
fi
  • 2)在“/etc/docker/daemon.json”添加docker配置
    vim /etc/docker/daemon.json
    
    添加如下内容:
    {
     "registry-mirrors": ["https://registry.docker-cn.com","https://nrbewqda.mirror.aliyuncs.com","https://dmmxhzvq.mirror.aliyuncs.com"]
    }
    
    systemctl restart docker #配置完成后重启docker
    

注:尝试了以上两种方法,还是没有拉取成功。以前是可以不知道这次怎么就解决不了。由于使用比较急就换了第二种安装方式正常启动。

6.2. 配置完成后在本机访问没有问题,其他机器访问不了

原因:因防火墙给隔离了。关闭防火墙或是添加防火墙端口即可
关闭防火墙:

systemctl stop firewall #关闭防火墙

如果安装使用的是iptables:
则可以添加对应端口9100即可

vim /etc/sysconfig/iptables

添加下面内容:

-A INPUT -p tcp -m state --state NEW -m multiport --dports 9100 -j ACCEPT

具体防火墙配置规则请关注后期的文章,改天再整理出一遍详情加实例的说明来,在此就不多说。

如果您觉得此文对您有帮忙就顺手点个,给予我继续写作下去的精神支持;
如果您对此文有疑问需要讨论或是解答的问题,请留言,我们一起探讨学习;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

性能监测工具-node-export 的相关文章

  • 将参数从 udev 规则文件传递给 shell 脚本

    在规则文件中 通过传递参数 LABEL 和 DEVNAME 来执行脚本以进行安装 ACTION add RUN appmount scripts usb mount sh E ID FS LABEL E DEVNAME 在 usb moun
  • T SQL - 将查询导出到 xls /xlsx / csv

    我有一个复杂的 SQL 动态查询 我想将其导出到 Excel 如果重要的话 结果表包含文本长度超过 255 个字符的字段 我知道我可以使用 Management Studio 菜单导出结果 但我想通过代码自动执行此操作 你知不知道怎么 提前
  • 如何将 ORACLE DB 中大约 300 个表的数据导出到 csv 或 txt 文件

    是否有可能使用任何 PL SQL 过程将包含数百万条记录的单个模式中的大约 300 个表中的数据导出到 CSV 或 TXT 您有什么建议 哪种方法最快 目前我不需要将这些导出的文件导入到任何其他模式 我尝试使用 Toad 手动逐表导出 我创
  • 构建 VITE 应用程序时如何分配自定义 CSS 文件名?

    是否可以在VITE中构建并使用application name css or my site name css VITE 可以选择构建自定义 JS 文件 但不能构建自定义 CSS 或 SCSS 文件 用于导出 https vitejs de
  • 如何将数据导出到 Excel 文件

    我有一个 Excel 文件 其中包含数据 我想将它的一些特定行写入我通过代码创建的另一个 Excel 文件 顺便说一句 我在列表中列出了这些行的索引 我怎样才能做到这一点 MS 提供 OpenXML SDK V 2 5 请参阅https m
  • 将所有提交导出到 ZIP 文件或目录中

    如何将所有提交导出到 ZIP 文件 包含全部文件 不仅仅是补丁 差异 myproject commit1 67d91ab zip myproject commit2 9283acd zip myproject commit3 c57daa6
  • 使用 Visio 2010 (Professional Plus) 从 SQL 导出实体关系图

    我正在寻找问题的相反解决方案从 Visio 图表导出 SQL https stackoverflow com questions 3506012 exporting sql from a viso diagram 我有用于创建 MySQL
  • 控制导出图表的分辨率

    我有一个 Excel 用户窗体 它允许您将某个工作表中的 Excel 图表保存到 jpg 图像 同时在用户窗体中显示该图表 然而我发现很难控制所述图像的分辨率 分辨率似乎取决于工作表上的缩放量 当我放大时 我会得到高质量的图像 而当我缩小时
  • Tensorflow 0.8导入导出输出张量问题

    我正在使用 Tensorflow 0 8 和 Python 3 我正在尝试训练神经网络 目标是每 50 次迭代自动导出 导入网络状态 问题是当我在第一次迭代时导出输出张量时 输出张量名称是 Neg 0 Slice 0 但是当我在第二次迭代时
  • ES6 导出对象的所有值

    假设我有一个模块 my module js 有一个对象 该对象应该是它的返回值 let values a 1 b 2 c 3 export values results in SyntaxError Unexpected token 所以我
  • 如何导入和导出 JBPM 6.5 存储库

    我想问您是否知道如何在不同的 Kie Workbench 之间导出和导入 JBPM 项目 我正在使用 JBPM 6 5 谢谢 使用 Git 可能是唯一合理的方法 按照此顺序 可以将项目放入 git 存储库 然后将其导入到其他实例 在装有 j
  • Babel.js 使用导入和导出不起作用

    我正在尝试使用导入和导出来创建模块 但它不起作用 I added https cdnjs cloudflare com ajax libs babel standalone 6 24 0 babel min js https cdnjs c
  • 自动 AWS DynamoDB 到 S3 导出失败,并显示“role/DataPipelineDefaultRole 无效”

    严格按照以下说明进行操作这一页 http docs aws amazon com amazondynamodb latest developerguide DataPipelineExportImport Exporting html我正在
  • 将 Flash (AS3) 数据保存为 XML

    我在互联网上 包括 Stack Overflow 花了好几个小时 试图找到一个可靠的 可行的示例 将 Flash 中的信息保存到 XML 文件中 我想获取两种不同类型对象的位置并将每个对象的列表导出到 XML 我们将调用这些对象ball a
  • 将列联表从 R 导出到 Excel 的最有效方法

    我正在 R 中创建一些列联表 交叉表 我想将其移动到 Excel 以在 Word 文档中使用 我发现了关于如何在几个问题中表现出色的讨论 如何将多元预测结果从 R 导出到 Excel https stackoverflow com ques
  • 如何导出带有产品完整 url 的产品 csv

    我想导出包含完整产品 url 的产品 CSV 即包括基本 url 我不想手动执行此操作 是否可以自定义代码 以便产品导出具有完整的 url
  • React 延迟加载 JavaScript 文件

    我正在尝试使用 React lazy 来提高我的应用程序的性能 由于以太坊轻钱包是一个巨大的文件 我想将其放入一个单独的包中 当前正在运行的导入如下 import lightwallet from eth lightwallet dist
  • Jenkins 管道中的导出命令

    如何在 Jenkins 管道中添加 导出 unix 命令 我里面有一个詹金斯 舞台 和 步骤 导出命令的语法是什么 我需要使用导出命令设置环境变量 PATH 您可以更新 PATH像这样 pipeline agent label docker
  • Excel 在“.xls”中发现不可读的内容。同时导出水晶报表到excel

    我正在将数据从 Crystal 报告导出到 PDF 工作正常 并显示所有记录 但是当我将其导出到 Excel 文件中并成功导出时 以及当我在 Excel 中打开它时给出错误消息 文件错误 数据可能已丢失 当我点击 确定 按钮时 在 Exce
  • 将图层坐标导出到 Excel 的脚本

    我找到了一个脚本 可以将我的图层坐标从 Photoshop CS5 导出到 XML 我希望这里有人可以帮助我编辑该脚本以将坐标记录到 xls 文件中 另外 如果可以将每个坐标放在单独的行上 那就太好了 下面是我想修改以满足我需要的脚本 Th

随机推荐