|
|
@@ -0,0 +1,487 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
+<mapper namespace="cn.chinaunicom.omniFlowNetCompute.mapper.DashboardMapper">
|
|
|
+ <!-- 1. 总告警数(所有监控表) -->
|
|
|
+ <select id="getTotalAlarmCounts" resultType="java.lang.Long" parameterType="java.lang.String">
|
|
|
+ SELECT COUNT(*)
|
|
|
+ FROM sec_permission_monitor
|
|
|
+ WHERE alert_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT COUNT(*)
|
|
|
+ FROM cus_db_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT COUNT(*)
|
|
|
+ FROM cus_internal_connect_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT COUNT(*)
|
|
|
+ FROM cus_ip_abnormal_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT COUNT(*)
|
|
|
+ FROM cus_task_exception_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 3. 查询已处理未处理总数 -->
|
|
|
+ <select id="getUntreatedAndProcessedCounts" resultType="cn.chinaunicom.omniFlowNetCompute.dto.AlarmStatusDTO"
|
|
|
+ parameterType="java.lang.String">
|
|
|
+ SELECT SUM(CASE WHEN alarm_status = 'untreated' THEN 1 ELSE 0 END) as untreated,
|
|
|
+ SUM(CASE WHEN alarm_status = 'processed' THEN 1 ELSE 0 END) as processed
|
|
|
+ FROM (SELECT alert_status as alarm_status
|
|
|
+ FROM sec_permission_monitor
|
|
|
+ WHERE DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT alarm_status
|
|
|
+ FROM cus_db_monitor
|
|
|
+ WHERE DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT alarm_status
|
|
|
+ FROM cus_internal_connect_monitor
|
|
|
+ WHERE DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT alarm_status
|
|
|
+ FROM cus_ip_abnormal_monitor
|
|
|
+ WHERE DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT alarm_status
|
|
|
+ FROM cus_task_exception_monitor
|
|
|
+ WHERE DATE_FORMAT(trigger_time, '%Y-%m') = #{month}) t
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 3. 内容性告警(数据库监控 - cus_db_monitor) -->
|
|
|
+ <select id="getContentAlarmCount" resultType="java.lang.Long" parameterType="java.lang.String">
|
|
|
+ SELECT COUNT(*)
|
|
|
+ FROM cus_db_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 4. 阈值类告警(其他4个监控表:权限变更、连接性、异常IP、定时任务) -->
|
|
|
+ <select id="getThresholdAlarmCount" resultType="java.lang.Long" parameterType="java.lang.String">
|
|
|
+ SELECT (SELECT COUNT(*)
|
|
|
+ FROM sec_permission_monitor
|
|
|
+ WHERE alert_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}) +
|
|
|
+ (SELECT COUNT(*)
|
|
|
+ FROM cus_internal_connect_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}) +
|
|
|
+ (SELECT COUNT(*)
|
|
|
+ FROM cus_ip_abnormal_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}) +
|
|
|
+ (SELECT COUNT(*)
|
|
|
+ FROM cus_task_exception_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month})
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!--5. 存在性告警-->
|
|
|
+ <select id="getAllSystemMetrics" resultType="cn.chinaunicom.omniFlowNetCompute.dto.SystemMetricConfigDTO">
|
|
|
+ SELECT sm.system_id as systemId,
|
|
|
+ si.system_name as systemName,
|
|
|
+ sm.metric_type as metricType,
|
|
|
+ sm.metric_code as metricCode,
|
|
|
+ COALESCE(sdm.report_interval, 60) as reportInterval,
|
|
|
+ sm.json_name as jsonName
|
|
|
+ FROM sec_system_metrics sm
|
|
|
+ INNER JOIN sec_system_info si ON sm.system_id = si.system_id
|
|
|
+ LEFT JOIN (SELECT system_id, metric_name, MAX(report_interval) as report_interval
|
|
|
+ FROM sec_data_undelivered_monitor
|
|
|
+ GROUP BY system_id, metric_name) sdm
|
|
|
+ ON sm.system_id = sdm.system_id AND sm.metric_type = sdm.metric_name
|
|
|
+ WHERE si.del_flag = '0'
|
|
|
+ AND si.status = '1'
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 5.1获取指定指标在指定月份的实际报送次数(只统计已送达) -->
|
|
|
+ <select id="getActualReportCount" resultType="java.lang.Integer">
|
|
|
+ SELECT COUNT(*)
|
|
|
+ FROM sec_data_undelivered_monitor
|
|
|
+ WHERE system_id = #{systemId}
|
|
|
+ AND metric_name = #{metricType}
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 6. 按系统统计列表(完整信息) -->
|
|
|
+ <select id="getSystemStatsDetail" resultType="cn.chinaunicom.omniFlowNetCompute.pojo.SystemStatsDetailVO">
|
|
|
+ SELECT si.system_id as systemId,
|
|
|
+ si.system_name as systemName,
|
|
|
+ si.business_unit as businessUnit,
|
|
|
+ si.vendor as vendor,
|
|
|
+ si.contact_name as contactName,
|
|
|
+ si.contact_phone as contactPhone,
|
|
|
+
|
|
|
+ -- 总告警数
|
|
|
+ COALESCE(pm.total, 0) + COALESCE(dbm.total, 0) + COALESCE(cm.total, 0) +
|
|
|
+ COALESCE(ipm.total, 0) + COALESCE(tm.total, 0) as totalAlarms,
|
|
|
+
|
|
|
+ -- 已办理数
|
|
|
+ COALESCE(pm.processed, 0) + COALESCE(dbm.processed, 0) + COALESCE(cm.processed, 0) +
|
|
|
+ COALESCE(ipm.processed, 0) + COALESCE(tm.processed, 0) as processedCount,
|
|
|
+
|
|
|
+ -- 未办理数
|
|
|
+ COALESCE(pm.untreated, 0) + COALESCE(dbm.untreated, 0) + COALESCE(cm.untreated, 0) +
|
|
|
+ COALESCE(ipm.untreated, 0) + COALESCE(tm.untreated, 0) as untreatedCount,
|
|
|
+
|
|
|
+ -- 内容类告警(数据库监控)
|
|
|
+ COALESCE(dbm.total, 0) as contentAlarms,
|
|
|
+
|
|
|
+ -- 阈值类告警(权限+连接+异常IP+定时任务)
|
|
|
+ COALESCE(pm.total, 0) + COALESCE(cm.total, 0) +
|
|
|
+ COALESCE(ipm.total, 0) + COALESCE(tm.total, 0) as thresholdAlarms,
|
|
|
+
|
|
|
+ -- 各监控类型数量
|
|
|
+ COALESCE(pm.total, 0) as permissionCount,
|
|
|
+ COALESCE(dbm.total, 0) as dbCount,
|
|
|
+ COALESCE(cm.total, 0) as connectCount,
|
|
|
+ COALESCE(ipm.total, 0) as ipCount,
|
|
|
+ COALESCE(tm.total, 0) as taskCount
|
|
|
+
|
|
|
+ FROM sec_system_info si
|
|
|
+
|
|
|
+ LEFT JOIN (SELECT system_id,
|
|
|
+ COUNT(*) as total,
|
|
|
+ SUM(CASE WHEN alert_status = 'processed' THEN 1 ELSE 0 END) as processed,
|
|
|
+ SUM(CASE WHEN alert_status = 'untreated' THEN 1 ELSE 0 END) as untreated
|
|
|
+ FROM sec_permission_monitor
|
|
|
+ WHERE alert_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+ GROUP BY system_id) pm ON si.system_id = pm.system_id
|
|
|
+
|
|
|
+ LEFT JOIN (SELECT system_id,
|
|
|
+ COUNT(*) as total,
|
|
|
+ SUM(CASE WHEN alarm_status = 'processed' THEN 1 ELSE 0 END) as processed,
|
|
|
+ SUM(CASE WHEN alarm_status = 'untreated' THEN 1 ELSE 0 END) as untreated
|
|
|
+ FROM cus_db_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+ GROUP BY system_id) dbm ON si.system_id = dbm.system_id
|
|
|
+
|
|
|
+ LEFT JOIN (SELECT system_id,
|
|
|
+ COUNT(*) as total,
|
|
|
+ SUM(CASE WHEN alarm_status = 'processed' THEN 1 ELSE 0 END) as processed,
|
|
|
+ SUM(CASE WHEN alarm_status = 'untreated' THEN 1 ELSE 0 END) as untreated
|
|
|
+ FROM cus_internal_connect_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+ GROUP BY system_id) cm ON si.system_id = cm.system_id
|
|
|
+
|
|
|
+ LEFT JOIN (SELECT system_id,
|
|
|
+ COUNT(*) as total,
|
|
|
+ SUM(CASE WHEN alarm_status = 'processed' THEN 1 ELSE 0 END) as processed,
|
|
|
+ SUM(CASE WHEN alarm_status = 'untreated' THEN 1 ELSE 0 END) as untreated
|
|
|
+ FROM cus_ip_abnormal_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+ GROUP BY system_id) ipm ON si.system_id = ipm.system_id
|
|
|
+
|
|
|
+ LEFT JOIN (SELECT system_id,
|
|
|
+ COUNT(*) as total,
|
|
|
+ SUM(CASE WHEN alarm_status = 'processed' THEN 1 ELSE 0 END) as processed,
|
|
|
+ SUM(CASE WHEN alarm_status = 'untreated' THEN 1 ELSE 0 END) as untreated
|
|
|
+ FROM cus_task_exception_monitor
|
|
|
+ WHERE alarm_level IN ('notice', 'alarm')
|
|
|
+ AND DATE_FORMAT(trigger_time, '%Y-%m') = #{month}
|
|
|
+ GROUP BY system_id) tm ON si.system_id = tm.system_id
|
|
|
+
|
|
|
+ WHERE si.del_flag = '0'
|
|
|
+ AND si.status = '1'
|
|
|
+ ORDER BY systemId, totalAlarms DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 1.2 获取配置了内容类指标(cus_db_monitor)的系统列表 -->
|
|
|
+ <select id="getContentConfiguredSystems" resultType="java.lang.String">
|
|
|
+ SELECT DISTINCT system_id
|
|
|
+ FROM sec_system_metrics
|
|
|
+ WHERE metric_code = 'cus_db_monitor'
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 1.3 获取已配置内容类指标且7日内有发送数据的系统列表 -->
|
|
|
+ <select id="getContentHasDataSystems" resultType="java.lang.String">
|
|
|
+ SELECT DISTINCT system_id
|
|
|
+ FROM cus_db_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ AND system_id IN (SELECT DISTINCT system_id
|
|
|
+ FROM sec_system_metrics
|
|
|
+ WHERE metric_code = 'cus_db_monitor')
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 1.4 获取配置了阈值类指标的系统列表 -->
|
|
|
+ <select id="getThresholdConfiguredSystems" resultType="java.lang.String">
|
|
|
+ SELECT DISTINCT system_id
|
|
|
+ FROM sec_system_metrics
|
|
|
+ WHERE metric_code IN (
|
|
|
+ 'sec_permission_monitor',
|
|
|
+ 'cus_internal_connect_monitor',
|
|
|
+ 'cus_ip_abnormal_monitor',
|
|
|
+ 'cus_task_exception_monitor'
|
|
|
+ )
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 1.5 获取已配置阈值类指标且7日内有发送数据的系统列表 -->
|
|
|
+ <select id="getThresholdHasDataSystems" resultType="java.lang.String">
|
|
|
+ SELECT DISTINCT system_id
|
|
|
+ FROM (SELECT system_id
|
|
|
+ FROM sec_permission_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ UNION
|
|
|
+ SELECT system_id
|
|
|
+ FROM cus_internal_connect_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ UNION
|
|
|
+ SELECT system_id
|
|
|
+ FROM cus_ip_abnormal_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ UNION
|
|
|
+ SELECT system_id
|
|
|
+ FROM cus_task_exception_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)) t
|
|
|
+ WHERE system_id IN (SELECT DISTINCT system_id
|
|
|
+ FROM sec_system_metrics
|
|
|
+ WHERE metric_code IN (
|
|
|
+ 'sec_permission_monitor',
|
|
|
+ 'cus_internal_connect_monitor',
|
|
|
+ 'cus_ip_abnormal_monitor',
|
|
|
+ 'cus_task_exception_monitor'
|
|
|
+ ))
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 2. 获取实时告警列表(按时间排序取20条) -->
|
|
|
+ <select id="getAlarmList" resultType="cn.chinaunicom.omniFlowNetCompute.pojo.AlarmListVO">
|
|
|
+ SELECT *
|
|
|
+ FROM (SELECT '数据库监控' as monitorName,
|
|
|
+ 'cus_db_monitor' as tableName,
|
|
|
+ t.system_id as systemId,
|
|
|
+ (SELECT system_name FROM sec_system_info WHERE system_id = t.system_id) as systemName,
|
|
|
+ t.alarm_status as alarmStatus,
|
|
|
+ t.trigger_time as triggerTime,
|
|
|
+ '内容类' as category
|
|
|
+ FROM cus_db_monitor t
|
|
|
+ WHERE t.alarm_status = 'untreated'
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT '用户权限变更监控' as monitorName,
|
|
|
+ 'sec_permission_monitor' as tableName,
|
|
|
+ t.system_id as systemId,
|
|
|
+ (SELECT system_name FROM sec_system_info WHERE system_id = t.system_id) as systemName,
|
|
|
+ t.alert_status as alarmStatus,
|
|
|
+ t.trigger_time as triggerTime,
|
|
|
+ '阈值类' as category
|
|
|
+ FROM sec_permission_monitor t
|
|
|
+ WHERE t.alert_status = 'untreated'
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT '系统内部连接性监控' as monitorName,
|
|
|
+ 'cus_internal_connect_monitor' as tableName,
|
|
|
+ t.system_id as systemId,
|
|
|
+ (SELECT system_name FROM sec_system_info WHERE system_id = t.system_id) as systemName,
|
|
|
+ t.alarm_status as alarmStatus,
|
|
|
+ t.trigger_time as triggerTime,
|
|
|
+ '阈值类' as category
|
|
|
+ FROM cus_internal_connect_monitor t
|
|
|
+ WHERE t.alarm_status = 'untreated'
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT '异常IP访问监控' as monitorName,
|
|
|
+ 'cus_ip_abnormal_monitor' as tableName,
|
|
|
+ t.system_id as systemId,
|
|
|
+ (SELECT system_name FROM sec_system_info WHERE system_id = t.system_id) as systemName,
|
|
|
+ t.alarm_status as alarmStatus,
|
|
|
+ t.trigger_time as triggerTime,
|
|
|
+ '阈值类' as category
|
|
|
+ FROM cus_ip_abnormal_monitor t
|
|
|
+ WHERE t.alarm_status = 'untreated'
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT '定时任务异常监控' as monitorName,
|
|
|
+ 'cus_task_exception_monitor' as tableName,
|
|
|
+ t.system_id as systemId,
|
|
|
+ (SELECT system_name FROM sec_system_info WHERE system_id = t.system_id) as systemName,
|
|
|
+ t.alarm_status as alarmStatus,
|
|
|
+ t.trigger_time as triggerTime,
|
|
|
+ '阈值类' as category
|
|
|
+ FROM cus_task_exception_monitor t
|
|
|
+ WHERE t.alarm_status = 'untreated') t
|
|
|
+ ORDER BY t.triggerTime DESC
|
|
|
+ LIMIT 20
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 3. 查询七日内各监测点数量 -->
|
|
|
+ <select id="getMonitorPointCounts" resultType="cn.chinaunicom.omniFlowNetCompute.pojo.MonitorPointCountVO">
|
|
|
+ SELECT '数据库监控' as monitorName,
|
|
|
+ 'cus_db_monitor' as tableName,
|
|
|
+ '内容类' as category,
|
|
|
+ COUNT(*) as count
|
|
|
+ FROM cus_db_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT '用户权限变更监控',
|
|
|
+ 'sec_permission_monitor',
|
|
|
+ '阈值类',
|
|
|
+ COUNT(*)
|
|
|
+ FROM sec_permission_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT '系统内部连接性监控',
|
|
|
+ 'cus_internal_connect_monitor',
|
|
|
+ '阈值类',
|
|
|
+ COUNT(*)
|
|
|
+ FROM cus_internal_connect_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT '异常IP访问监控',
|
|
|
+ 'cus_ip_abnormal_monitor',
|
|
|
+ '阈值类',
|
|
|
+ COUNT(*)
|
|
|
+ FROM cus_ip_abnormal_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+
|
|
|
+ SELECT '定时任务异常监控',
|
|
|
+ 'cus_task_exception_monitor',
|
|
|
+ '阈值类',
|
|
|
+ COUNT(*)
|
|
|
+ FROM cus_task_exception_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+
|
|
|
+ ORDER BY count DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 4.1 查询七日内内容类每日趋势 -->
|
|
|
+ <select id="getContentDailyTrend" resultType="cn.chinaunicom.omniFlowNetCompute.pojo.DateCountVO">
|
|
|
+ SELECT DATE_FORMAT(trigger_time, '%m-%d') as date,
|
|
|
+ COUNT(*) as count
|
|
|
+ FROM cus_db_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ GROUP BY DATE_FORMAT(trigger_time, '%m-%d')
|
|
|
+ ORDER BY date
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 4.2 查询七日内阈值类每日趋势 -->
|
|
|
+ <select id="getThresholdDailyTrend" resultType="cn.chinaunicom.omniFlowNetCompute.pojo.DateCountVO">
|
|
|
+ SELECT DATE_FORMAT(trigger_time, '%m-%d') as date,
|
|
|
+ COUNT(*) as count
|
|
|
+ FROM (SELECT trigger_time
|
|
|
+ FROM sec_permission_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ UNION ALL
|
|
|
+ SELECT trigger_time
|
|
|
+ FROM cus_internal_connect_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ UNION ALL
|
|
|
+ SELECT trigger_time
|
|
|
+ FROM cus_ip_abnormal_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ UNION ALL
|
|
|
+ SELECT trigger_time
|
|
|
+ FROM cus_task_exception_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)) t
|
|
|
+ GROUP BY DATE_FORMAT(trigger_time, '%m-%d')
|
|
|
+ ORDER BY date
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 5.1 查询七日内每个系统存在性告警数量(单独) -->
|
|
|
+ <select id="getSystemExistenceWeekCounts" resultType="cn.chinaunicom.omniFlowNetCompute.pojo.SystemExistenceWeekVO">
|
|
|
+ SELECT si.system_id as systemId,
|
|
|
+ si.system_name as systemName,
|
|
|
+ COALESCE(COUNT(sdm.monitor_id), 0) as existenceCount
|
|
|
+ FROM sec_system_info si
|
|
|
+ LEFT JOIN sec_data_undelivered_monitor sdm
|
|
|
+ ON si.system_id = sdm.system_id
|
|
|
+ AND sdm.trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ AND sdm.alarm_status = 'untreated'
|
|
|
+ WHERE si.del_flag = '0'
|
|
|
+ AND si.status = '1'
|
|
|
+ GROUP BY si.system_id, si.system_name
|
|
|
+ ORDER BY si.system_id
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 4.4 获取7天内所有已送达的报送记录 -->
|
|
|
+ <select id="getDeliveryRecordsLast7Days" resultType="cn.chinaunicom.omniFlowNetCompute.dto.DeliveryRecordDTO">
|
|
|
+ SELECT
|
|
|
+ DATE_FORMAT(trigger_time, '%m-%d') as date,
|
|
|
+ system_id as systemId,
|
|
|
+ metric_name as metricType,
|
|
|
+ last_report_time as reportTime
|
|
|
+ FROM sec_data_undelivered_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ AND delivery_status = 1
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 获取所有系统信息 -->
|
|
|
+ <select id="getAllSystemInfos" resultType="cn.chinaunicom.omniFlowNetCompute.dto.SystemInfo">
|
|
|
+ SELECT
|
|
|
+ system_id as systemId,
|
|
|
+ system_name as systemName
|
|
|
+ FROM sec_system_info
|
|
|
+ WHERE del_flag = '0'
|
|
|
+ AND status = '1'
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 获取7天内内容类告警数量(按系统分组) -->
|
|
|
+ <select id="getContentAlarmCountLast7Days" resultType="cn.chinaunicom.omniFlowNetCompute.pojo.SystemCategoryVO">
|
|
|
+ SELECT
|
|
|
+ system_id as systemId,
|
|
|
+ COUNT(*) as contentCount
|
|
|
+ FROM cus_db_monitor
|
|
|
+ WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ GROUP BY system_id
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 获取7天内阈值类告警数量(按系统分组) -->
|
|
|
+ <select id="getThresholdAlarmCountLast7Days" resultType="cn.chinaunicom.omniFlowNetCompute.pojo.SystemCategoryVO">
|
|
|
+ SELECT
|
|
|
+ system_id as systemId,
|
|
|
+ COUNT(*) as thresholdCount
|
|
|
+ FROM (
|
|
|
+ SELECT system_id FROM sec_permission_monitor WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ UNION ALL
|
|
|
+ SELECT system_id FROM cus_internal_connect_monitor WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ UNION ALL
|
|
|
+ SELECT system_id FROM cus_ip_abnormal_monitor WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ UNION ALL
|
|
|
+ SELECT system_id FROM cus_task_exception_monitor WHERE trigger_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
|
|
+ ) t
|
|
|
+ GROUP BY system_id
|
|
|
+ </select>
|
|
|
+
|
|
|
+</mapper>
|