运维服务器监控不用蹲机房,node_exporter 远程看全靠cpolar

运维服务器监控不用蹲机房,node_exporter 远程看全靠cpolar
在这里插入图片描述

node_exporter 是一款轻量级的服务器监控工具,核心功能是实时采集服务器的 CPU、内存、磁盘、网络等运行指标,并将这些数据以标准化格式输出,供监控系统分析,它适配物理机、虚拟机、容器等多种部署环境,能帮助使用者及时发现服务器的性能瓶颈和异常状态。

作为日常管理多台服务器的运维人员,我最认可 node_exporter 的地方在于它的易用性和全面性:安装部署步骤简单,即使是运维新手也能快速上手;采集的指标维度足够细致,小到磁盘读写速度,大到 CPU 整体负载,都能清晰呈现,而且运行时几乎不占用服务器资源,不会影响业务程序的正常运行。

在这里插入图片描述

原本受限于局域网,使用 node_exporter 只能在办公室查看服务器状态,一旦外出,无论是客户现场调试需要确认服务器资源,还是周末在家遇到服务器告警,都无法及时查看指标。而用 cpolar 解决了局域网限制后,体验感大幅提升:出差时在咖啡厅就能通过公网地址查看公司服务器的运行数据,判断故障原因;居家时能随时监控家里 NAS 的存储空间和下载速度,不用再特意跑回家操作;甚至能把公网地址配置到监控系统中,实现 7×24 小时的远程指标抓取,彻底摆脱了地域的束缚,工作效率也提高了不少。

在这里插入图片描述

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

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

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

1.在Centos7上安装node_exporter

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

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

使用命令安装node_exporter:

curl -LO https://github.com/prometheus/node_exporter/releases/download/v1.2.0/node_exporter-1.2.0.linux-amd64.tar.gz 
67d94e9bf4d52e5bf630219002f5fee2

下载完后,解压:

tar xvfz node_exporter-1.2.0.linux-amd64.tar.gz 
50e525519c2f5818aecc5e3f4364cfd0

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

mv node_exporter-1.2.0.linux-amd64 /opt/node_exporter 
93ff7acd392aadd752a4d0ddd8c3ac9b

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

sudovi /etc/systemd/system/node_exporter.service 

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

