前言
服务器数量一多,运维监控就很容易变得分散。CPU、内存、磁盘、端口、日志、数据库、Docker容器,每一项都能单独查,但真正想统一看状态、追踪异常、做告警和趋势分析时,靠临时登录服务器就不够用了。
很多团队会选择Prometheus、Zabbix这类成熟方案,但对于一些中小规模环境,或者更偏国产化、私有化部署的场景来说,部署复杂度、维护成本和中文使用体验也需要一起考虑。监控系统不是越重越好,关键是能不能快速落地、稳定采集、方便查看。
WGCLOUD适合放在这个位置上。它是一款国产开源运维监控平台,支持主机资源、端口存活、日志、Docker、数据库等多类监控项,并通过Web界面集中展示。对日常运维来说,它更像一个开箱即用的基础设施健康面板。
本文会从WGCLOUD的部署准备开始,演示安装包上传、解压、MySQL数据库初始化、application.yml配置修改、服务端启动,以及启动过程中可能遇到的MySQL连接问题。随后继续添加Agent主机,配置端口监控、日志监控、Docker监控和数据库监控。
最后,再通过 cpolar 将WGCLOUD的9999端口映射到公网,并配置固定二级子域名。这样即使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) |
基本工具安装:
yuminstall-yvimwget服务端(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-zxvfwgcloud-v3.6.6.tar.gzcdwgcloud-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目录并查看文件列表:
cdserver/ ll进入server配置文件目录:
cdconfig/ 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 用户(密码和你现有的一致) CREATEUSER'root'@'127.0.0.1'IDENTIFIED BY'Sjixin520!';//授予对 wgcloud 库的所有权限 GRANT ALL PRIVILEGES ON wgcloud.* TO'root'@'127.0.0.1';//刷新权限 FLUSH PRIVILEGES;也可以直接前台调试(看日志),这是更直观的知道哪里报错:
java-jarwgcloud-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-cvfagent.tar agent/#远程上传到目标服务器root目录下面scpagent.tar root@目标主机IP:/root#解压上传的 .tar 文件tar-xvfagent.tar#cd 进入agent 目录cdagent/#进入config/ 目录cdconfig/#编辑application.properties 文件 把localhost 换成server主机IPvimapplication.properties#启动agent 服务shstart.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步骤:
使用一键脚本安装命令:
sudocurlhttps://get.cpolar.sh|sh安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudosystemctl status cpolarCpolar安装和成功启动服务后,在浏览器上输入虚拟机主机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就可以作为一套国产化的运维监控平台使用。服务端负责统一展示和管理,Agent负责采集主机指标,端口、日志、Docker和数据库等监控项也可以逐步接入进来。
这套方案的价值,不只是把几个服务器状态放到一个页面上,而是让日常巡检变得更集中。以前需要分别登录主机、查命令、看日志、测端口,现在可以通过一个Web面板先快速判断系统整体是否正常,再进一步定位具体问题。
配置 cpolar 后,部署在内网中的WGCLOUD管理界面可以从外部网络访问。随机域名适合临时测试,固定二级子域名更适合长期运维使用,避免每次远程查看时都要更换访问地址。
需要注意的是,监控平台本身包含大量主机状态、服务信息和数据库连接配置,公网访问时一定要修改默认账号密码,并限制访问范围。Agent通信端口、管理后台和数据库权限也要按实际环境做好安全控制。
WGCLOUD负责统一监控和可视化展示,Agent负责采集各节点数据,cpolar负责补上远程访问入口。当这几部分组合起来以后,一套内网监控平台就不再只能在机房或局域网内查看,而能变成随时可访问、集中管理、适合长期维护的运维观察窗口。