前言
在数字化浪潮席卷各行各业的今天,系统稳定性与运维效率已成为企业技术竞争力的核心要素。面对日益复杂的IT基础设施,一套高效、可靠、易用的监控系统不再是“可选项”,而是保障业务连续性的“刚需”。在这一背景下,国产开源项目正以蓬勃之势崛起,其中WGCLOUD便是一颗耀眼的明星。
作为一款由国人自主研发、完全开源免费的高性能监控平台,WGCLOUD凭借其轻量级架构、强大的数据采集能力、直观的可视化界面以及对国产化环境的深度适配,赢得了众多开发者和运维团队的青睐。它不仅支持对服务器、数据库、中间件、网络设备等关键组件的全方位监控,还提供了告警通知、性能分析、资源拓扑等实用功能,真正实现了“开箱即用”与“灵活扩展”的完美结合。
本文将深入探讨WGCLOUD的核心特性,分享其在真实生产环境中的部署实践,并剖析其相较于同类工具的独特优势。无论你是正在寻找替代方案的运维工程师,还是关注国产开源生态发展的技术决策者,相信WGCLOUD都会为你带来耳目一新的体验——它不仅是一个工具,更是国产开源力量在基础软件领域自信前行的缩影。
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
下载安装文件(从官网下载安装文件):
上传到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为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是wgcloud,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。
总结
作为一款完全自主研发、开源免费的国产运维监控系统,WGCLOUD凭借轻量高效、部署简单、功能全面等优势,已成为众多政企单位和开发者在IT基础设施监控领域的首选。它不仅支持对服务器、数据库、中间件、网络组件及Docker容器等资源的实时监控与告警,还深度适配国产化环境,兼容统信UOS、麒麟等操作系统以及鲲鹏、飞腾、龙芯等国产CPU架构。通过灵活的Agent架构与Web可视化界面,WGCLOUD有效降低了运维门槛,提升了系统可观测性;结合如cpolar等内网穿透工具,更可轻松实现远程安全监控。其活跃的社区生态与持续迭代的能力,彰显了国产开源软件的技术自信与实用价值,堪称“国产开源之光”。
感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站





















































