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
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查看是否正常
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]
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/
转载文章受原作者版权保护。转载请注明原作者出处!