主机监控
主机监控是对企业或组织内部主机的运行状态、安全状况及用户操作行为进行全面实时的监控与管理。
其核心功能包括:实时状态监测,持续追踪主机硬件(如 CPU、磁盘)与软件(进程、服务)运行状态,异常时及时告警;性能数据分析,收集分析 CPU、内存等指标,生成报表与趋势图,助力资源配置优化;屏幕监控,便于管理员实时查看桌面,支持运维与异常排查;基础监控,自动上报 CPU 使用率等指标。
工具方面,Nagios、WGCLOUD 等分别提供开源及新一代监控解决方案。这些功能保障了主机的稳定性与安全性,助力管理员及时发现并解决问题。
本文基于WGCLOUD
构建监控系统
WGCLOUD
WGCLOUD是一款高效轻量的运维监控平台,可以用于监测主机/服务器的系统信息、cpu、内存、磁盘、带宽、负载、GPU、防火墙、Crontab等信息也可以监测日志、文件防篡改、DOCKER、端口、进程、数据库、接口、网络设备、FTP/SFTP等资源,也可以给主机下发指令,也有计划任务、资产设备管理、动环监控、设备账号管理、工作笔记、大屏、巡检报告、web SSH、设置主题背景等
授权License价格

对个人来说,个人版基本够用了,不够再考虑收费版本的
官网:https://www.wgstart.com/
部署方式
WGCLOUD包括:server为服务端(或主控端),agent为客户端(探针端、被控端),server和agent可以部署在同一个主机
WGCLOUD的server和agent,可以部署在已有业务运行的主机,不要求主机是纯净的操作系统。当然了,纯净的系统也可以部署WGCLOUD
server端一般只部署一个就行,所有agent向这个server单向上报监控数据
WGCLOUD是绿色版本,非侵入式,解压即可运行,是完全自主私有化部署的监控平台,不依赖外网,局域网、内网也可以部署
1、server所在主机需要JDK环境(JDK1.8、JDK11都可以),OpenJDK也可以,更高版本JDK也支持,一般推荐使用JDK1.8或JDK11
[root@VM-0-14-centos ~]# java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
server需要数据库来存贮数据
支持MySQL、MariaDB、PostgreSQL、Oracle、SQL Server这五种数据库,选择其中任一种作为数据源即可,如果已安装则跳过
也支持国产数据库 PolarDB、openGauss、OceanBase、Kingbase、万里数据库、达梦数据库等。
3、agent所在主机不需要JDK、不需要JDK、不需要JDK
- agent所在主机不需要JDK及其他依赖,解压后可直接启动运行
- agent对linux要求为:内核版本2.6.23或更高,CentOS/RHEL 6.0以上
- agent对windows要求为:Windows Server 2008 R2,2012,2016,2019,2022,Windows 7,Windows 8,Windows 10,Windows 11
本文以Linux版本(Win版本部署差不多)+PostgreSQL库来部署。
服务端部署
首先下载服务器安装包,本文已V3.5.8版本部署。
Linux平台 (amd64或x86_64,包含server和agent)
: wgcloud-v3.5.8.tar.gz120MBMD5: 066e1181393285b536527d1411eeff78
Windows平台 (amd64或x86_64,包含server和agent)
: wgcloud-v3.5.8.zip120MBMD5: 1614a763eb7322e642482c42f10f9f72
放在自行指定的位置或,本文指定位置

构建数据库,名称随意,字符集设置为utf8即可,然后编辑数据库链接方式
spring:
application:
name: wgcloud-server
datasource:
driver-class-name: org.postgresql.Driver
#提示:如果server和数据库在同一台主机,那么下面url中IP,一般就用localhost即可,不需要用IP
url: jdbc:postgresql://localhost:5432/wgcloud
username: postgres
password: 123456
按要求修改,完成后保持即可,其他方式拉到文末。

登录数据库,导入安装包的sql,如下


导入指定的sql,会在库显示如下标

完成后 ,开放端口,本文未修改 ,还是9999
端口,然后在ssh端启动程序

然后访问部署的地址:http://部署地址+9999
用户名在application.yml
文件,根据自己需要是否修改
访问登录如下,本文已完成部署,所以有相关数据了


添加客户端
同样,客户端对应服务端的版本,本文已linux版本为例,其他的版本可以去官网下载

将以上的agent文件夹,复制到指定的客户端,位置随意,本文如下

修改客户端的application.properties
文件

修改serverUrl
地址即可

然后到/agent
的目录下启动程序

然后再服务器管理地址即可看到添加的服务器了

到这里基本完成部署了,提醒之类的,根据其要求填写。

亦可以通过钉钉给各个人员发送通知
spring:
application:
name: wgcloud-server
datasource:
#如果数据库连接mysql 8.x,driver-class-name建议改为:com.mysql.cj.jdbc.Driver,若是mysql 5.x则保持默认即可
driver-class-name: com.mysql.jdbc.Driver
#提示,如果server和数据库在同一台主机,那么下面url中IP,一般就用localhost即可,不需要用IP
url: jdbc:mysql://localhost:3306/wgcloud?characterEncoding=utf-8&characterSetResults=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true
username: root
#如果密码含有特殊符号,比如.!这种符号,可能会有问题,两边用单引号包裹起来,没有错误就不用关注了
password: 123456
spring:
application:
name: wgcloud-server
datasource:
driver-class-name: oracle.jdbc.driver.OracleDriver
#提示,如果server和数据库在同一台主机,那么下面url中IP,一般就用localhost即可,不需要用IP
url: jdbc:oracle:thin:@localhost:1521:orcl
username: wgcloud
password: 123456
hikari:
validationTimeout: 3000
connectionTimeout: 60000
idleTimeout: 60000
minimumIdle: 10
maximumPoolSize: 10
maxLifeTime: 60000
connectionTestQuery: select 1 FROM DUAL
如上就是如何连接oracle的配置说明
其他说明,如果是连接oracle集群数据库,可以把上面的url改成如下示例,其他部分不用改
url: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.2)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.3)(PORT=1521)))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)))
spring:
application:
name: wgcloud-server
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#提示,如果server和数据库在同一台主机,那么下面url中IP,一般就用localhost即可,不需要用IP
url: jdbc:sqlserver://192.168.1.2:1433;DatabaseName=wgcloud
username: sa
password: 123456
暂无评论内容