wiki:Conceptual_design

Version 1 (modified by 231118, 3 weeks ago) ( diff )

--

ER дијаграм

No image "UseCaseDiagram2.drawio.png" attached to Conceptual_design

Податочни барања

Ентитети

  1. Environments – ентитет кој чува информации за логички околини (environments) во кои се групираат компјутерите.
    • id (integer, PK)
    • name (text, not null, UNIQUE)
    • created_at (datetime, not null)
  1. ENV_Tokens – ентитет кој чува токени за пристап на клиентите во конкретно environment.
    • id (integer, PK)
    • env_name* (text, FK → Environments.name, not null)
    • token (text, not null, UNIQUE)
    • created_at (datetime, not null)
    • expires_at (datetime)
  1. Admin_sessions – ентитет кој чува администраторски сесии за најава.
    • id (integer, PK)
    • token (text, not null, UNIQUE)
    • created_at (datetime, not null)
  1. Computers – ентитет кој чува податоци за уредите (клиенти) што испраќаат логови до сервер.
    • id (integer, PK)
    • name (text, not null, UNIQUE)
    • user (text)
    • ip (text)
    • os (text)
    • first_seen (datetime)
    • last_seen (datetime)
    • sysmon_available (boolean, default 0)
    • env_name* (text, FK → Environments.name, default 'default')
  1. Computer_history – ентитет кој чува временски перформансни метрики за компјутерот.
    • id (integer, PK)
    • computer_id* (integer, FK → Computers.id, not null)
    • cpu_usage (real)
    • ram_usage (real)
    • disk_usage (real)
    • network_sent_mb (real)
    • network_recv_mb (real)
    • timestamp (datetime)
  1. Computer_processes – ентитет кој чува податоци за процеси на компјутерот (во момент на собирање).
    • id (integer, PK)
    • computer_id* (integer, FK → Computers.id, not null)
    • pid (integer)
    • name (text)
    • cpu_percent (real)
    • memory_mb (real)
    • username (text)
    • cmdline (text)
    • timestamp (datetime)
  1. Sysmon_events – ентитет кој чува Sysmon/безбедносни настани испратени од клиентот.
    • id (integer, PK)
    • computer_id* (integer, FK → Computers.id, not null)
    • event_id (integer)
    • event_type (text)
    • message (text)
    • timestamp (datetime)
    • details (text) (JSON како string)
  1. Network_connections – ентитет кој чува мрежни конекции детектирани на компјутерот.
    • id (integer, PK)
    • computer_id* (integer, FK → Computers.id, not null)
    • pid (integer)
    • local_address (text)
    • remote_address (text)
    • status (text)
    • process_name (text)
    • timestamp (datetime)
  1. Security_alerts – ентитет кој чува аларми за потенцијални безбедносни инциденти.
    • id (integer, PK)
    • computer_id* (integer, FK → Computers.id, not null)
    • alert_type (text)
    • severity (text)
    • description (text)
    • timestamp (datetime)
    • resolved (boolean, default 0)

Забелешка: Атрибутите означени со * се странски клучеви (Foreign Keys).

Релации

  1. contains (Environments ↔ Computers, 1:N) Едно environment може да содржи повеќе компјутери, а секој компјутер припаѓа на едно environment.
  1. has (Environments ↔ ENV_Tokens, 1:N) Едно environment може да има повеќе токени, а секој токен е издаден за едно environment.
  1. records (Computers ↔ Computer_history, 1:N) Еден компјутер има повеќе записи со перформансни метрики во текот на времето.
  1. runs (Computers ↔ Computer_processes, 1:N) Еден компјутер има повеќе записи за процеси (снимени во различни моменти).
  1. generates (Computers ↔ Sysmon_events, 1:N) Еден компјутер генерира повеќе безбедносни (Sysmon) настани.
  1. opens (Computers ↔ Network_connections, 1:N) Еден компјутер може да има повеќе мрежни конекции.
  1. triggers (Computers ↔ Security_alerts, 1:N) Еден компјутер може да активира повеќе аларми (alerts) во системот.

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.