功能:完善通用云管工作台、审计与诊断能力
This commit is contained in:
1 parent
5ac692724d
commit
9f05aa20ea
225 files changed
+14266
-141
No files matched your search
@@ -9,6 +9,20 @@ ALTER TABLE administrators ADD COLUMN IF NOT EXISTS enabled boolean NOT NULL DEF
|
||||
CREATE TABLE IF NOT EXISTS admin_sessions (
|
||||
id text PRIMARY KEY, admin_id text NOT NULL REFERENCES administrators(id), expires_at timestamptz NOT NULL
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS admin_session_details (
|
||||
session_id text PRIMARY KEY REFERENCES admin_sessions(id) ON DELETE CASCADE,
|
||||
created_at timestamptz NOT NULL DEFAULT now(), client_ip text NOT NULL DEFAULT '', user_agent text NOT NULL DEFAULT ''
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS admin_mfa (
|
||||
admin_id text PRIMARY KEY REFERENCES administrators(id) ON DELETE CASCADE,
|
||||
encrypted_secret text NOT NULL DEFAULT '', last_counter bigint NOT NULL DEFAULT -1,
|
||||
pending_secret text NOT NULL DEFAULT '', pending_session text NOT NULL DEFAULT '',
|
||||
pending_expires timestamptz, enabled_at timestamptz
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS admin_mfa_recovery (
|
||||
admin_id text NOT NULL REFERENCES admin_mfa(admin_id) ON DELETE CASCADE,
|
||||
code_hash text NOT NULL, PRIMARY KEY(admin_id,code_hash)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS desktops (
|
||||
id text PRIMARY KEY, name text NOT NULL, os text NOT NULL, node text NOT NULL, vmid integer NOT NULL,
|
||||
pool text NOT NULL DEFAULT '', power_state text NOT NULL, service_state text NOT NULL DEFAULT 'unknown',
|
||||
@@ -105,6 +119,10 @@ CREATE TABLE IF NOT EXISTS alert_rules (
|
||||
id text PRIMARY KEY, name text NOT NULL, metric text NOT NULL CHECK(metric IN ('node_cpu','node_memory','node_storage','node_unavailable','terminal_offline')),
|
||||
threshold double precision NOT NULL, hold_seconds integer NOT NULL DEFAULT 0, enabled boolean NOT NULL DEFAULT true
|
||||
);
|
||||
ALTER TABLE alert_rules DROP CONSTRAINT IF EXISTS alert_rules_metric_check;
|
||||
ALTER TABLE alert_rules ADD CONSTRAINT alert_rules_metric_check CHECK(metric IN
|
||||
('node_cpu','node_memory','node_storage','node_unavailable','terminal_offline','terminal_cpu','terminal_memory','terminal_temperature'));
|
||||
ALTER TABLE alert_rules ADD COLUMN IF NOT EXISTS updated_at timestamptz NOT NULL DEFAULT now();
|
||||
INSERT INTO alert_rules(id,name,metric,threshold,hold_seconds) VALUES
|
||||
('rule_cpu','节点 CPU 高水位','node_cpu',90,120),('rule_memory','节点内存高水位','node_memory',90,120),
|
||||
('rule_storage','节点存储高水位','node_storage',90,120),('rule_node','节点状态或采集异常','node_unavailable',120,0),
|
||||
@@ -122,6 +140,7 @@ CREATE TABLE IF NOT EXISTS alert_states (
|
||||
rule_id text NOT NULL REFERENCES alert_rules(id), target_id text NOT NULL, first_seen timestamptz NOT NULL DEFAULT now(),
|
||||
PRIMARY KEY(rule_id,target_id)
|
||||
);
|
||||
ALTER TABLE alert_states ADD COLUMN IF NOT EXISTS last_sample_at timestamptz;
|
||||
CREATE TABLE IF NOT EXISTS terminal_policy_templates (
|
||||
id text PRIMARY KEY, name text NOT NULL, version text NOT NULL,
|
||||
heartbeat_interval integer NOT NULL CHECK(heartbeat_interval BETWEEN 15 AND 60),
|
||||
|
||||
Reference in new issue
Block a user