node_exporter无需公网 IP 也能远程监控服务器!cpolar内网穿透实验室第 583 个成功挑战

软件名称:node_exporter

操作系统支持:支持 Linux(如 CentOS、Ubuntu)、Windows、macOS 等主流操作系统,本文以 CentOS 7 为例进行演示。

软件介绍 :node_exporter 是 Prometheus 生态中的 "服务器健康管家",轻量级却能力强,能像体检仪一样实时采集 CPU 使用率、内存占用、磁盘 I/O、网络流量等系统指标,通过 9100 端口把这些数据整理成 "体检报告",供监控系统分析,帮用户随时掌握服务器 "身体状况"。

node_exporter 的出色功能

node_exporter 最厉害的本事是 "全身体检 + 数据翻译"。它能钻进服务器底层,把 CPU 的 "忙碌程度"、内存的 "饱腹状态"、磁盘的 "读写速度" 等一堆晦涩数据,转换成监控系统能看懂的格式。不管是物理机、虚拟机还是容器,它都能轻松适配,就像个万能体检仪,走到哪测到哪,还能 24 小时不打烊地持续监测,让服务器的任何 "小毛病" 都无所遁形。

实用场景

  • 家庭 NAS 远程监控
    • 痛点:家里的 NAS 存着全家的照片和电影,想在外网看看存储空间够不够、下载速度快不快,却被局域网死死拦住,要么得折腾复杂的路由器端口映射,要么就得花钱买带公网 IP 的服务。
    • 爽点:用 node_exporter 采集 NAS 的运行数据,再通过 cpolar 穿透内网,手机流量也能随时查看 NAS 状态,出差时想传个文件,先看看剩余空间够不够,心里有数不慌。
  • 小微企业服务器管理
    • 痛点:小公司几台服务器放在办公室,没专业机房也没公网 IP,技术人员下班回家后,服务器突然卡壳只能干着急,连夜回公司处理太折腾。
    • 爽点:部署 node_exporter 后,通过 cpolar 的公网地址,在家打开电脑就能看到服务器的 CPU、内存实时数据,判断是程序跑飞了还是网络波动,远程就能重启服务,省去来回奔波的麻烦。

cpolar 内网穿透技术带来的便利

有了 cpolar,就像给 node_exporter 开了个 "全球通行证"。不用申请公网 IP,不用改路由器设置,更不用懂复杂的网络知识,小白也能轻松上手。

远程监控时,不管你在公司、咖啡厅还是老家炕头,只要有网络,输入 cpolar 给的公网地址,服务器的各项指标立马呈现在眼前,就像把服务器揣进了口袋,随时随地想看就看。

而且 cpolar 还能给你一个固定的 "门牌号"(固定二级子域名),不用担心地址天天变,把这个地址填进 Prometheus 配置里,监控系统就能稳定抓取数据,不用天天手动改配置,省了不少烦心事。

安全性也不用愁,cpolar 就像个尽职尽责的门卫,只让授权的请求通过,外人想偷偷访问服务器数据?门儿都没有。

总结

node_exporter 是服务器的 "健康监测仪",能把各项运行指标摸得清清楚楚;cpolar 是 "穿墙神器",能打破局域网的束缚,让这些数据随时随地可查。两者结合,就像给服务器装了个 "远程听诊器",不用在服务器旁边守着,也能对它的状态了如指掌。

对于个人用户、小微企业或者技术爱好者来说,这套组合既不用花大价钱买公网 IP,操作又简单,让远程监控服务器从 "技术活" 变成了 "家常事",实乃低成本、高效率的服务器管理好帮手。

完美组合将繁琐工作简单化,大大的节约了运维人的时间和体力成本。简直就是天降福利!按照下面的步骤就可以领取呦!

本文将带你突破这一限制,无需公网 IP,也能实现远程监控。我们将结合开源监控工具 node_exporter 与内网穿透神器 cpolar,教你如何将本地服务器的监控接口(默认端口 9100)安全、稳定地暴露到公网,并通过浏览器随时随地查看系统状态。

无论你是个人开发者、NAS 用户,还是运维初学者,都能通过本文快速搭建一套属于自己的远程监控系统。告别"黑盒"服务器,让每一台设备的运行状态尽在掌握。

1.在Centos7上安装node_exporter

node_exporter 需由 Prometheus 抓取数据,因此需预先部署 Prometheus。

未安装prometheus的可以参考这篇文章:监控不再局域网!Cpolar 让 Prometheus 走出内网限制! - cpolar 极点云官网

使用命令安装node_exporter:

shell 复制代码
curl -LO https://github.com/prometheus/node_exporter/releases/download/v1.2.0/node_exporter-1.2.0.linux-amd64.tar.gz

