云计算百科
云计算领域专业知识百科平台

WGCLOUD怎么监控多台服务器?从Server、Agent 部署到监控面板实战

前言

监控系统最容易给人一种错觉:服务端页面能打开,就算部署完成了。

真正开始接入主机以后,问题才会逐渐出现。数据库连不上、Agent 找不到 Server、不同机器之间端口不通,甚至明明能在终端登录 MySQL,WGCLOUD 启动时却依然提示连接失败。相比安装程序本身,这些环节才更接近一套监控平台实际落地时会遇到的问题。

本文会从 WGCLOUD 服务端开始,在 Linux 中解压程序、初始化 MySQL 数据库并修改 application.yml,随后启动 Server。过程中还会实际处理一次 JDBC 连接 MySQL 失败的问题,说明为什么命令行能够使用 localhost 登录,并不代表 Java 应用通过 TCP 访问 127.0.0.1 时也拥有相同权限。

服务端运行以后,再部署 Agent,把其他 Linux 主机陆续接入进来,并实际体验主机资源、端口、日志、Docker、数据库以及拓扑等监控功能。

最后还会通过 cpolar 给 WGCLOUD 的 Web 管理页面增加公网访问入口和固定二级子域名,让这套部署在内网里的监控平台可以在异地继续查看。

f2d252024c9728df212a7bc71bcf053d

1.什么是WGCLOUD?

WGCLOUD 是一款由国人开发、完全开源免费的高性能 IT 基础设施监控系统,专注于对服务器、网络、应用及中间件等资源进行实时、全面的监控与告警。它以轻量、易用、功能强大和对国产化环境友好而著称,被誉为“国产开源监控之光”。

核心特点:

  • 全栈监控能力

    主机监控:CPU、内存、磁盘、网络、负载、进程、温度等。

    服务/应用监控:HTTP、Ping、端口存活、数据库(MySQL、PostgreSQL、Oracle 等)、Redis、MongoDB、FTP、SMTP 等。

    中间件与组件:支持 Nginx、Tomcat、Docker、Kubernetes(部分集成)等。

    自定义监控:可通过 Shell 脚本、API 接口扩展监控项。

  • 轻量高效,资源占用低

    采用Java + Vue技术栈,服务端部署简单,Agent 体积小、运行稳定,适合从个人开发者到中大型企业的多种场景。

  • 可视化与告警强大

    提供丰富的图表展示(实时曲线、历史趋势、拓扑图等)。

    支持多通道告警通知:邮件、钉钉、企业微信、飞书、Webhook 等。

    告警策略灵活,可设置阈值、持续时间、静默期等。

  • 国产化友好

    完全兼容国产操作系统(如统信 UOS、麒麟 Kylin)、国产 CPU 架构(鲲鹏、飞腾、龙芯等)及国产数据库,满足信创环境需求。

  • 开源免费,社区活跃

项目托管于Gitee(码云),代码公开透明,文档齐全,更新迭代快,拥有活跃的中文社区支持。

典型应用场景:

  • 企业私有化部署的运维监控平台
  • 云服务器/IDC 机房资源统一管理
  • DevOps 流程中的健康检查环节
  • 国产化替代方案中的监控组件

官网 & 开源地址:https://www.wgstart.com (Gitee 项目名:wgcloud)

简而言之,WGCLOUD是一款“开箱即用、功能全面、本土优化”的国产开源监控利器,为追求安全可控、高效运维的团队提供了极具性价比的选择。

2.部署WGCLOUD前提条件

服务器/主机环境要求:

项目要求
操作系统 支持主流 Linux 发行版(如 CentOS 7+/Ubuntu 18.04+/Debian 10+),也支持 Windows Server(仅服务端)✅ 特别适配国产系统:统信 UOS、麒麟 Kylin、中标麒麟等
CPU 架构 x86_64(Intel/AMD)✅ 兼容国产 CPU:鲲鹏(ARM64)、飞腾、龙芯(LoongArch)等(需确认对应版本)
内存 建议 ≥ 2 GB(仅运行服务端)若同时监控大量主机,建议 ≥ 4 GB
磁盘空间 ≥ 5 GB 可用空间(含日志与数据库)
网络 服务器需能访问被监控主机的相应端口(如 SSH、数据库端口等)被监控主机需能访问 WGLOUD 服务端的 Agent 注册端口(默认 9999)

基本工具安装:

yum install -y vim wget

服务端(Server)依赖

  • Java 环境:JDK 1.8 或 JDK 11(推荐 OpenJDK)

