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
Системот ги зачувува моменталните перформанси.
SQL
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=?;
Потоа ги внесува новите.
SQL
INSERT INTO computer_processes_current ( computer_id, pid, name, cpu_percent, memory_mb, username, cmdline, timestamp ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? );
Чекор 6
Доколку е овозможено чување на историја, процесите се зачувуваат и во 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
Системот ги зачувува мрежните конекции.
SQL
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 4 hours ago.
- UC1_step2.png (11.9 KB ) - added by 4 hours ago.
- UC1_step3.png (29.9 KB ) - added by 4 hours ago.
- UC1_step4.png (11.8 KB ) - added by 4 hours ago.
- UC1_step5.png (19.4 KB ) - added by 4 hours ago.
- UC1_step6.png (20.0 KB ) - added by 4 hours ago.
- UC1_step7.png (21.2 KB ) - added by 4 hours ago.
- UC1_step8.png (15.7 KB ) - added by 4 hours ago.
- UC1_step11.png (335.9 KB ) - added by 4 hours ago.
Download all attachments as: .zip


