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

开源监控神器WGCLOUD体验:服务器、Docker、数据库统一监控全攻略

开源监控神器WGCLOUD体验:服务器、Docker、数据库统一监控全攻略

前言

服务器数量不多时,通过SSH逐台检查CPU、内存、磁盘和服务状态,基本能够应付日常运维。但随着业务中出现更多服务器、数据库、Docker容器和网络服务,依靠人工检查不仅耗时,也很难及时发现端口中断、资源占用异常或日志持续报错等问题。

对于需要统一管理多种IT资源的团队来说,监控系统不仅要能展示服务器状态,还要覆盖数据库、端口、日志和容器等不同对象。同时,部署和使用过程不能过于复杂,否则监控平台本身也会增加新的维护成本。

WGCLOUD是一款采用Server与Agent架构的运维监控系统。服务端负责数据存储和集中展示,被监控主机运行Agent后,可以将相关指标上报到统一的管理页面,并进一步配置端口、日志、Docker和数据库监控。

本文将完成WGCLOUD服务端安装、MySQL数据库初始化、配置文件修改和Agent节点接入,并记录部署过程中遇到的数据库连接问题。完成本地监控后,再通过cpolar配置公网访问,方便运维人员在其他网络环境中打开管理页面。

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 流程中的健康检查环节
  • 国产化替代方案中的监控组件

官网 & 开源地址: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就可以集中展示多台主机的运行状态。除了基础的CPU、内存、磁盘和网络数据,还可以根据实际需求继续添加端口、日志、Docker、数据库和数据表等监控项目。

这次部署中比较值得注意的是MySQL连接方式。命令行能够使用root@localhost登录,并不代表Java程序一定能够通过TCP正常连接数据库。如果WGCLOUD启动时持续提示数据库连接失败,需要结合JDBC地址、MySQL用户来源和授权范围进行检查,而不能只确认账号密码是否正确。

通过cpolar创建公网隧道后,WGCLOUD管理页面也可以在局域网外访问。继续配置固定二级子域名后,远程入口能够保持不变,更适合异地运维和长期使用。

WGCLOUD适合需要集中查看服务器及多种基础设施状态的个人用户和团队。正式投入使用前,还需要根据实际设备数量规划数据库、日志保留周期和告警规则,并及时修改默认登录密码,避免将未经安全配置的管理后台直接暴露在公网中。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 开源监控神器WGCLOUD体验:服务器、Docker、数据库统一监控全攻略
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!