wulf-pulse/migrations/028_create_veeam_agents_alarms.sql

62 lines
2.6 KiB
SQL

-- Veeam Backup Agents (agent installs on managed machines)
CREATE TABLE IF NOT EXISTS veeam_backup_agents (
instance_uid VARCHAR(255) PRIMARY KEY,
organization_uid VARCHAR(255) REFERENCES veeam_organizations(instance_uid) ON DELETE SET NULL,
site_uid VARCHAR(255),
management_agent_uid VARCHAR(255),
name VARCHAR(500) NOT NULL,
agent_platform VARCHAR(50),
status VARCHAR(50),
management_agent_status VARCHAR(50),
operation_mode VARCHAR(50),
gui_mode VARCHAR(50),
platform VARCHAR(50),
version VARCHAR(100),
version_status VARCHAR(50),
management_mode VARCHAR(100),
installation_type VARCHAR(50),
activation_time TIMESTAMPTZ,
total_jobs_count INTEGER DEFAULT 0,
running_jobs_count INTEGER DEFAULT 0,
success_jobs_count INTEGER DEFAULT 0,
synced_at TIMESTAMPTZ DEFAULT NOW(),
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- Veeam VSPC Alarms (platform-level alarms, distinct from job failures)
CREATE TABLE IF NOT EXISTS veeam_alarms (
instance_uid VARCHAR(255) PRIMARY KEY,
alarm_template_uid VARCHAR(255),
repeat_count INTEGER DEFAULT 0,
object_uid VARCHAR(255),
object_type VARCHAR(100),
object_name VARCHAR(500),
object_computer_name VARCHAR(500),
organization_uid VARCHAR(255) REFERENCES veeam_organizations(instance_uid) ON DELETE SET NULL,
location_uid VARCHAR(255),
management_agent_uid VARCHAR(255),
last_activation_uid VARCHAR(255),
last_activation_time TIMESTAMPTZ,
last_activation_status VARCHAR(50),
last_activation_message TEXT,
last_activation_remark TEXT,
area VARCHAR(50),
resolved BOOLEAN DEFAULT false,
synced_at TIMESTAMPTZ DEFAULT NOW(),
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- Indexes
CREATE INDEX IF NOT EXISTS idx_veeam_agents_org ON veeam_backup_agents(organization_uid);
CREATE INDEX IF NOT EXISTS idx_veeam_agents_status ON veeam_backup_agents(status);
CREATE INDEX IF NOT EXISTS idx_veeam_agents_mgmt_status ON veeam_backup_agents(management_agent_status);
CREATE INDEX IF NOT EXISTS idx_veeam_agents_platform ON veeam_backup_agents(agent_platform);
CREATE INDEX IF NOT EXISTS idx_veeam_agents_synced ON veeam_backup_agents(synced_at);
CREATE INDEX IF NOT EXISTS idx_veeam_alarms_org ON veeam_alarms(organization_uid);
CREATE INDEX IF NOT EXISTS idx_veeam_alarms_status ON veeam_alarms(last_activation_status);
CREATE INDEX IF NOT EXISTS idx_veeam_alarms_resolved ON veeam_alarms(resolved);
CREATE INDEX IF NOT EXISTS idx_veeam_alarms_time ON veeam_alarms(last_activation_time);
CREATE INDEX IF NOT EXISTS idx_veeam_alarms_synced ON veeam_alarms(synced_at);