Files
ai-security-xdr/haobang-security-dm/syslog-collector-api/sql/device_api_config_test_data.sql
T

159 lines
8.9 KiB
SQL
Raw Normal View History

-- =====================================================================
-- 设备API采集模块 建表 + 测试数据脚本
-- 适用数据库: 达梦 DM8
-- 说明:
-- 1. 先执行建表语句(表已存在时请先删除或忽略 DDL 部分)
-- 2. 再执行 INSERT 测试数据
-- 3. id 均为自增字段(IDENTITY),INSERT 无需也不允许指定 id
-- =====================================================================
-- ---------------------------------------------------------------------
-- 1. 建表: 设备API采集配置表
-- ---------------------------------------------------------------------
DROP TABLE IF EXISTS device_api_collect_log;
DROP TABLE IF EXISTS device_api_config;
CREATE TABLE device_api_config (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
device_id INT, -- 设备ID,关联 device_device.id
device_type VARCHAR(50) NOT NULL, -- 设备类型: tianyan/weibu/xdr
device_name VARCHAR(100) NOT NULL, -- 设备名称
device_ip VARCHAR(200) NOT NULL, -- 设备IP地址
host_api VARCHAR(200) NOT NULL, -- 设备API URL地址
auth_config TEXT, -- 认证配置JSON
data_types VARCHAR(500) NOT NULL, -- 数据类型: weblog,alarm / attack,info
collect_interval_sec INT DEFAULT 300, -- 采集间隔(秒)
enabled INT DEFAULT 1, -- 是否启用: 0-禁用, 1-启用
remark VARCHAR(500), -- 备注
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE device_api_config IS '设备API采集配置表';
COMMENT ON COLUMN device_api_config.id IS '主键,自增';
COMMENT ON COLUMN device_api_config.device_id IS '设备ID,关联 device_device.id';
COMMENT ON COLUMN device_api_config.device_type IS '设备类型: tianyan/weibu/xdr';
COMMENT ON COLUMN device_api_config.device_name IS '设备名称';
COMMENT ON COLUMN device_api_config.device_ip IS '设备IP地址';
COMMENT ON COLUMN device_api_config.host_api IS '设备API URL地址';
COMMENT ON COLUMN device_api_config.auth_config IS '认证配置JSON';
COMMENT ON COLUMN device_api_config.data_types IS '数据类型: weblog,alarm / attack,info';
COMMENT ON COLUMN device_api_config.collect_interval_sec IS '采集间隔(秒)';
COMMENT ON COLUMN device_api_config.enabled IS '是否启用: 0-禁用, 1-启用';
COMMENT ON COLUMN device_api_config.remark IS '备注';
COMMENT ON COLUMN device_api_config.create_time IS '创建时间';
COMMENT ON COLUMN device_api_config.update_time IS '更新时间';
-- ---------------------------------------------------------------------
-- 2. 建表: 设备API采集执行日志表
-- ---------------------------------------------------------------------
CREATE TABLE device_api_collect_log (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
device_id INT NOT NULL, -- 设备ID,关联 device_device.id
device_type VARCHAR(50) NOT NULL, -- 设备类型
data_type VARCHAR(50) NOT NULL, -- 数据类型
start_time TIMESTAMP NOT NULL, -- 采集窗口开始时间
end_time TIMESTAMP NOT NULL, -- 采集窗口结束时间
total_count INT DEFAULT 0, -- 采集记录总数
success_count INT DEFAULT 0, -- 成功写入数
fail_count INT DEFAULT 0, -- 失败数
cost_ms BIGINT DEFAULT 0, -- 耗时(毫秒)
status VARCHAR(20) NOT NULL, -- 状态: SUCCESS/FAIL
error_msg TEXT, -- 错误信息
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE device_api_collect_log IS '设备API采集执行日志';
COMMENT ON COLUMN device_api_collect_log.id IS '主键,自增';
COMMENT ON COLUMN device_api_collect_log.device_id IS '设备ID,关联 device_device.id';
COMMENT ON COLUMN device_api_collect_log.device_type IS '设备类型';
COMMENT ON COLUMN device_api_collect_log.data_type IS '数据类型';
COMMENT ON COLUMN device_api_collect_log.start_time IS '采集窗口开始时间';
COMMENT ON COLUMN device_api_collect_log.end_time IS '采集窗口结束时间';
COMMENT ON COLUMN device_api_collect_log.total_count IS '采集记录总数';
COMMENT ON COLUMN device_api_collect_log.success_count IS '成功写入数';
COMMENT ON COLUMN device_api_collect_log.fail_count IS '失败数';
COMMENT ON COLUMN device_api_collect_log.cost_ms IS '耗时(毫秒)';
COMMENT ON COLUMN device_api_collect_log.status IS '状态: SUCCESS/FAIL';
COMMENT ON COLUMN device_api_collect_log.error_msg IS '错误信息';
COMMENT ON COLUMN device_api_collect_log.create_time IS '创建时间';
-- =====================================================================
-- 3. 测试数据: 设备API采集配置表(id 自增,不插入)
-- 覆盖: 天眼(启用/停用)、微步(启用)、XDR(暂缓停用)
-- =====================================================================
INSERT INTO device_api_config
(device_id, device_type, device_name, device_ip, host_api, auth_config, data_types,
collect_interval_sec, enabled, remark, create_time, update_time)
VALUES
-- 天眼-主设备(启用,采集 weblog+alarm)
(35, 'tianyan', '天眼态势感知平台', '10.56.170.107',
'https://10.56.170.107',
'{"login_key":"QuJm4NwF3GMaXb2Z","username":"xxadmin","branch_id":"QbJK%2FsLHi"}',
'weblog,alarm', 300, 1, '生产环境天眼主采集器',
'2026-08-27 09:00:00', '2026-08-27 09:00:00'),
-- 天眼-备设备(停用,仅测试)
(102, 'tianyan', '天眼态势感知平台-备', '10.56.170.107',
'https://10.56.170.107',
'{"login_key":"QuJm4NwF3GMaXb2Z","username":"xxadmin","branch_id":"QbJK%2FsLHi"}',
'weblog', 600, 0, '备用采集器,暂未启用',
'2026-08-27 09:05:00', '2026-08-27 09:05:00'),
-- 微步-TDP(启用,采集 attack+info)
(36, 'weibu', '微步威胁感知平台', '10.56.171.164',
'https://10.56.171.164',
'{"api_key":"57d8fb2b556a471ea36b8b4441fa1c0c","secret":"9d967876f51d4e16bbf8bde069d12a9b"}',
'attack,info', 300, 1, '生产环境微步采集器',
'2026-08-27 09:10:00', '2026-08-27 09:10:00'),
-- XDR(暂缓,联动码待联调)
(104, 'xdr', '深信服XDR平台', '192.168.30.31',
'https://192.168.30.31',
'{"auth_code":"<待联调时填入14段联动码>"}',
'alert', 300, 0, 'XDR采集暂缓,待联动码解码联调后启用',
'2026-08-27 09:15:00', '2026-08-27 09:15:00');
-- =====================================================================
-- 4. 测试数据: 设备API采集执行日志表(id 自增,不插入)
-- 覆盖: 成功、失败、不同设备/类型
-- =====================================================================
INSERT INTO device_api_collect_log
(device_id, device_type, data_type, start_time, end_time,
total_count, success_count, fail_count, cost_ms, status, error_msg, create_time)
VALUES
-- 天眼 weblog 采集成功
(101, 'tianyan', 'weblog',
'2026-08-27 08:55:00', '2026-08-27 09:00:00',
1280, 1280, 0, 3265, 'SUCCESS', NULL,
'2026-08-27 09:00:00'),
-- 天眼 alarm 采集成功
(101, 'tianyan', 'alarm',
'2026-08-27 08:55:00', '2026-08-27 09:00:00',
36, 36, 0, 1240, 'SUCCESS', NULL,
'2026-08-27 09:00:00'),
-- 微步 attack 采集成功(含少量失败)
(103, 'weibu', 'attack',
'2026-08-27 08:55:00', '2026-08-27 09:00:00',
520, 518, 2, 1890, 'SUCCESS', '2条消息Kafka推送失败',
'2026-08-27 09:00:00'),
-- 微步 info 采集失败(模拟接口超时)
(103, 'weibu', 'info',
'2026-08-27 08:55:00', '2026-08-27 09:00:00',
0, 0, 0, 30050, 'FAIL', 'searchBySql接口请求超时: read timed out',
'2026-08-27 09:00:00'),
-- XDR(停用状态,无采集记录; 以下为历史参考记录)
(104, 'xdr', 'alert',
'2026-08-26 09:00:00', '2026-08-26 09:05:00',
0, 0, 0, 150, 'FAIL', 'XDR采集器暂缓,待联动码解码与签名接口联调后实现',
'2026-08-26 09:05:00');
-- =====================================================================
-- 5. 校验查询(可选执行)
-- =====================================================================
-- 查询启用中的采集配置
-- SELECT id, device_type, device_name, data_types, collect_interval_sec
-- FROM device_api_config
-- WHERE enabled = 1;
-- 查询最近采集日志
-- SELECT device_type, data_type, total_count, success_count, fail_count,
-- status, error_msg, create_time
-- FROM device_api_collect_log
-- ORDER BY id DESC;