开源监控神器WGCLOUD体验:服务器、Docker、数据库统一监控全攻略
前言
服务器数量不多时,通过SSH逐台检查CPU、内存、磁盘和服务状态,基本能够应付日常运维。但随着业务中出现更多服务器、数据库、Docker容器和网络服务,依靠人工检查不仅耗时,也很难及时发现端口中断、资源占用异常或日志持续报错等问题。
对于需要统一管理多种IT资源的团队来说,监控系统不仅要能展示服务器状态,还要覆盖数据库、端口、日志和容器等不同对象。同时,部署和使用过程不能过于复杂,否则监控平台本身也会增加新的维护成本。
WGCLOUD是一款采用Server与Agent架构的运维监控系统。服务端负责数据存储和集中展示,被监控主机运行Agent后,可以将相关指标上报到统一的管理页面,并进一步配置端口、日志、Docker和数据库监控。
本文将完成WGCLOUD服务端安装、MySQL数据库初始化、配置文件修改和Agent节点接入,并记录部署过程中遇到的数据库连接问题。完成本地监控后,再通过cpolar配置公网访问,方便运维人员在其他网络环境中打开管理页面。

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 流程中的健康检查环节
- 国产化替代方案中的监控组件
官网 & 开源地址: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
下载安装文件(从官网下载安装文件):



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

解压缩安装文件后,进入文件目录:
tar -zxvf wgcloud-v3.6.6.tar.gz
cd wgcloud-v3.6.6

查看文件目录:

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

验证是否导入成功:
SHOW TABLES;

5.编辑WGCLOUD配置文件
进入wgcloud的server目录并查看文件列表:
cd server/
ll
进入server配置文件目录:
cd config/
ll

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

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

进入wgcloud的server并启动server服务:
cd /usr/local/wgcloud-v3.6.6/server/
./start.sh

在这里我说一下我启动的过程中遇到的问题,在我启动过程中,显示我的数据库一直连接不上,但是我的账户名密码,又全都正确,这究竟是什么原因呢?
在这里我顺便学习到了一个知识点:
在 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;

也可以直接前台调试(看日志),这是更直观的知道哪里报错:
java -jar wgcloud-server-release.jar

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

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

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

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

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

如何添加其他监控主机,只需要把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



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

7.WGCLOUD浏览器配置、展示
这是它的基础展示页面:

添加端口监控:


添加日志监控信息:



添加docker监控:


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


添加数据表:


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

主机监控拓扑图:

在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

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

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

9.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:wgcloud,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:9999
- 域名类型:随机域名
- 地区:选择China Top

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

访问成功。

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

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

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

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新

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

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

总结
完成以上配置后,WGCLOUD就可以集中展示多台主机的运行状态。除了基础的CPU、内存、磁盘和网络数据,还可以根据实际需求继续添加端口、日志、Docker、数据库和数据表等监控项目。
这次部署中比较值得注意的是MySQL连接方式。命令行能够使用root@localhost登录,并不代表Java程序一定能够通过TCP正常连接数据库。如果WGCLOUD启动时持续提示数据库连接失败,需要结合JDBC地址、MySQL用户来源和授权范围进行检查,而不能只确认账号密码是否正确。
通过cpolar创建公网隧道后,WGCLOUD管理页面也可以在局域网外访问。继续配置固定二级子域名后,远程入口能够保持不变,更适合异地运维和长期使用。
WGCLOUD适合需要集中查看服务器及多种基础设施状态的个人用户和团队。正式投入使用前,还需要根据实际设备数量规划数据库、日志保留周期和告警规则,并及时修改默认登录密码,避免将未经安全配置的管理后台直接暴露在公网中。
网硕互联帮助中心








评论前必须登录!
注册