集群监控管理系统
设计说明
名称:集群监控管理系统
英文名:SystemMonitor
物理架构:C/S架构,即客户端,服务器型架构
开发语言:C
开发平台:CentOS 10
最新版本:v0.1
项目源码:
主要功能简述:
客户端:
获取主机的系统资源,主要包括:
内存使用率
CPU占用率
磁盘I/O
磁盘空间使用率
网络延迟
主机端口
在线用户信息
客户端收集这些信息,并将这些信息发送至服务器
服务器端:
获取到客户端数据后,进行处理计算,策略匹配,对于异常数据通过发送邮件的方式进行告警
逻辑架构:
基础逻辑架构图:
模块-类对应图
网络架构:
网络拓扑架构图
基于socket和tcp协议的集群式健康检测系统,采用cs结构实现由服务端对大量客户端进行健康监控的功能;
原理简述:
服务端作为总管理节点,利用心跳机制维护与客户端的通讯,项目采用短连接的连接模式,减少服务端压力,实现高并发效果,客户端收集实时信息等待服务端主动采集,两端都作为守护进程在后台静默运行;
数据准确性保证:
采用可靠的tcp协议,保证数据传输的可靠性,采用文件加锁的方式避免读写冲突,确保数据写入的完整性和正确性,由服务端对客户端依次进行不同的信息请求,保证业务逻辑上准确性;
Master端功能简介:
服务端采用多线程进行实现,由配置文件控制并发度,其维护了客户资源列表,定时向每个client端做特殊心跳连接,并实现了简单的负载均衡处理,定时向客户端进行数据请求,应用epoll对大量客户端的加入情况进行监听处理;
Client端功能简介:
客户端采用多线程进行实现,采用6个脚本进行系统信息检测,对数据处理并发存储,等待客户端采集,对应异常状态与恶意进程利用UDP及时向服务端进行报警,检测到自身与服务端断线后进行尝试重连;
日志管理系统:
程序主要运行情况与异常都会被录入log日志文件中;
项目源码:https://github.com/sjp-1024/C_project/commit/56cd391828417a84c5037f262a59a4bd0d183bc6