XCLW23931 基于Golang的插件化实时监控数据采集系统摘要监控系统是各个领域一道安全保障,通过监控系统及时发现并预警,避免损失。对数据设备运行情况进行监控非常有必要,比如机房温度、服务器磁盘容量、CPU的使用率、网络IO等基础数据以及核心交易系统的业务数据。 要做到实时的数据监控,就需要设计一款可以实时采集..
XCLW23931 基于Golang的插件化实时监控数据采集系统 摘要 监控系统是各个领域一道安全保障,通过监控系统及时发现并预警,避免损失。对数据设备运行情况进行监控非常有必要,比如机房温度、服务器磁盘容量、CPU的使用率、网络IO等基础数据以及核心交易系统的业务数据。 要做到实时的数据监控,就需要设计一款可以实时采集监控数据的采集系统,不断地采集基础数据以及核心的交易数据推送给监控平台。如何快速高效的开发出具备高性能、部署简单的监控数据采集系统是设计中的关键。 使用Golang开发监控数据采集系统主要优势在于 Go语言具备Python解释型语言的开发效率,同时又有C/C++的运行性能,语言级别的协程完美支持,很适合作为数据采集的后端开发,部署也简单快速。 本文主要讲述基于Go语言去设计监控数据采集系统以及模块化的设计方案,可插件化的加载Python脚本、C/C++动态库用于兼容和方便二次开发数据采集功能。最后通过编码实现整个监控数据采集系统。测试阶段通过通用的监控平台配合监控数据采集系统演示完成数据采集并推送的功能。 关键词 监控平台、数据采集系统、Go语言、插件化 目录 摘要 I 目录 I 第1章 绪论 2 1.1 项目背景及意义 2 1.2 国内外现状分析 2 1.2.1 国内外发展情况 2 1.2.2 存在的问题 4 1.3 Golang特性 4 1.3.1 Go语言的发展 4 1.3.2 Go语言的特点 5 1.3.3 Go语言的优点 5 1.4 范文内容及章节安排 5 1.5 本章小结 5 第2章 关键技术 6 2.1 通信协议 6 2.1.1 socket协议 6 2.1.2 数据结构 6 2.2 Go开发工具 6 2.2.1 代码管理 6 2.2.2 依赖管理 6 2.3 Go设计模式 7 2.4 Go协程 8 2.5 Go与CGO 8 2.5.1 Go调用C 8 2.5.2 Go调用python 9 2.6 插件化 9 2.6.1 Golang插件 9 2.6.2 C动态库插件 9 2.6.3 Python插件 9 2.7 本章小结 10 第3章 需求分析和总体设计 11 3.1 总体需求 11 3.2 系统实现目标 11 3.3 功能模块划分 11 3.4 总体设计 11 3.5 本章小结 12 第4章 详细的设计与实现 13 4.1 Go开发环境 13 4.1.1 Go语言环境变量 13 4.1.2 Go语言在windows上安装 13 4.1.3 Go语言在linux上安装 13 4.2 监控采集系统架构设计 14 4.3 核心模块的设计与实现 15 4.3.1 消息队列、消息流转 15 4.3.2 功能号函数映射表 16 4.3.3 协程的创建 17 4.4 插件化功能的设计与实现 18 4.4.1 动态加载C/C++库 18 4.4.2 动态加载python模块 19 4.5 基础信息采集模块 19 4.6 日志信息采集模块 19 4.7 管理模块的设计与实现 20 4.7.1 系统协程状态管理 20 4.8 Log模块的设计与实现 21 4.8.1 日志按照模块大小分片 21 4.8.2 日志定期自动清理 21 4.8.3 日志模块自动打包备份 21 4.9 本章小结 21 第5章 系统测试 22 5.1 基础信息采集模块测试 22 5.1.1 cpu数据采集测试 22 5.1.2 内存数据采集测试 23 5.1.3 磁盘信息数据测试 23 5.1.4 进程信息数据采集 23 5.1.5 网络数据采集测试 24 5.1.6 基础信息监控总览数据验证 24 5.2 日志信息采集模块测试 25 5.2.1 Windows日志信息采集 25 5.2.2 应用程序日志采集测试 25 5.3 管理模块测试 26 5.3.1 系统状态验证 26 5.3.2 系统加载模块验证 26 5.4 本章小结 27 第6章 总结与展望 28 6.1 总结 28 6.2 展望 28 参考文献 29 致谢 30
|
上一篇:基于BS结构的电影购票系统设计与.. | 下一篇:基于H5技术的移动运营商APP线上推.. |
点击查看关于 基于 Golang 插件 实时 监控 数据采集 系统 的相关范文题目 | 【返回顶部】 |