| Version 4 (modified by , 3 weeks ago) ( diff ) |
|---|
ER дијаграм
Податочни барања
Ентитети
- Tenants – ентитет кој претставува логички изолирана организација (tenant) во системот.
- id (integer, PK)
- name (text, not null)
- owner_email (text, not null)
- created_at (datetime, not null)
- Users – ентитет кој чува информации за корисници автентицирани преку Google OAuth.
- id (integer, PK)
- email (text, not null, UNIQUE)
- name (text)
- picture (text)
- created_at (datetime, not null)
- Memberships – асоцијативен ентитет кој поврзува корисници со tenants и дефинира нивна улога.
- user_id* (integer, PK, FK → Users.id)
- tenant_id* (integer, PK, FK → Tenants.id)
- role (text, not null)
- created_at (datetime, not null)
- Environments – ентитет кој чува информации за логички околини во рамки на еден tenant.
- id (integer, PK)
- name (text, not null)
- created_at (datetime, not null)
- tenant_id* (integer, FK → Tenants.id, not null)
- (UNIQUE: tenant_id + name)
- ENV_Tokens – ентитет кој чува токени за пристап на клиентите во конкретно environment.
- id (integer, PK)
- env_name* (text, FK → Environments.name, not null)
- tenant_id* (integer, FK → Tenants.id, not null)
- token (text, not null, UNIQUE)
- created_at (datetime, not null)
- expires_at (datetime)
- Admin_sessions – ентитет кој чува администраторски сесии за управување со системот.
- id (integer, PK)
- token (text, not null, UNIQUE)
- tenant_id* (integer, FK → Tenants.id, not null)
- created_at (datetime, not null)
- Computers – ентитет кој чува податоци за уредите (клиенти) што испраќаат логови до серверот.
- id (integer, PK)
- name (text, not null)
- user (text)
- ip (text)
- os (text)
- first_seen (datetime)
- last_seen (datetime)
- sysmon_available (boolean, default 0)
- env_name* (text, FK → Environments.name, not null)
- tenant_id* (integer, FK → Tenants.id, not null)
- (UNIQUE: tenant_id + name)
- 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)
- 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)
- 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)
- 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)
- 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).
Релации
- owns (Tenants ↔ Environments, 1:N) Еден tenant може да има повеќе environments, а секое environment припаѓа на еден tenant.
- has (Tenants ↔ Users, M:N преку Memberships) Еден tenant може да има повеќе корисници, а еден корисник може да припаѓа на повеќе tenants со различни улоги.
- issues (Environments ↔ ENV_Tokens, 1:N) Едно environment може да има повеќе токени за пристап.
- contains (Environments ↔ Computers, 1:N) Едно environment содржи повеќе компјутери, а секој компјутер припаѓа на едно environment.
- records (Computers ↔ Computer_history, 1:N) Еден компјутер има повеќе записи со перформансни метрики во текот на времето.
- runs (Computers ↔ Computer_processes, 1:N) Еден компјутер има повеќе записи за процеси.
- generates (Computers ↔ Sysmon_events, 1:N) Еден компјутер генерира повеќе безбедносни (Sysmon) настани.
- opens (Computers ↔ Network_connections, 1:N) Еден компјутер може да има повеќе мрежни конекции.
- triggers (Computers ↔ Security_alerts, 1:N) Еден компјутер може да активира повеќе безбедносни аларми.
Attachments (4)
- ERDiagram_NetIntel.drawio (1).png (71.6 KB ) - added by 3 weeks ago.
- ERDiagram_NetIntel.drawio (2).png (85.9 KB ) - added by 3 weeks ago.
- ERDiagram_NetIntel.drawio (3) (1).png (95.5 KB ) - added by 3 weeks ago.
- ERDiagram_NetIntel.drawio (4) (1).png (97.5 KB ) - added by 2 weeks ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.
