| Version 3 (modified by , 4 days ago) ( diff ) |
|---|
Use-case UC1 Prototype Implementation – Испраќање и обработка на податоци
Актер кој го иницира:
- Клиентска апликација (Agent / Collector)
Други актери:
- Администратор
Опис
Клиентската апликација периодично собира системски информации од компјутерот и ги испраќа до серверот преку POST барање. Серверот го валидира X-Env-Token, го пронаоѓа или креира компјутерот и ги зачувува сите примени информации во базата.
Сценарио
Чекор 1
Корисник
Клиентската апликација испраќа POST барање кон серверот со X-Env-Token и собраните податоци.
Систем
Го проверува токенот и го пронаоѓа Environment-от.
SQL
SELECT env_name, tenant_id
FROM env_tokens
WHERE token = ?
AND (expires_at IS NULL OR expires_at > datetime('now'))
LIMIT 1;
Чекор 2
Системот проверува дали компјутерот веќе постои.
SQL
SELECT id FROM computers WHERE tenant_id = ? AND name = ? LIMIT 1;
Чекор 3
Доколку компјутерот веќе постои, се ажурираат неговите информации.
SQL
UPDATE computers SET user=?, ip=?, os=?, last_seen=?, sysmon_available=?, env_name=? WHERE id=? AND tenant_id=?;
Доколку компјутерот не постои, се додава нов запис.
SQL
INSERT INTO computers (tenant_id, env_name, name, user, ip, os, first_seen, last_seen, sysmon_available) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);
Чекор 4
Системот ги зачувува перформансите. Најпрво ги освежува тековните метрики (snapshot што се препишува), а потоа додава запис во историјата.
SQL
DELETE FROM computer_history_current WHERE computer_id=?; INSERT INTO computer_history_current (computer_id, cpu_usage, ram_usage, disk_usage, network_sent_mb, network_recv_mb, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?); INSERT INTO computer_history (computer_id, cpu_usage, ram_usage, disk_usage, network_sent_mb, network_recv_mb, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?);
Чекор 5
Системот ги освежува тековните процеси. Најпрво ги брише старите, потоа ги внесува новите.
SQL
DELETE FROM computer_processes_current WHERE computer_id=?; INSERT INTO computer_processes_current (computer_id, pid, name, cpu_percent, memory_mb, username, cmdline, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?, ?);
Чекор 6
Доколку е овозможено чување историја (env_settings.save_process_history), процесите се зачувуваат и во history.
SQL
INSERT INTO computer_processes_history (computer_id, pid, name, cpu_percent, memory_mb, username, cmdline, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?, ?);
Чекор 7
Системот ги зачувува Sysmon настаните.
SQL
INSERT INTO sysmon_events (computer_id, event_id, event_type, message, timestamp, details) VALUES (?, ?, ?, ?, ?, ?);
Чекор 8
Системот ги зачувува мрежните конекции — тековен snapshot, и историја доколку е овозможено (env_settings.save_network_history).
SQL
DELETE FROM network_connections_current WHERE computer_id=?; INSERT INTO network_connections_current (computer_id, pid, local_address, remote_address, status, process_name, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?); INSERT INTO network_connections (computer_id, pid, local_address, remote_address, status, process_name, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?);
Чекор 9
Системот успешно ја обработува испратената информација и враќа успешен одговор.
Attachments (9)
- UC1_step1.png (314.6 KB ) - added by 7 weeks ago.
- UC1_step2.png (11.9 KB ) - added by 7 weeks ago.
- UC1_step3.png (29.9 KB ) - added by 7 weeks ago.
- UC1_step4.png (11.8 KB ) - added by 7 weeks ago.
- UC1_step5.png (19.4 KB ) - added by 7 weeks ago.
- UC1_step6.png (20.0 KB ) - added by 7 weeks ago.
- UC1_step7.png (21.2 KB ) - added by 7 weeks ago.
- UC1_step8.png (15.7 KB ) - added by 7 weeks ago.
- UC1_step11.png (335.9 KB ) - added by 7 weeks ago.
Download all attachments as: .zip