java -version # 验证是否已安装

  • 数据库
    • H2 内嵌数据库(默认,适合小型部署,无需额外安装)
    • MySQL 5.7+ / MariaDB / PostgreSQL / Oracle(生产环境推荐,需提前创建数据库)

被监控端(Agent)依赖

  • Linux 主机:需安装 Java 1.8+(用于运行 Agent)
  • Windows 主机:无需 Java,直接运行 .exe 版 Agent
  • SSH 访问权限(可选):若通过服务端远程部署 Agent,需配置免密 SSH 登录

网络与端口开放:

组件默认端口用途是否必须开放
WGLOUD 服务端 Web 8080 管理界面访问 ✅ 是
WGLOUD Agent 注册通信 9999 Agent 与服务端心跳/数据上报 ✅ 是
数据库(若外置) 如 MySQL 3306 服务端连接数据库 ✅ 是
被监控服务端口 如 Redis 6379、MySQL 3306 等 用于服务探测 按需开放

3.安装WGCLOUD

下载安装文件(从官网下载安装文件):

2ce0b4f90132356f97f2b4067c283a44

c7ee82371be1eb549f0512e4586fc50b

1b351e67f4f888ab1700957475d28591

上传到linux系统的/usr/local目录下:

945880f9afea1f64364fc1b19a6340b8

解压缩安装文件后,进入文件目录:

tar -zxvf wgcloud-v3.6.6.tar.gz
cd wgcloud-v3.6.6

f9047039ad466f6f12e778efbbfe291f

查看文件目录:

image-20260409142405537

4.配置mysql数据库

登录:

mysql -uroot -p【密码】

创建数据库:

create database wgcloud;

使用新建的数据库wgcloud:

use wgcloud;

执行初始化脚本:

你使用的是 MySQL,并且已经创建了wgcloud数据库),你应该使用:wgcloud-MySQL.sql

这是WGCLOUD项目为 MySQL 数据库专门准备的初始化脚本。

source /usr/local/wgcloud-v3.6.6/sql/wgcloud-MySQL.sql

30672468397623a2564d6e7b0c8f9c6b

验证是否导入成功:

SHOW TABLES;

887944a866eee30aa90042b8180e56a4

5.编辑WGCLOUD配置文件

进入wgcloud的server目录并查看文件列表:

cd server/
ll

进入server配置文件目录:

cd config/
ll

edeaf940a98b94c94e53ddb48b6b973a

修改application.yml配置文件,主要修改mysql的密码,确保可以正确连接:

e6abb2123442e6691619e2391d0b0c49

往下面划,可以看见登录wgcloud页面的账户密码:

f3794faf8d105f839ca49928098818d1

进入wgcloud的server并启动server服务:

cd /usr/local/wgcloud-v3.6.6/server/
./start.sh

29165f8a733fab014bd4266f64413b9e

在这里我说一下我启动的过程中遇到的问题,在我启动过程中,显示我的数据库一直连接不上,但是我的账户名密码,又全都正确,这究竟是什么原因呢?

在这里我顺便学习到了一个知识点:

在 MySQL 中:localhost表示 使用Unix Socket连接(不是TCP/IP)127.0.0.1表示 使用 TCP/IP 连接

Java应用(WGCLOUD)通过JDBC只能走TCP/IP,即使你写localhost,JDBC驱动也会解析为127.0.0.1 并尝试 TCP 连接。

但你的MySQL没有root@127.0.0.1这个用户,所以连接被拒绝!

你能在命令行用mysql -u root -p登录,是因为它默认走的是Unix Socket,匹配的是root@localhost,所以成功。

但Java程序走TCP,找不到root@127.0.0.1,就失败了。

//创建 root@127.0.0.1 用户(密码和你现有的一致)
CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'Sjixin520!';

//授予对 wgcloud 库的所有权限
GRANT ALL PRIVILEGES ON wgcloud.* TO 'root'@'127.0.0.1';

//刷新权限
FLUSH PRIVILEGES;

316f88968d625b5626d052bd8a6ba29a

也可以直接前台调试(看日志),这是更直观的知道哪里报错:

java -jar wgcloud-server-release.jar

d842b5c3d4f48c5f4c6cf27196c45caa

启动成功后,访问http:// 你的服务器IP:9999即可打开WGCLOUD管理界面。

739df75154f65329889113722cbe8792

使用账户密码登录(默认:admin/111111):

d54bcecfc4079952058e3b644669f448

登录成功后,页面显示如图所示:

156ecc7f5bf0bec62675383f02be6bc9

6.添加监控主机

添加监控主机,在server主机wgcloud-v3.5.7目录下面 进入agent目录,启动start.sh即可启动指标:

2c92970f82798f3cb16f2113904baa57

