41 lines
2.4 KiB
SQL
41 lines
2.4 KiB
SQL
-- 009_add_offline_settings.sql
|
|
-- Добавляет настройки для уведомлений при offline и дефолтные параметры
|
|
|
|
-- Поля для offline уведомлений в таблице servers
|
|
ALTER TABLE servers ADD COLUMN offline_timeout INT DEFAULT 300 COMMENT 'Таймаут в секундах до считания сервера offline (0 = выключено)';
|
|
ALTER TABLE servers ADD COLUMN notify_on_offline TINYINT(1) DEFAULT 1 COMMENT 'Уведомлять при offline';
|
|
ALTER TABLE servers ADD COLUMN last_offline_alert_at TIMESTAMP NULL COMMENT 'Время последнего алерта offline (анти-спам)';
|
|
|
|
-- Таблица дефолтных параметров
|
|
CREATE TABLE IF NOT EXISTS default_settings (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
setting_key VARCHAR(100) UNIQUE NOT NULL,
|
|
setting_value TEXT,
|
|
description TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Вставляем дефолтные значения
|
|
INSERT INTO default_settings (setting_key, setting_value, description) VALUES
|
|
('offline_check_interval', '60', 'Интервал проверки offline в секундах'),
|
|
('default_offline_timeout', '300', 'Дефолтный таймаут offline в секундах'),
|
|
('default_warning_threshold', '70', 'Дефолтный warning threshold (%)'),
|
|
('default_critical_threshold', '90', 'Дефолтный critical threshold (%)'),
|
|
('default_duration', '0', 'Дефолтная длительность превышения порога в минутах')
|
|
ON DUPLICATE KEY UPDATE description = VALUES(description);
|
|
|
|
-- Таблица для алертов offline (отдельная от метрик)
|
|
CREATE TABLE IF NOT EXISTS offline_alerts (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
server_id INT NOT NULL,
|
|
triggered_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
resolved TINYINT(1) DEFAULT 0,
|
|
resolved_at TIMESTAMP NULL,
|
|
notified_at TIMESTAMP NULL,
|
|
FOREIGN KEY (server_id) REFERENCES servers(id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Индекс для быстрого поиска активных offline алертов
|
|
CREATE INDEX idx_offline_alerts_active ON offline_alerts (server_id, resolved);
|