-- 服务器监控 + 服务健康检查 -- CreateTable CREATE TABLE `ServerNode` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `uuid` VARCHAR(191) NOT NULL, `name` VARCHAR(191) NOT NULL, `cpuName` VARCHAR(191) NOT NULL DEFAULT '', `os` VARCHAR(191) NOT NULL DEFAULT '', `region` VARCHAR(191) NOT NULL DEFAULT '', `memTotal` BIGINT NOT NULL DEFAULT 0, `diskTotal` BIGINT NOT NULL DEFAULT 0, `cpuCores` INTEGER NOT NULL DEFAULT 0, `cpuUsage` DOUBLE NOT NULL DEFAULT 0, `ramUsed` BIGINT NOT NULL DEFAULT 0, `swapUsed` BIGINT NOT NULL DEFAULT 0, `load1` DOUBLE NOT NULL DEFAULT 0, `load5` DOUBLE NOT NULL DEFAULT 0, `load15` DOUBLE NOT NULL DEFAULT 0, `diskUsed` BIGINT NOT NULL DEFAULT 0, `netIn` BIGINT NOT NULL DEFAULT 0, `netOut` BIGINT NOT NULL DEFAULT 0, `uptime` BIGINT NOT NULL DEFAULT 0, `process` INTEGER NOT NULL DEFAULT 0, `connections` INTEGER NOT NULL DEFAULT 0, `status` VARCHAR(191) NOT NULL DEFAULT 'unknown', `recordedAt` DATETIME(3) NOT NULL, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, UNIQUE INDEX `ServerNode_uuid_key`(`uuid`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `ServerNodeHistory` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `uuid` VARCHAR(191) NOT NULL, `period` DATETIME(3) NOT NULL, `cpu` DOUBLE NOT NULL DEFAULT 0, `ram` BIGINT NOT NULL DEFAULT 0, `load` DOUBLE NOT NULL DEFAULT 0, `disk` BIGINT NOT NULL DEFAULT 0, `netIn` BIGINT NOT NULL DEFAULT 0, `netOut` BIGINT NOT NULL DEFAULT 0, `process` INTEGER NOT NULL DEFAULT 0, `connections` INTEGER NOT NULL DEFAULT 0, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), UNIQUE INDEX `ServerNodeHistory_uuid_period_key`(`uuid`, `period`), INDEX `ServerNodeHistory_uuid_period_idx`(`uuid`, `period`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `ServiceCheck` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `name` VARCHAR(191) NOT NULL, `url` VARCHAR(191) NOT NULL, `status` VARCHAR(191) NOT NULL DEFAULT 'unknown', `latencyMs` INTEGER NOT NULL DEFAULT 0, `message` VARCHAR(191) NOT NULL DEFAULT '', `lastCheckAt` DATETIME(3) NOT NULL, `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updatedAt` DATETIME(3) NOT NULL, UNIQUE INDEX `ServiceCheck_name_key`(`name`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;