回到WGCLOUD页面,刷新,新监控的主机就显示到了页面上:

f2d252024c9728df212a7bc71bcf053d

如何添加其他监控主机,只需要把server同级目录的agent打成压缩包,然后复制到其他主机,然后启动agent就可以了。

#打包 agent 目录为 .tar 文件
tar -cvf agent.tar agent/
#远程上传到目标服务器root目录下面
scp agent.tar root@目标主机IP:/root
#解压上传的 .tar 文件
tar -xvf agent.tar
#cd 进入agent 目录
cd agent/
#进入config/ 目录
cd config/
#编辑application.properties 文件 把localhost 换成server主机IP
vim application.properties
#启动agent 服务
sh start.sh

b80b75fc55d4e252719d6f9c15992c0c

11ff07d1b3e70dd007cf0593cf474a20

26959218ef8ea25b9fbdd6fb325345b6

回到WGCLOUD页面,刷新,新监控的主机就显示到了页面上:

d16b24a5877dfdfef5aa62185e7c24a9

7.WGCLOUD浏览器配置、展示

这是它的基础展示页面:

7a32f1e0ae42adcf36990194bc9ec8e3

添加端口监控:

97af3e1fb50c8c5d7fa3e47eadbda6d7

2b4a41a6bfa4098812348b191f84256c

添加日志监控信息:

d511a25572e84afedfaccd89eee6dc8d

cb6aade72adde6f70733ad38168c4dfd

b1962bf9b4ee26788859ca15a2e35e3b

添加docker监控:

3f1f0300670886f96a7c1a40b8b8cd2d

26679bb6bd578b6e2c7b97aaceb7eb94

添加数据库信息(连接前测试一下时候可以连通):

a3ebdbf6d7bbf13a9af1ededcf15cab4

f9948229fcea31a223d7337402a51a90

添加数据表:

8073a80a20968a018acce8ac4ef3eb72

336308f5d03d7d6f514fffcc6fa15d5b

还可添加很多监控参数,我这里就不一一展示了:

42d102cbbf167efc59bed068d922e0e3

主机监控拓扑图:

d1ce3e32f47a618f608cf78b0751ec96

在WGCLOUD的远程监控部署场景中,结合cpolar可显著简化网络穿透难题。尤其当WGCLOUD服务端或被监控主机位于内网(如企业局域网、家庭NAS或无公网IP的云服务器)时,传统方式需配置复杂NAT映射或依赖固定公网IP,而cpolar通过安全、稳定的内网穿透能力,一键将本地WGCLOUD Web管理界面或Agent通信端口暴露至公网,无需改动现有防火墙策略或申请额外带宽资源。这不仅提升了部署灵活性,还让异地运维人员能随时随地通过cpolar提供的HTTPS隧道安全访问WGCLOUD监控平台,真正实现“开箱即用”的远程可观测性。

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

8.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

8.2 部署cpolar

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

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

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

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

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

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

8a6698b1bf26d64ba3645827fbfb1c29

9.配置公网地址

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

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

image-20260409155528894

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

image-20260409155603306

访问成功。

image-20260409155625616

10.保留固定公网地址

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

image-20250918151358733

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

image-20260409155737214

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

image-20260409155856505

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

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

点击更新

image-20260409160147778

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

image-20260409160211323

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

image-20260409160229097

总结

这次部署以后,WGCLOUD 真正有意义的部分并不是多了一张监控大屏,而是把分散在不同服务器上的运行状态集中到了一个页面里。

Server 负责保存和展示监控数据,Agent 部署到不同主机以后持续上报状态,再根据需要增加端口、日志、Docker 和数据库等监控项目。相比逐台 SSH 登录服务器检查 CPU、磁盘、服务和日志,这种方式更适合主机数量逐渐增加以后进行统一观察。

过程中遇到的 MySQL 连接问题也值得保留下来:能在本机终端登录数据库,并不能直接证明应用程序使用 TCP 连接时拥有相同权限。碰到类似问题时,比起反复修改密码,更应该先检查连接地址和 MySQL 用户授权范围。

如果还需要在外部网络查看监控页面,可以通过 cpolar 给 Web 服务增加固定访问入口。不过监控后台往往包含主机状态、日志和数据库等敏感信息,长期开放时仍然应该同时做好账号密码、访问权限和网络安全配置。

对于需要集中观察多台 Linux 主机状态的环境来说,这套 Server + Agent 的部署方式已经能够构成一套比较完整的基础监控框架。

赞(0)
未经允许不得转载:网硕互联帮助中心 » WGCLOUD怎么监控多台服务器?从Server、Agent 部署到监控面板实战
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!