修订历史:
20240711:初始表设计,采用sqlite
正文:
关于历史数据存储,考虑的是用数据库来完成,目前考虑使用Sqlite和mysql,先用sqlite来实现,设计表过程如下:
机器总览表:
ID号 | IP | 主机名 |
1 | 0.11 | Ubuntu1 |
2 | 0.15 | Debian1 |
机器关注程序表:
ID号 | IP | 程序名 | 进程号 | 开始记录时间 | 结束记录时间 | 是否已结束 |
1 | 0.11 | System | 123 | 170000000 | 180000001 | 1 |
2 | 0.11 | System | 234 | 190000001 | 0 | |
3 | 0.15 | Sshd | 11 | 160000000 | 180000001 | 1 |
4 | 0.15 | Sshd | 12 | 180000002 | 0 |
机器1的详细运行情况(CPU,内存,硬盘):
ID号 | IP | CPU占用率(%) | 内存占用率(%) | 硬盘占用率(%) | 记录时间 |
1 | 0.11 | 1.0 | 2.0 | 3.0 | 180000001 |
2 | 0.11 | 1.0 | 2.0 | 3.0 | 180000002 |
机器2的详细运行情况(CPU,内存,硬盘):
ID号 | IP | CPU占用率(%) | 内存占用率(%) | 硬盘占用率(%) | 记录时间 |
1 | 0.15 | 1.0 | 2.0 | 3.0 | 180000001 |
2 | 0.15 | 1.0 | 2.0 | 3.0 | 180000002 |
机器1中程序1的运行情况:
ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
1 | 0.11 | System | 123 | 1.0 | 2.0 | 180000001 |
2 | 0.11 | System | 123 | 1.0 | 2.0 | 180000002 |
机器1中程序2的运行情况:
ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
1 | 0.11 | Kde | 123 | 1.0 | 2.0 | 180000001 |
2 | 0.11 | Kde | 123 | 1.0 | 2.0 | 180000002 |
机器2中程序1的运行情况:
ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
1 | 0.11 | Sshd | 123 | 1.0 | 2.0 | 180000001 |
2 | 0.11 | Sshd | 123 | 1.0 | 2.0 | 180000002 |
机器2中程序1的运行情况:
ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
1 | 0.11 | Sshd | 124 | 1.0 | 2.0 | 180000001 |
2 | 0.11 | Sshd | 124 | 1.0 | 2.0 | 180000002 |
机器2中程序2的运行情况:
ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
1 | 0.11 | Kde | 123 | 1.0 | 2.0 | 180000001 |
2 | 0.11 | Kde | 123 | 1.0 | 2.0 | 180000002 |
按多db设计:
按单db设计:
考虑项目数据量情况,决定采用单db方案;在客户端应用,临时编辑生成最终效果: