性能监测工具-node-export

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

性能监测工具-node-export
也可以使用wget命令直接下载到服务器上解压执行即可:
cd /home

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

tar -zxf node_exporter-1.4.0.linux-amd64.tar.gz

cd node_exporter-1.4.0.linux-amd64

./node_export &&

curl http://127.0.0.1:9100/meterics

4.2.2. 配置服务

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

vim /etc/systemd/system/node_exporter.service

添加如下内容:

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

[Service]
ExecStart=/home/node_exporter-1.4.0.linux-amd64/node_exporter
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查看是否正常

性能监测工具-node-export

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

6.1.docker拉取镜像超时失败

性能监测工具-node-export
[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]

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

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

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

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

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

Original: https://blog.csdn.net/sunnygirltest/article/details/127812998
Author: 晴空06
Title: 性能监测工具-node-export

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/655172/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球