提交 ea219194 authored 作者: 陈泽健's avatar 陈泽健

feat(monitoring): 实现自动化服务监测脚本功能

- 添加平台识别和系统识别功能
- 实现日志暴涨检测和ERROR上下文检测
- 添加内存资源消耗监控和MySQL连接数监控
- 实现监测报告MD文件生成功能
- 添加中文日志审计和报告输出功能
- 整合需求文档中的各项监测指标
上级 d6c7bfc3
...@@ -13,26 +13,19 @@ ...@@ -13,26 +13,19 @@
## 🎯 功能实现总览 ## 🎯 功能实现总览
### 服务监测 (`AutomatedServiceMonitoring.py`) ### 服务监测 (`AutomatedServiceMonitoring.sh`)
脚本路径:E:\GithubData\自动化\ubains-module-test\助工具\脚本工具\自动化服务监测\AutomatedServiceMonitoring.py 脚本路径:E:\GithubData\自动化\ubains-module-test\AuxiliaryTool\ScriptTool\自动化服务监测\AutomatedServiceMonitoring.sh
#### 检测需求 #### 检测需求
##### 1、SSH连接(✅ 已实现): ##### 1、平台识别(✅ 已实现):
支持预设服务器列表
1、192.168.5.48 root Ubains@1234
2、192.168.5.44 root Ubains@123
##### 2、平台识别(✅ 已实现):
自动检测目标服务器平台类型(检测 /data/services 目录,如果没有则是传统平台) 自动检测目标服务器平台类型(检测 /data/services 目录,如果没有则是传统平台)
##### 3、系统识别(✅ 已实现): ##### 2、系统识别(✅ 已实现):
自动检测目标服务器的系统类型(检测容器分为三种:ujava、upython、upython_voice,如果有ujava则有会议预定系统、python对应运维集控系统、upython_voice对应转录系统) 自动检测目标服务器的系统类型(检测容器分为三种:ujava、upython、upython_voice,如果有ujava则有会议预定系统、python对应运维集控系统、upython_voice对应转录系统)
##### 4、服务监测(未完成): ##### 3、服务监测(未完成):
4.1、多连接(✅ 已实现): 3.1、日志审计(✅ 已实现):
可支持连接多台服务器
4.2、日志审计(✅ 已实现):
- 根据平台类型持续审计日志信息在某个时间段是否存在暴涨的情况: - 根据平台类型持续审计日志信息在某个时间段是否存在暴涨的情况:
每次采样获取日志总行数 total_lines 和采样时间 now_ts。 每次采样获取日志总行数 total_lines 和采样时间 now_ts。
与上次采样 last_total、last_ts 比较,得到 elapsed 和 delta_lines。 与上次采样 last_total、last_ts 比较,得到 elapsed 和 delta_lines。
...@@ -58,16 +51,19 @@ ...@@ -58,16 +51,19 @@
路径:/var/www/java/api-java-meeting2.0 路径:/var/www/java/api-java-meeting2.0
日志打印:tail -f logs/ubains-INFO-AND-ERROR.log 日志打印:tail -f logs/ubains-INFO-AND-ERROR.log
4.3、内存资源消耗(✅ 已实现): 3.2、内存资源消耗(✅ 已实现):
根据平台类型持续监测服务器内存占用情况,记录峰值与峰值时的时间点,以及记录平均值。 根据平台类型持续监测服务器内存占用情况,记录峰值与峰值时的时间点,以及记录平均值。
4.4、mysql连接数(✅ 已实现): 3.3、mysql连接数(✅ 已实现):
根据平台类型持续监测mysql连接数在某个时间段是否存在暴涨,或是异常一直没断开的连接数。 根据平台类型持续监测mysql连接数在某个时间段是否存在暴涨,或是异常一直没断开的连接数。
先检查mysql容器名称,然后通过进入mysql容器内部进行查询,mysql账号为root,密码为dNrprU&2S 先检查mysql容器名称,然后通过进入mysql容器内部进行查询,mysql账号为root,密码为dNrprU&2S
4.5、emqx连接数 3.4、emqx连接数(未实现)
根据平台类型持续监测EMQX连接数量峰值、平均值,以及是否存在暴涨情况,或是判断一直没断开的异常连接。 根据平台类型持续监测EMQX连接数量峰值、平均值,以及是否存在暴涨情况,或是判断一直没断开的异常连接。
##### 5、监测日志审计(✅ 已实现): ##### 4、监测日志审计(✅ 已实现):
需要丰富日志体系,日志需要用中文打印 需要丰富日志体系,日志需要用中文打印
##### 6、对接钉钉消息发送: ##### 5、监测报告输出(未实现):
钉钉函数参考: 将本次监测的所有检测项信息输出成md文件报告,内容排版需要优美。
\ No newline at end of file
##### 5、对接邮件发送:
需要能实现将当前的监测后输出的md文件报告,以邮件的形式发送给czj@huazhaochina.com
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论