Changes between Version 2 and Version 3 of UseCaseUC1PrototypeImplementation
- Timestamp:
- 08/23/26 19:49:54 (4 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UseCaseUC1PrototypeImplementation
v2 v3 21 21 [[Image(UC1_step1.png,700px)]] 22 22 23 24 23 '''Систем''' 25 24 … … 29 28 30 29 {{{ 31 SELECT env_name, 32 tenant_id 30 SELECT env_name, tenant_id 33 31 FROM env_tokens 34 32 WHERE token = ? 35 AND (expires_at IS NULL 36 OR expires_at > datetime('now')) 33 AND (expires_at IS NULL OR expires_at > datetime('now')) 37 34 LIMIT 1; 38 35 }}} 39 36 40 41 === Чекор 2 37 === Чекор 2 === 42 38 43 39 Системот проверува дали компјутерот веќе постои. 44 45 40 46 41 '''SQL''' … … 49 44 SELECT id 50 45 FROM computers 51 WHERE tenant_id = ? 52 AND name = ? 46 WHERE tenant_id = ? AND name = ? 53 47 LIMIT 1; 54 48 }}} 55 49 56 57 58 === Чекор 3 50 === Чекор 3 === 59 51 60 52 Доколку компјутерот веќе постои, се ажурираат неговите информации. … … 64 56 {{{ 65 57 UPDATE computers 66 SET 67 user=?, 68 ip=?, 69 os=?, 70 last_seen=?, 71 sysmon_available=?, 72 env_name=? 73 WHERE 74 id=? 75 AND 76 tenant_id=?; 58 SET user=?, ip=?, os=?, last_seen=?, sysmon_available=?, env_name=? 59 WHERE id=? AND tenant_id=?; 77 60 }}} 78 61 … … 83 66 {{{ 84 67 INSERT INTO computers 85 ( 86 tenant_id, 87 env_name, 88 name, 89 user, 90 ip, 91 os, 92 first_seen, 93 last_seen, 94 sysmon_available 95 ) 96 VALUES 97 ( 98 ?, 99 ?, 100 ?, 101 ?, 102 ?, 103 ?, 104 ?, 105 ?, 106 ? 107 ); 68 (tenant_id, env_name, name, user, ip, os, first_seen, last_seen, sysmon_available) 69 VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?); 108 70 }}} 109 71 72 === Чекор 4 === 110 73 111 112 === Чекор 4 113 114 Системот ги зачувува моменталните перформанси. 74 Системот ги зачувува перформансите. Најпрво ги освежува тековните метрики (snapshot што се препишува), а потоа додава запис во историјата. 115 75 116 76 '''SQL''' 117 77 118 78 {{{ 79 DELETE FROM computer_history_current WHERE computer_id=?; 80 81 INSERT INTO computer_history_current 82 (computer_id, cpu_usage, ram_usage, disk_usage, network_sent_mb, network_recv_mb, timestamp) 83 VALUES (?, ?, ?, ?, ?, ?, ?); 84 119 85 INSERT INTO computer_history 120 ( 121 computer_id, 122 cpu_usage, 123 ram_usage, 124 disk_usage, 125 network_sent_mb, 126 network_recv_mb, 127 timestamp 128 ) 129 VALUES 130 ( 131 ?, 132 ?, 133 ?, 134 ?, 135 ?, 136 ?, 137 ? 138 ); 86 (computer_id, cpu_usage, ram_usage, disk_usage, network_sent_mb, network_recv_mb, timestamp) 87 VALUES (?, ?, ?, ?, ?, ?, ?); 139 88 }}} 140 89 90 === Чекор 5 === 141 91 142 === Чекор 5 143 144 Системот ги освежува тековните процеси. 145 146 Најпрво ги брише старите. 92 Системот ги освежува тековните процеси. Најпрво ги брише старите, потоа ги внесува новите. 147 93 148 94 '''SQL''' 149 95 150 96 {{{ 151 DELETE 152 FROM computer_processes_current 153 WHERE computer_id=?; 97 DELETE FROM computer_processes_current WHERE computer_id=?; 98 99 INSERT INTO computer_processes_current 100 (computer_id, pid, name, cpu_percent, memory_mb, username, cmdline, timestamp) 101 VALUES (?, ?, ?, ?, ?, ?, ?, ?); 154 102 }}} 155 103 156 Потоа ги внесува новите. 104 === Чекор 6 === 157 105 158 '''SQL''' 159 160 {{{ 161 INSERT INTO computer_processes_current 162 ( 163 computer_id, 164 pid, 165 name, 166 cpu_percent, 167 memory_mb, 168 username, 169 cmdline, 170 timestamp 171 ) 172 VALUES 173 ( 174 ?, 175 ?, 176 ?, 177 ?, 178 ?, 179 ?, 180 ?, 181 ? 182 ); 183 }}} 184 185 186 === Чекор 6 187 188 Доколку е овозможено чување на историја, процесите се зачувуваат и во history. 106 Доколку е овозможено чување историја (env_settings.save_process_history), процесите се зачувуваат и во history. 189 107 190 108 '''SQL''' … … 192 110 {{{ 193 111 INSERT INTO computer_processes_history 194 ( 195 computer_id, 196 pid, 197 name, 198 cpu_percent, 199 memory_mb, 200 username, 201 cmdline, 202 timestamp 203 ) 204 VALUES 205 ( 206 ?, 207 ?, 208 ?, 209 ?, 210 ?, 211 ?, 212 ?, 213 ? 214 ); 112 (computer_id, pid, name, cpu_percent, memory_mb, username, cmdline, timestamp) 113 VALUES (?, ?, ?, ?, ?, ?, ?, ?); 215 114 }}} 216 115 217 === Чекор 7 116 === Чекор 7 === 218 117 219 118 Системот ги зачувува Sysmon настаните. … … 223 122 {{{ 224 123 INSERT INTO sysmon_events 225 ( 226 computer_id, 227 event_id, 228 event_type, 229 message, 230 timestamp, 231 details 232 ) 233 VALUES 234 ( 235 ?, 236 ?, 237 ?, 238 ?, 239 ?, 240 ? 241 ); 124 (computer_id, event_id, event_type, message, timestamp, details) 125 VALUES (?, ?, ?, ?, ?, ?); 242 126 }}} 243 127 128 === Чекор 8 === 244 129 245 === Чекор 8 246 247 Системот ги зачувува мрежните конекции. 130 Системот ги зачувува мрежните конекции — тековен snapshot, и историја доколку е овозможено (env_settings.save_network_history). 248 131 249 132 '''SQL''' 250 133 251 134 {{{ 135 DELETE FROM network_connections_current WHERE computer_id=?; 136 137 INSERT INTO network_connections_current 138 (computer_id, pid, local_address, remote_address, status, process_name, timestamp) 139 VALUES (?, ?, ?, ?, ?, ?, ?); 140 252 141 INSERT INTO network_connections 253 ( 254 computer_id, 255 pid, 256 local_address, 257 remote_address, 258 status, 259 process_name, 260 timestamp 261 ) 262 VALUES 263 ( 264 ?, 265 ?, 266 ?, 267 ?, 268 ?, 269 ?, 270 ? 271 ); 142 (computer_id, pid, local_address, remote_address, status, process_name, timestamp) 143 VALUES (?, ?, ?, ?, ?, ?, ?); 272 144 }}} 273 145 274 275 === Чекор 9 146 === Чекор 9 === 276 147 277 148 Системот успешно ја обработува испратената информација и враќа успешен одговор.
