赞
踩
无论是做性能测试或是运维等都会用到对服务的监测,最基本的监测是就是对服务器的基本指标监测,比如:cpu、内存、I/O、网络等。这些其实一般系统自带的都有工具,很方便,比如常见的linux系统自带的top工具,windows自带的"poerfmon性能监视器”,但有个特点就是这些工具都只能查看实时数据,无法把数据汇总起来即无法查看历史数据,对回溯问题不是很友好。这也就有了后来专业的监测工具。除了zabbix外,目前比较流行的就是peometheus等组合起来的一套专业工具。今天不做其他介绍,只做客户端的安装时踩的坑及如何处理。
操作系统:CentOS7
这里需要注意的是docker安装时,docker访问下载库等设置都是正常的。使用此方法是最简单的,使用一行命令就可以完成。这里使用默认常用的端口9100,下载最新的镜像。
docker run -d -p 9100:9100 --name node-exporter prom/node-exporter:latest
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地址进行访问
可以把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
打开编辑prometheus的配置文件prometheus.yml,在对应的位置添加以下内容:
- job_name: "node exporter"
metrics_path: '/metrics'
scheme: 'http'
static_configs:
- targets: ["192.168.40.29:9100"]
可以在prometheus里的targets查看是否正常
[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’.
尝试过的解决办法:
[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
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
注:尝试了以上两种方法,还是没有拉取成功。以前是可以不知道这次怎么就解决不了。由于使用比较急就换了第二种安装方式正常启动。
原因:因防火墙给隔离了。关闭防火墙或是添加防火墙端口即可
关闭防火墙:
systemctl stop firewall #关闭防火墙
如果安装使用的是iptables:
则可以添加对应端口9100即可
vim /etc/sysconfig/iptables
添加下面内容:
-A INPUT -p tcp -m state --state NEW -m multiport --dports 9100 -j ACCEPT
具体防火墙配置规则请关注后期的文章,改天再整理出一遍详情加实例的说明来,在此就不多说。
如果您觉得此文对您有帮忙就顺手点个赞,给予我继续写作下去的精神支持;
如果您对此文有疑问需要讨论或是解答的问题,请留言,我们一起探讨学习;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。