性能监测工具-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
在这里插入图片描述
也可以使用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

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

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

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值