下载完后,解压:

shell 复制代码
tar xvfz node_exporter-1.2.0.linux-amd64.tar.gz

将名为 node_exporter-1.2.0.linux-amd64 的目录,移动到 /opt 目录下,并重命名为 node_exporter:

shell 复制代码
 mv node_exporter-1.2.0.linux-amd64 /opt/node_exporter

使用 vi 编辑器,创建或修改一个 systemd 服务配置文件,以便将 node_exporter 注册为一个系统服务,实现开机自启、状态管理(如 start/stop/status)等功能:

shell 复制代码
sudo vi /etc/systemd/system/node_exporter.service

将 node_exporter 注册为一个 Linux 系统服务,以专用用户身份运行,确保在网络就绪后自动启动,并支持通过 systemctl 命令进行管理:

shell 复制代码
[Unit]
Description=Node Exporter
Documentation=https://github.com/prometheus/node_exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/opt/node_exporter/node_exporter

[Install]
WantedBy=default.target

创建一个名为 node_exporter 的系统用户,不创建家目录、不允许登录,专用于运行 node_exporter 服务:

shell 复制代码
useradd --no-create-home --shell /bin/false node_exporter

通知 systemd 重新加载所有服务配置文件:

shell 复制代码
 systemctl daemon-reload
 systemctl enable node_exporter

启动后,ip+9100即可启动node_exporter:

2.Prometheus配置node_exporter

进入prometheus的安装目录,编辑prometheus.yml:

shell 复制代码
vi prometheus.yml

加入如下,注意格式(不然无法启动成功):

shell 复制代码
      - targets: ["localhost:9100"]
        labels:
          app: "node_exporter"

重启Prometheus:

shell 复制代码
systemctl restart prometheus

prometheus 成功抓取了node_exporter指标数据:

测试了一下,若是未启动端口,是无法成功抓取的!

接下来,我们利用内网穿透工具cpolar将 node_exporter 的 9100 端口安全暴露至公网,实现远程可视化监控。

3.安装cpolar实现随时随地开发

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

shell 复制代码
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

shell 复制代码
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://192.168.42.101:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

4.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:

  • 隧道名称:可自定义,本例使用了:node_exporter,注意不要与已有的隧道名称重复

  • 协议:http

  • 本地地址:9100

  • 域名类型:随机域名

  • 地区:选择China VIP

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

5.将本地node_exporter暴露给Prometheus进行远程抓取

Prometheus可以通过这个公网地址6d00d2bf.r8.vip.cpolar.cn访问到运行在本地9100端口的node_exporter服务,从而抓取系统指标。

shell 复制代码
      - targets: ["6d00d2bf.r8.vip.cpolar.cn"]
        labels:
          app: "node_exporter"

抓取成功!

6.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Vip,然后设置一个二级子域名名称,我这里演示使用的是node1,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道node_exporter,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Vip

点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的prometheus页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

至此,我们完成了无需公网 IP 的远程服务器监控搭建。

结尾

通过本文的介绍,我们已经成功搭建了一个无需公网IP的远程服务器监控系统。借助 node_exporter 的强大监控能力与 cpolar 的内网穿透技术,无论您身处何地,都可以轻松访问并监控您的服务器状态。这种解决方案不仅避免了复杂的网络配置和高昂的成本,还提供了灵活、安全的远程监控体验。✨

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

相关推荐
秋叶清风1 小时前
启动两个服务器时,能连接到第一个服务器,但连接失败到第二个服务器
运维·服务器
水天需0101 小时前
awk 命令全面详解
linux·运维·服务器
袁煦丞 cpolar内网穿透实验室1 小时前
Grafana突破局域网限制,随时随地访问数据看板! cpolar内网穿透实验室第 515 个成功挑战
grafana·远程工作·内网穿透·cpolar·随时访问
Jtti1 小时前
网站服务器首页正常但内页全部404是什么原因?
运维·服务器·数据库
小虎哥-技术博客1 小时前
apache服务器.htaccess屏蔽所有搜索引擎蜘蛛/爬虫访问网站图片资源(避免带宽占用)
服务器·搜索引擎·apache
咖丨喱1 小时前
【修复miracast连接兼容性问题,优化信道协商流程】
服务器·后端·asp.net
中云DDoS CC防护蔡蔡1 小时前
国外服务器延迟高怎么办
服务器·经验分享·http·网络安全·ddos
TTc_1 小时前
详细讲解Vue+Java的websocket通讯,整合进微服务,XXL Job调用通讯流程
websocket·网络协议·微服务
wanhengidc1 小时前
云手机 高算力 快速便捷
运维·服务器·科技·游戏·智能手机