All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m35s
实现功能: - 实名状态检查轮询(可配置间隔) - 卡流量检查轮询(支持跨月流量追踪) - 套餐检查与超额自动停机 - 分布式并发控制(Redis 信号量) - 手动触发轮询(单卡/批量/条件筛选) - 数据清理配置与执行 - 告警规则与历史记录 - 实时监控统计(队列/性能/并发) 性能优化: - Redis 缓存卡信息,减少 DB 查询 - Pipeline 批量写入 Redis - 异步流量记录写入 - 渐进式初始化(10万卡/批) 压测工具(scripts/benchmark/): - Mock Gateway 模拟上游服务 - 测试卡生成器 - 配置初始化脚本 - 实时监控脚本 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
46 lines
2.4 KiB
SQL
46 lines
2.4 KiB
SQL
-- 告警规则表
|
||
CREATE TABLE IF NOT EXISTS tb_polling_alert_rule (
|
||
id BIGSERIAL PRIMARY KEY,
|
||
rule_name VARCHAR(100) NOT NULL,
|
||
task_type VARCHAR(50) NOT NULL,
|
||
metric_type VARCHAR(50) NOT NULL,
|
||
operator VARCHAR(20) NOT NULL,
|
||
threshold DECIMAL(10, 2) NOT NULL,
|
||
duration_minutes INT NOT NULL DEFAULT 5,
|
||
alert_level VARCHAR(20) NOT NULL DEFAULT 'warning',
|
||
notification_channels TEXT,
|
||
notification_config TEXT,
|
||
status SMALLINT NOT NULL DEFAULT 1,
|
||
cooldown_minutes INT NOT NULL DEFAULT 5,
|
||
description TEXT,
|
||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
created_by BIGINT,
|
||
updated_by BIGINT
|
||
);
|
||
|
||
-- 索引
|
||
CREATE INDEX idx_polling_alert_rule_status ON tb_polling_alert_rule(status);
|
||
CREATE INDEX idx_polling_alert_rule_task_type ON tb_polling_alert_rule(task_type);
|
||
|
||
-- 表注释
|
||
COMMENT ON TABLE tb_polling_alert_rule IS '告警规则表 - 定义轮询系统的告警条件和通知方式';
|
||
|
||
-- 列注释
|
||
COMMENT ON COLUMN tb_polling_alert_rule.rule_name IS '规则名称';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.task_type IS '任务类型:realname/carddata/package';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.metric_type IS '指标类型:queue_size/success_rate/avg_duration/concurrency';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.operator IS '比较运算符:gt/lt/gte/lte/eq';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.threshold IS '阈值';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.duration_minutes IS '持续时长(分钟),避免短暂波动';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.alert_level IS '告警级别:info/warning/error/critical';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.notification_channels IS '通知渠道(JSON数组):["email","sms","webhook"]';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.notification_config IS '通知配置(JSON)';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.status IS '状态:0-禁用,1-启用';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.cooldown_minutes IS '冷却期(分钟),避免重复告警';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.description IS '规则说明';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.created_at IS '创建时间';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.updated_at IS '更新时间';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.created_by IS '创建人ID';
|
||
COMMENT ON COLUMN tb_polling_alert_rule.updated_by IS '更新人ID';
|