[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 
a52a219f4376276f0b149cb067daae74

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

useradd --no-create-home --shell /bin/false node_exporter 
984dbbcd4abf705132294920d9afd0c3

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

 systemctl daemon-reload systemctl enable node_exporter 
cf4a78285e92a6f1563c4834ca03bc2e

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

1ea5b3008fb70f7dd5e120ddb83d1e55

2.Prometheus配置node_exporter

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

vi prometheus.yml 
617b7c63988725ef8a361a4e7afb4b4a

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

 - targets: ["localhost:9100"] labels: app: "node_exporter"
da4ca969172c78b2545feba4e1b7556d

重启Prometheus:

systemctl restart prometheus 
f69eab54844fe0c568b150191e847712

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

image-20250812161557785

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

6cd3706ba634cc189d2f4abcbd9f3049

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

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

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

❤️以下是安装cpolar步骤:

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

使用一键脚本安装命令:

sudocurl https://get.cpolar.sh |sh
6fcd3d90953ab77775b2e3ab5c2a9111

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

sudo systemctl status cpolar 
22e5adfaf290a17fc3384bb296055259

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

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

8a6698b1bf26d64ba3645827fbfb1c29

4.配置公网地址

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

  • 隧道名称:可自定义,本例使用了:node_exporter,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:9100
  • 域名类型:随机域名
  • 地区:选择China VIP
06b69ce2ee324e2c65f18f1f03833e01

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

fe8d3b9415b5bb9e2ff7a87203a9d594

访问成功。

15c40cc2fb0d0b6fc61f68b1f8f6d204

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

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

 - targets: ["6d00d2bf.r8.vip.cpolar.cn"] labels: app: "node_exporter"
ffb79f333b78cdc9538b78fc6f926146

抓取成功!

196cba50e66e222af12a10f8316a9ca8

6.保留固定公网地址

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

bb57af88579d81253d911fe4abd7fe01

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

0da9d8336c189e234028da4552c4fd44

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

5f79253dc7e9f6f14b000b8b2f193591

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

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

点击更新

f689f71c69033bd9a3e083dc5253d7f4

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

cecc3c1c606214a5d8db73aa343c6d9d

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

84656939b0fad66e63c122c707069691

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

Read more

Flutter 三方库 w_module 的鸿蒙化适配指南 - 实现具备高度隔离与契约驱动的模块化架构、支持端侧复杂业务模组的动态注入与生命周期协同实战

Flutter 三方库 w_module 的鸿蒙化适配指南 - 实现具备高度隔离与契约驱动的模块化架构、支持端侧复杂业务模组的动态注入与生命周期协同实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 w_module 的鸿蒙化适配指南 - 实现具备高度隔离与契约驱动的模块化架构、支持端侧复杂业务模组的动态注入与生命周期协同实战 前言 在进行 Flutter for OpenHarmony 的超大型应用(如超级 App)开发时,如何确保不同团队研发的业务模块(Module)之间既能互通有无,又能实现代码级的物理隔离?w_module 是一款专为大规模工程设计的模块化通信与生命周期管理库。它强调通过“契约(API Contract)”进行交互。本文将探讨如何在鸿蒙端构建极致解耦的模块化底座。 一、原直观解析 / 概念介绍 1.1 基础原理 w_module 建立在“模块封装(Encapsulation)”与“分发器(Dispatcher)”机制之上。

By Ne0inhk

2024 年 MySQL 8.0 安装 配置 教程 最简易(保姆级)

欢迎大家浏览我的主页和博客:https://www.ovvv.top,https://blog.ovvv.top 1.官网下载MySQL MySQL :: Download MySQL Installer?编辑https://dev.mysql.com/downloads/installer/这只是一个安装器, 安装包里有64位的MySQL Server 这里让我们登账号,忽略,直接下载 然,要是下载速度太慢,你也可以用我的链接2023.7.13更新。 mysql-installer-community-8.0.33.0 mysql-installer-community-8.0.33.0.msi MD5: 9b4ce33ab05ae7e0aa30a6c4f1a4d1c2 MySQL如果是 安装包安装, 可以图形化界面自主配置 如果是压缩包解压, 可以配置 配置文件, 可以解压安装到指定的路径.

By Ne0inhk

图形化界面MySQL(MySQL)(超级详细)

目录 1.官网地址 1.1在Linux直接点击NO thanks…? 1.2任何远端登录,再把jj数据库给授权 1.3建立新用户 优点和好处 示例代码(MySQL Workbench) 示例代码(phpMyAdmin) 总结 图形化界面 MySQL 工具大全及其功能分析 一、引言 二、常见的 MySQL 图形化界面工具 1.?MySQL Workbench 2.?phpMyAdmin 3.?DBeaver 4.?Navicat for MySQL 5.?HeidiSQL 三、图形化界面 MySQL 工具的优缺点对比 四、如何选择合适的图形化 MySQL 工具 五、扩展与未来趋势

By Ne0inhk
Spring AI宣布支持Agent Skills,Java开发者的福音

Spring AI宣布支持Agent Skills,Java开发者的福音

Agent Skills是一种模块化能力,以包含YAML前置元数据的Markdown文件形式打包。每个技能都是一个文件夹,其中包含一个SKILL.md文件,该文件包含元数据(至少包括名称和描述)以及指导AI Agent如何执行特定任务的说明。 Agent Skills(AI Agent技能)正在成为构建智能应用的新范式。它将AI能力模块化为可发现、可加载的资源包,让开发者不再需要为每个任务硬编码知识或创建专用工具。 Spring A正式I将这一设计模式引入Java生态系统,并实现了跨LLM的可移植性——你只需定义一次技能,就能在OpenAI、Anthropic、Google Gemini等任何支持的模型上使用。 这是Spring AI Agentic Patterns系列的第一篇文章。本系列将深入探讨spring-ai-agent-utils工具包,一套受Claude Code启发的完整Agent模式集合。 我们将依次介绍Agent Skills(本文)、任务管理、AskUserQuestion交互式工作流,以及用于复杂多Agent系统的分层子Agent。 什么是Agent

By Ne0inhk