Kaynağa Gözat

替换掉应用访问分析

zhangpeng 1 yıl önce
ebeveyn
işleme
3f782a147d
1 değiştirilmiş dosya ile 659 ekleme ve 115 silme
  1. 659 115
      fayuan_zp

+ 659 - 115
fayuan_zp

@@ -645,6 +645,7 @@ FROM
 
 ----应用系统告警趋势----
 
+
 DROP TABLE if EXISTS `bi_alm_yingyong_gaojing`;
 CREATE TABLE  `bi_alm_yingyong_gaojing`(
   `dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
@@ -655,20 +656,21 @@ CREATE TABLE  `bi_alm_yingyong_gaojing`(
 	`PRIORITY` varchar(10) DEFAULT NULL comment '应用等级',
 	`app_type` varchar(10) DEFAULT NULL comment '应用分类',
 	`app_type_name` varchar(200) DEFAULT NULL comment '应用名称',
-	`title` VARCHAR(256) DEFAULT NULL COMMENT '告警标题',
-	`alarm_text` VARCHAR(256) DEFAULT NULL COMMENT '告警内容',
 	`alarm_count` decimal(58,4) DEFAULT NULL COMMENT '告警次数',
-	`alarm_time` decimal(58,4) DEFAULT NULL COMMENT '告警时长(h)',
-	`alarm_object_ip` VARCHAR(256) DEFAULT NULL COMMENT '设备名称',
-	`total_zy_num`  decimal(29,8) DEFAULT NULL COMMENT '总资产数(取平均)',
-	 `severity_type` varchar(2) NOT NULL DEFAULT '' COMMENT '告警等级'
+	`collection_frequency`  decimal(29,8) DEFAULT NULL COMMENT '采集次数',
+	`severity_type` varchar(2) NOT NULL DEFAULT '' COMMENT '告警等级',
+	`alarm_duration` decimal(58,4) DEFAULT NULL COMMENT '告警时长',
+	`ITM_APP_ID` varchar(30) DEFAULT NULL comment '应用id',
+	`alarm_duration_sum` decimal(58,4) DEFAULT NULL COMMENT '告警总时长'
+	
 	)ENGINE = InnoDB DEFAULT CHARSET = utf8;
 
 
-INSERT INTO  `bi_alm_yingyong_gaojing`
+
+INSERT INTO `bi_alm_yingyong_gaojing`
 SELECT
    'HOUR' dtype,
-  DATE_FORMAT(t4.occur_time,'%Y%m%d%H') as thedvalue,
+ t4.thedvalue as thedvalue,
 	t2.ITM_APPCATAGORY_NAME AS NET_NAME,
 	t1.ORGAN_ID AS ORGAN_ID,
 	t3.SHORT_NAME AS organ_name,
@@ -693,117 +695,154 @@ CASE
 		'智慧执行' ELSE '其他' 
 	END AS app_type,
 	t1.ITM_APP_NAME AS app_type_name,
-	t4.title AS title,
-	t4.alarm_text AS alarm_text,
-	sum(t4.alarm_count) AS alarm_count,
-	sum(timestampdiff( MINUTE, t4.occur_time, t4.end_time )) AS alarm_time,
-	t4.alarm_object_ip as alarm_object_ip,
-	(select count(1) from itm_app) as total_zy_num,
-	case t4.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type
+sum(t4.avg_alarm_count) as alarm_count,
+sum(t4.collection_frequency) as collection_frequency,
+	case t4.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	abs(t4.alarm_duration) as alarm_duration,
+	t1.ITM_APP_ID as ITM_APP_ID,
+	B.alarm_duration_sum as alarm_duration_sum 
 FROM
 	itm_app t1
 	LEFT JOIN itm_appcatagory AS t2 ON t2.ITM_APPCATAGORY_CODE= t1.ITM_NETGROUP_ID
 	LEFT JOIN pub_organ AS t3 ON t1.organ_id=t3.code
-	inner JOIN v_bi_alm_all_alarm t4 ON t4.alarm_object_id = t1.ITM_APP_ID 
-	group by t2.ITM_APPCATAGORY_NAME,t1.ORGAN_ID,t3.SHORT_NAME,	t1.PRIORITY ,t1.app_type,t1.ITM_APP_NAME,t4.title,t4.alarm_object_ip,t4.alarm_text,DATE_FORMAT(t4.occur_time,'%Y%m%d%H'),t4.severity_id;
-	
-	
-	
-INSERT INTO  `bi_alm_yingyong_gaojing`
-	SELECT
-  'DAY' dtype,
-  substring(thedvalue,1,8) AS thedvalue,
-	NET_NAME,
-	ORGAN_ID,
-	organ_name,
-	PRIORITY,
-	app_type,
-	app_type_name,
-	title,
-	alarm_text,
-	sum(alarm_count) ,
-	sum(alarm_time),
-	alarm_object_ip,
-	sum(total_zy_num),
-	severity_type
-FROM bi_alm_yingyong_gaojing  where dtype = 'HOUR' 
-group by 
-	substring(thedvalue,1,8),
-	net_name,
-	ORGAN_ID,
-	ORGAN_name, 
-	PRIORITY,
-	app_type,
-	app_type_name,
-	title,
-	alarm_text,
-	alarm_object_ip,
-	severity_type; 	
-	
-	
-	
-INSERT INTO  `bi_alm_yingyong_gaojing`
+	left JOIN tmp_v_bi_alm_all_alarm_hour t4 ON t4.alarm_object_id = t1.ITM_APP_ID LEFT join (select thedvalue,sum(abs(alarm_duration)) as alarm_duration_sum from tmp_v_bi_alm_all_alarm_hour group by thedvalue) as B
+	on t4.thedvalue = B.thedvalue
+	group by t2.ITM_APPCATAGORY_NAME,t1.ORGAN_ID,t3.SHORT_NAME,t1.PRIORITY,t1.app_type,t1.ITM_APP_NAME,t4.severity_id,thedvalue,t4.alarm_object_id,t1.ITM_APP_ID,t4.thedvalue;
+
+
+
+
+
+
+INSERT INTO `bi_alm_yingyong_gaojing`
 SELECT
-  'MONTH' dtype,
- substring(thedvalue,1,6) AS thedvalue,
-	NET_NAME,
-	ORGAN_ID,
-	organ_name,
-	PRIORITY,
-	app_type,
-	app_type_name,
-	title,
-	alarm_text,
-	sum(alarm_count) ,
-	sum(alarm_time),
-	alarm_object_ip,
-	sum(total_zy_num),
-	severity_type
-FROM bi_alm_yingyong_gaojing  where dtype = 'DAY' 
-group by 
-	substring(thedvalue,1,6),
-	net_name,
-	ORGAN_ID,
-	ORGAN_name, 
-	PRIORITY,
-	app_type,
-	app_type_name,
-	title,
-	alarm_text,
-	alarm_object_ip,
-	severity_type;
-	
-	
-INSERT INTO  `bi_alm_yingyong_gaojing`	
-	SELECT
-  'YEAR' dtype,
-   substring(thedvalue,1,4) AS thedvalue,
-	NET_NAME,
-	ORGAN_ID,
-	organ_name,
-	PRIORITY,
-	app_type,
-	app_type_name,
-	title,
-	alarm_text,
-	sum(alarm_count) ,
-	sum(alarm_time),
-	alarm_object_ip,
-	sum(total_zy_num),
-	severity_type
-FROM bi_alm_yingyong_gaojing  where dtype = 'MONTH' 
-group by 
-	substring(thedvalue,1,4),
-	net_name,
-	ORGAN_ID,
-	ORGAN_name, 
-	PRIORITY,
-	app_type,
-	app_type_name,
-	title,
-	alarm_text,
-	alarm_object_ip,
-	severity_type;
+   'DAY' dtype,
+ t4.thedvalue as thedvalue,
+	t2.ITM_APPCATAGORY_NAME AS NET_NAME,
+	t1.ORGAN_ID AS ORGAN_ID,
+	t3.SHORT_NAME AS organ_name,
+CASE
+		t1.PRIORITY 
+		WHEN 'low' THEN
+		'一般应用' 
+		WHEN 'important' THEN
+		'重要应用' 
+		WHEN 'high' THEN
+		'核心应用' ELSE '未知' 
+	END AS PRIORITY,
+CASE
+		t1.app_type 
+		WHEN '1' THEN
+		'智慧服务' 
+		WHEN '2' THEN
+		'智慧管理' 
+		WHEN '3' THEN
+		'智慧审判' 
+		WHEN '4' THEN
+		'智慧执行' ELSE '其他' 
+	END AS app_type,
+	t1.ITM_APP_NAME AS app_type_name,
+sum(t4.avg_alarm_count) as alarm_count,
+sum(t4.collection_frequency) as collection_frequency,
+	case t4.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	t4.alarm_duration as alarm_duration,
+	t1.ITM_APP_ID as ITM_APP_ID,
+	B.alarm_duration_sum as alarm_duration_sum 
+FROM
+	itm_app t1
+	LEFT JOIN itm_appcatagory AS t2 ON t2.ITM_APPCATAGORY_CODE= t1.ITM_NETGROUP_ID
+	LEFT JOIN pub_organ AS t3 ON t1.organ_id=t3.code
+	inner JOIN v_bi_alm_all_alarm_day t4 ON t4.alarm_object_id = t1.ITM_APP_ID join (select sum(alarm_duration) as alarm_duration_sum from v_bi_alm_all_alarm_day group by thedvalue) as B
+	group by t2.ITM_APPCATAGORY_NAME,t1.ORGAN_ID,t3.SHORT_NAME,t1.PRIORITY,t1.app_type,t1.ITM_APP_NAME,t4.severity_id,thedvalue,t4.alarm_object_id,t1.ITM_APP_ID,t4.thedvalue;
+
+
+
+INSERT INTO `bi_alm_yingyong_gaojing`
+SELECT
+   'MONTH' dtype,
+ t4.thedvalue as thedvalue,
+	t2.ITM_APPCATAGORY_NAME AS NET_NAME,
+	t1.ORGAN_ID AS ORGAN_ID,
+	t3.SHORT_NAME AS organ_name,
+CASE
+		t1.PRIORITY 
+		WHEN 'low' THEN
+		'一般应用' 
+		WHEN 'important' THEN
+		'重要应用' 
+		WHEN 'high' THEN
+		'核心应用' ELSE '未知' 
+	END AS PRIORITY,
+CASE
+		t1.app_type 
+		WHEN '1' THEN
+		'智慧服务' 
+		WHEN '2' THEN
+		'智慧管理' 
+		WHEN '3' THEN
+		'智慧审判' 
+		WHEN '4' THEN
+		'智慧执行' ELSE '其他' 
+	END AS app_type,
+	t1.ITM_APP_NAME AS app_type_name,
+sum(t4.avg_alarm_count) as alarm_count,
+sum(t4.collection_frequency) as collection_frequency,
+	case t4.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	abs(t4.alarm_duration) as alarm_duration,
+	t1.ITM_APP_ID as ITM_APP_ID,
+	B.alarm_duration_sum as alarm_duration_sum 
+FROM
+	itm_app t1
+	LEFT JOIN itm_appcatagory AS t2 ON t2.ITM_APPCATAGORY_CODE= t1.ITM_NETGROUP_ID
+	LEFT JOIN pub_organ AS t3 ON t1.organ_id=t3.code
+	inner JOIN v_bi_alm_all_alarm_month t4 ON t4.alarm_object_id = t1.ITM_APP_ID 
+	left join (select thedvalue,sum(abs(alarm_duration)) as alarm_duration_sum 
+	from v_bi_alm_all_alarm_month group by thedvalue) as B on t4.thedvalue = B.thedvalue
+	group by t2.ITM_APPCATAGORY_NAME,t1.ORGAN_ID,t3.SHORT_NAME,t1.PRIORITY,t1.app_type,t1.ITM_APP_NAME,t4.severity_id,thedvalue,t4.alarm_object_id,t1.ITM_APP_ID,t4.thedvalue;
+
+
+
+INSERT INTO `bi_alm_yingyong_gaojing`
+SELECT
+   'MONTH' dtype,
+ t4.thedvalue as thedvalue,
+	t2.ITM_APPCATAGORY_NAME AS NET_NAME,
+	t1.ORGAN_ID AS ORGAN_ID,
+	t3.SHORT_NAME AS organ_name,
+CASE
+		t1.PRIORITY 
+		WHEN 'low' THEN
+		'一般应用' 
+		WHEN 'important' THEN
+		'重要应用' 
+		WHEN 'high' THEN
+		'核心应用' ELSE '未知' 
+	END AS PRIORITY,
+CASE
+		t1.app_type 
+		WHEN '1' THEN
+		'智慧服务' 
+		WHEN '2' THEN
+		'智慧管理' 
+		WHEN '3' THEN
+		'智慧审判' 
+		WHEN '4' THEN
+		'智慧执行' ELSE '其他' 
+	END AS app_type,
+	t1.ITM_APP_NAME AS app_type_name,
+sum(t4.avg_alarm_count) as alarm_count,
+sum(t4.collection_frequency) as collection_frequency,
+	case t4.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	t4.alarm_duration as alarm_duration,
+	t1.ITM_APP_ID as ITM_APP_ID,
+	B.alarm_duration_sum as alarm_duration_sum 
+FROM
+	itm_app t1
+	LEFT JOIN itm_appcatagory AS t2 ON t2.ITM_APPCATAGORY_CODE= t1.ITM_NETGROUP_ID
+	LEFT JOIN pub_organ AS t3 ON t1.organ_id=t3.code
+	inner JOIN v_bi_alm_all_alarm_year t4 ON t4.alarm_object_id = t1.ITM_APP_ID join (select sum(alarm_duration) as alarm_duration_sum 
+	from v_bi_alm_all_alarm_year group by thedvalue) as B
+	group by t2.ITM_APPCATAGORY_NAME,t1.ORGAN_ID,t3.SHORT_NAME,t1.PRIORITY,t1.app_type,t1.ITM_APP_NAME,t4.severity_id,thedvalue,t4.alarm_object_id,t1.ITM_APP_ID,t4.thedvalue;
 
 
 
@@ -1312,4 +1351,509 @@ net_NAME,
 PRIORITY,
 app_type,
 app_type_name,
-substring( thedvalue, 1, 4 );
+substring( thedvalue, 1, 4 );
+
+-- 基础设施告警
+
+
+DROP TABLE IF EXISTS `bi_jichu_sheshi_gaojing`;
+CREATE TABLE `bi_jichu_sheshi_gaojing` (
+	`dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
+	`thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
+	`ITM_HARDWARE_RESOURCES_ID` varchar(255) DEFAULT NULL comment '',
+	`ORGAN_ID` varchar(30) DEFAULT NULL comment '区域id/数据来源',
+	`ORGAN_name`  varchar(200) DEFAULT NULL comment '区域名称',
+	`net_name` varchar(200) DEFAULT NULL comment '网系',
+	`cloud` varchar(255) DEFAULT NULL COMMENT '云平台',
+	`itm_hardware_resources_cntype` varchar(100) DEFAULT NULL COMMENT '设备型号/资产类型',
+	`ITM_HARDWARE_RESOURCES_NAME` varchar(255) DEFAULT NULL COMMENT '设备名称/资产名称',
+	`alarm_count`  decimal(29,8) DEFAULT NULL COMMENT '告警次数',
+	`collection_frequency`  decimal(29,8) DEFAULT NULL COMMENT '采集次数',
+	`severity_type` varchar(2) NOT NULL DEFAULT '' COMMENT '告警等级',
+	`alarm_duration` decimal(58,4) DEFAULT NULL COMMENT '告警时长',
+	`alarm_duration_sum` decimal(58,4) DEFAULT NULL COMMENT '告警总时长'
+	)ENGINE = InnoDB DEFAULT CHARSET = utf8;
+
+
+INSERT into bi_jichu_sheshi_gaojing	
+SELECT 
+	 'HOUR' AS dtype,
+	 t2.thedvalue as thedvalue,
+	 t1.ITM_HARDWARE_RESOURCES_ID as ITM_HARDWARE_RESOURCES_ID,
+	 t1.ORGAN_ID,
+	 t4.SHORT_NAME,
+	t3.ITM_APPCATAGORY_NAME as NET_NAME,
+	t1.cloud as cloud,
+	case 
+	when t1.itm_hardware_resources_type = '000100001' then '物理机'
+	when t1.itm_hardware_resources_type = '000100002' then '云主机' 
+	when t1.itm_hardware_resources_type = '000100004' then '宿主机' 
+	when substr(t1.itm_hardware_resources_type,1,4) = '0001' then '其他主机' 
+	when t1.itm_hardware_resources_type = '000200001' then '交换机' 
+	when t1.itm_hardware_resources_type = '000200002' then '路由器' 
+	when t1.itm_hardware_resources_type = '000300001' then '存储设备' 
+	when substr(itm_hardware_resources_type,1,4) = '0004' then '安全设备'
+	else '非资产设备' end as itm_hardware_resources_cntype,
+	t1.ITM_HARDWARE_RESOURCES_NAME as ITM_HARDWARE_RESOURCES_NAME,
+	sum(t2.avg_alarm_count) alarm_count,
+	sum(t2.collection_frequency) as collection_frequency,
+	case t2.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	
+	t2.alarm_duration,						
+	B.alarm_duration_sum
+	FROM itm_hardware_resources t1 
+	inner join tmp_v_bi_alm_all_alarm_hour t2 
+	  ON t2.alarm_object_id = t1.ITM_HARDWARE_RESOURCES_ID
+	left JOIN itm_appcatagory AS t3 
+	  ON t1.ITM_HARDWARE_RESOURCES_NETCODE = t3.ITM_APPCATAGORY_CODE 
+	left join pub_organ as t4 
+	  on t1.ORGAN_ID = t4.code left join 
+(select thedvalue,sum(alarm_duration) as alarm_duration_sum from tmp_v_bi_alm_all_alarm_hour
+group by 
+thedvalue) B on t2.thedvalue = B.thedvalue 
+	group by  
+	 t1.ITM_HARDWARE_RESOURCES_ID
+	,t3.ITM_APPCATAGORY_NAME
+	,t1.cloud
+	,t1.itm_hardware_resources_type
+	,t2.thedvalue;
+
+
+
+
+INSERT into bi_jichu_sheshi_gaojing	
+SELECT 
+	 'DAY' AS dtype,
+	 t2.thedvalue as thedvalue,
+	 t1.ITM_HARDWARE_RESOURCES_ID as ITM_HARDWARE_RESOURCES_ID,
+	 t1.ORGAN_ID,
+	 t4.SHORT_NAME,
+	t3.ITM_APPCATAGORY_NAME as NET_NAME,
+	t1.cloud as cloud,
+	case 
+	when t1.itm_hardware_resources_type = '000100001' then '物理机'
+	when t1.itm_hardware_resources_type = '000100002' then '云主机' 
+	when t1.itm_hardware_resources_type = '000100004' then '宿主机' 
+	when substr(t1.itm_hardware_resources_type,1,4) = '0001' then '其他主机' 
+	when t1.itm_hardware_resources_type = '000200001' then '交换机' 
+	when t1.itm_hardware_resources_type = '000200002' then '路由器' 
+	when t1.itm_hardware_resources_type = '000300001' then '存储设备' 
+	when substr(itm_hardware_resources_type,1,4) = '0004' then '安全设备'
+	else '非资产设备' end as itm_hardware_resources_cntype,
+	t1.ITM_HARDWARE_RESOURCES_NAME as ITM_HARDWARE_RESOURCES_NAME,
+	sum(t2.avg_alarm_count) alarm_count,
+	sum(t2.collection_frequency) as collection_frequency,
+	case t2.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	t2.alarm_duration,
+	B.alarm_duration_sum
+	FROM itm_hardware_resources t1 
+	inner join v_bi_alm_all_alarm_day t2 
+	  ON t2.alarm_object_id = t1.ITM_HARDWARE_RESOURCES_ID
+	left JOIN itm_appcatagory AS t3 
+	  ON t1.ITM_HARDWARE_RESOURCES_NETCODE = t3.ITM_APPCATAGORY_CODE 
+	left join pub_organ as t4 
+	  on t1.ORGAN_ID = t4.code left join 
+(select thedvalue,sum(alarm_duration) as alarm_duration_sum from v_bi_alm_all_alarm_day
+group by 
+thedvalue) B on t2.thedvalue = B.thedvalue 
+	group by  
+	 t1.ITM_HARDWARE_RESOURCES_ID
+	,t3.ITM_APPCATAGORY_NAME
+	,t1.cloud
+	,t1.itm_hardware_resources_type
+	,t2.thedvalue;
+
+	
+INSERT into bi_jichu_sheshi_gaojing	
+SELECT 
+	 'MONTH' AS dtype,
+	 t2.thedvalue as thedvalue,
+	 t1.ITM_HARDWARE_RESOURCES_ID as ITM_HARDWARE_RESOURCES_ID,
+	 t1.ORGAN_ID,
+	 t4.SHORT_NAME,
+	t3.ITM_APPCATAGORY_NAME as NET_NAME,
+	t1.cloud as cloud,
+	case 
+	when t1.itm_hardware_resources_type = '000100001' then '物理机'
+	when t1.itm_hardware_resources_type = '000100002' then '云主机' 
+	when t1.itm_hardware_resources_type = '000100004' then '宿主机' 
+	when substr(t1.itm_hardware_resources_type,1,4) = '0001' then '其他主机' 
+	when t1.itm_hardware_resources_type = '000200001' then '交换机' 
+	when t1.itm_hardware_resources_type = '000200002' then '路由器' 
+	when t1.itm_hardware_resources_type = '000300001' then '存储设备' 
+	when substr(itm_hardware_resources_type,1,4) = '0004' then '安全设备'
+	else '非资产设备' end as itm_hardware_resources_cntype,
+	t1.ITM_HARDWARE_RESOURCES_NAME as ITM_HARDWARE_RESOURCES_NAME,
+	sum(t2.avg_alarm_count) alarm_count,
+	sum(t2.collection_frequency) as collection_frequency,
+	case t2.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	t2.alarm_duration,
+	B.alarm_duration_sum
+	FROM itm_hardware_resources t1 
+	inner join v_bi_alm_all_alarm_month t2 
+	  ON t2.alarm_object_id = t1.ITM_HARDWARE_RESOURCES_ID
+	left JOIN itm_appcatagory AS t3 
+	  ON t1.ITM_HARDWARE_RESOURCES_NETCODE = t3.ITM_APPCATAGORY_CODE 
+	left join pub_organ as t4 
+	  on t1.ORGAN_ID = t4.code left join 
+(select thedvalue,sum(alarm_duration) as alarm_duration_sum from v_bi_alm_all_alarm_month
+group by 
+thedvalue) B on t2.thedvalue = B.thedvalue 
+	group by  
+	 t1.ITM_HARDWARE_RESOURCES_ID
+	,t3.ITM_APPCATAGORY_NAME
+	,t1.cloud
+	,t1.itm_hardware_resources_type
+	,t2.thedvalue;
+	
+	
+	
+INSERT into bi_jichu_sheshi_gaojing	
+SELECT 
+	 'YEAR' AS dtype,
+	 t2.thedvalue as thedvalue,
+	 t1.ITM_HARDWARE_RESOURCES_ID as ITM_HARDWARE_RESOURCES_ID,
+	 t1.ORGAN_ID,
+	 t4.SHORT_NAME,
+	t3.ITM_APPCATAGORY_NAME as NET_NAME,
+	t1.cloud as cloud,
+	case 
+	when t1.itm_hardware_resources_type = '000100001' then '物理机'
+	when t1.itm_hardware_resources_type = '000100002' then '云主机' 
+	when t1.itm_hardware_resources_type = '000100004' then '宿主机' 
+	when substr(t1.itm_hardware_resources_type,1,4) = '0001' then '其他主机' 
+	when t1.itm_hardware_resources_type = '000200001' then '交换机' 
+	when t1.itm_hardware_resources_type = '000200002' then '路由器' 
+	when t1.itm_hardware_resources_type = '000300001' then '存储设备' 
+	when substr(itm_hardware_resources_type,1,4) = '0004' then '安全设备'
+	else '非资产设备' end as itm_hardware_resources_cntype,
+	t1.ITM_HARDWARE_RESOURCES_NAME as ITM_HARDWARE_RESOURCES_NAME,
+	sum(t2.avg_alarm_count) alarm_count,
+	sum(t2.collection_frequency) as collection_frequency,
+	case t2.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	t2.alarm_duration,
+	B.alarm_duration_sum
+	FROM itm_hardware_resources t1 
+	inner join v_bi_alm_all_alarm_year t2 
+	  ON t2.alarm_object_id = t1.ITM_HARDWARE_RESOURCES_ID
+	left JOIN itm_appcatagory AS t3 
+	  ON t1.ITM_HARDWARE_RESOURCES_NETCODE = t3.ITM_APPCATAGORY_CODE 
+	left join pub_organ as t4 
+	  on t1.ORGAN_ID = t4.code left join 
+(select thedvalue,sum(alarm_duration) as alarm_duration_sum from v_bi_alm_all_alarm_year
+group by 
+thedvalue) B on t2.thedvalue = B.thedvalue 
+	group by  
+	 t1.ITM_HARDWARE_RESOURCES_ID
+	,t3.ITM_APPCATAGORY_NAME
+	,t1.cloud
+	,t1.itm_hardware_resources_type
+	,t2.thedvalue;
+	
+	
+-- 基础设施故障
+
+DROP TABLE IF EXISTS `bi_jichu_sheshi_guzhang`;
+CREATE TABLE `bi_jichu_sheshi_guzhang` (
+	`dtype` varchar(5) NOT NULL DEFAULT '' COMMENT '日期类型',
+	`thedvalue` varchar(15) DEFAULT NULL COMMENT '日期',
+	`ITM_HARDWARE_RESOURCES_ID` varchar(255) DEFAULT NULL comment '',
+	`ORGAN_ID` varchar(30) DEFAULT NULL comment '区域id/数据来源',
+	`ORGAN_name`  varchar(200) DEFAULT NULL comment '区域名称',
+	`net_name` varchar(200) DEFAULT NULL comment '网系',
+	`cloud` varchar(255) DEFAULT NULL COMMENT '云平台',
+	`itm_hardware_resources_cntype` varchar(100) DEFAULT NULL COMMENT '设备型号/资产类型',
+	`ITM_HARDWARE_RESOURCES_NAME` varchar(255) DEFAULT NULL COMMENT '设备名称/资产名称',
+	`total_zy_num`  decimal(29,8) DEFAULT NULL COMMENT '总资产数',
+	`severity_type` varchar(2) NOT NULL DEFAULT '' COMMENT '告警等级',
+	`alarm_duration` decimal(58,4) DEFAULT NULL COMMENT '故障时长(h)',
+	`alarm_object_sum`  decimal(29,8) DEFAULT NULL COMMENT '故障数',
+	`alarm_duration_sum` decimal(58,4) DEFAULT NULL COMMENT '故障总时长(h)'
+	)ENGINE = InnoDB DEFAULT CHARSET = utf8;
+
+insert into bi_jichu_sheshi_guzhang
+
+SELECT 
+	 'HOUR' AS dtype,
+	 t2.thedvalue as thedvalue,
+	 t1.ITM_HARDWARE_RESOURCES_ID as ITM_HARDWARE_RESOURCES_ID,
+	 t1.ORGAN_ID,
+	 t4.SHORT_NAME,
+	t3.ITM_APPCATAGORY_NAME as NET_NAME,
+	t1.cloud as cloud,
+	case 
+	when t1.itm_hardware_resources_type = '000100001' then '物理机'
+	when t1.itm_hardware_resources_type = '000100002' then '云主机' 
+	when t1.itm_hardware_resources_type = '000100004' then '宿主机' 
+	when substr(t1.itm_hardware_resources_type,1,4) = '0001' then '其他主机' 
+	when t1.itm_hardware_resources_type = '000200001' then '交换机' 
+	when t1.itm_hardware_resources_type = '000200002' then '路由器' 
+	when t1.itm_hardware_resources_type = '000300001' then '存储设备' 
+	when substr(itm_hardware_resources_type,1,4) = '0004' then '安全设备'
+	else '非资产设备' end as itm_hardware_resources_cntype,
+	t1.ITM_HARDWARE_RESOURCES_NAME as ITM_HARDWARE_RESOURCES_NAME,
+	D.total_zy_num as total_zy_num,
+	case t2.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	t2.alarm_duration,
+	B.alarm_object_sum,
+	C.alarm_duration_sum 
+	FROM itm_hardware_resources t1 
+	inner join tmp_v_bi_alm_all_alarm_hour t2 
+	  ON t2.alarm_object_id = t1.ITM_HARDWARE_RESOURCES_ID
+	left JOIN itm_appcatagory AS t3 
+	  ON t1.ITM_HARDWARE_RESOURCES_NETCODE = t3.ITM_APPCATAGORY_CODE 
+	left join pub_organ as t4 
+	  on t1.ORGAN_ID = t4.code 
+		left join
+(select thedvalue,count(DISTINCT alarm_object_id) as alarm_object_sum from tmp_v_bi_alm_all_alarm_hour group by thedvalue
+) as B on B.thedvalue = t2.thedvalue left join
+(select thedvalue,sum(alarm_duration) as alarm_duration_sum from tmp_v_bi_alm_all_alarm_hour group by thedvalue) C on 
+C.thedvalue = t2.thedvalue  join (select count(1) as total_zy_num from itm_hardware_resources where ITM_MONITOR_FLAG = '0') D
+	group by  
+	 t1.ITM_HARDWARE_RESOURCES_ID
+	,t3.ITM_APPCATAGORY_NAME
+	,t1.cloud
+	,t1.itm_hardware_resources_type
+	,t2.thedvalue;
+
+
+	
+insert into bi_jichu_sheshi_guzhang
+SELECT 
+	 'MONTH' AS dtype,
+	 t2.thedvalue as thedvalue,
+	 t1.ITM_HARDWARE_RESOURCES_ID as ITM_HARDWARE_RESOURCES_ID,
+	 t1.ORGAN_ID,
+	 t4.SHORT_NAME,
+	t3.ITM_APPCATAGORY_NAME as NET_NAME,
+	t1.cloud as cloud,
+	case 
+	when t1.itm_hardware_resources_type = '000100001' then '物理机'
+	when t1.itm_hardware_resources_type = '000100002' then '云主机' 
+	when t1.itm_hardware_resources_type = '000100004' then '宿主机' 
+	when substr(t1.itm_hardware_resources_type,1,4) = '0001' then '其他主机' 
+	when t1.itm_hardware_resources_type = '000200001' then '交换机' 
+	when t1.itm_hardware_resources_type = '000200002' then '路由器' 
+	when t1.itm_hardware_resources_type = '000300001' then '存储设备' 
+	when substr(itm_hardware_resources_type,1,4) = '0004' then '安全设备'
+	else '非资产设备' end as itm_hardware_resources_cntype,
+	t1.ITM_HARDWARE_RESOURCES_NAME as ITM_HARDWARE_RESOURCES_NAME,
+	D.total_zy_num as total_zy_num,
+	case t2.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	t2.alarm_duration,
+	B.alarm_object_sum,
+	C.alarm_duration_sum 
+	FROM itm_hardware_resources t1 
+	inner join v_bi_alm_all_alarm_month t2 
+	  ON t2.alarm_object_id = t1.ITM_HARDWARE_RESOURCES_ID
+	left JOIN itm_appcatagory AS t3 
+	  ON t1.ITM_HARDWARE_RESOURCES_NETCODE = t3.ITM_APPCATAGORY_CODE 
+	left join pub_organ as t4 
+	  on t1.ORGAN_ID = t4.code 
+		left join
+(select thedvalue,count(DISTINCT alarm_object_id) as alarm_object_sum from v_bi_alm_all_alarm_month group by thedvalue
+) as B on B.thedvalue = t2.thedvalue left join
+(select thedvalue,sum(alarm_duration) as alarm_duration_sum from v_bi_alm_all_alarm_month group by thedvalue) C on 
+C.thedvalue = t2.thedvalue  join (select count(1) as total_zy_num from itm_hardware_resources where ITM_MONITOR_FLAG = '0') D
+	group by  
+	 t1.ITM_HARDWARE_RESOURCES_ID
+	,t3.ITM_APPCATAGORY_NAME
+	,t1.cloud
+	,t1.itm_hardware_resources_type
+	,t2.thedvalue;
+
+
+
+
+
+
+
+
+
+insert into bi_jichu_sheshi_guzhang
+SELECT 
+	 'YEAR' AS dtype,
+	 t2.thedvalue as thedvalue,
+	 t1.ITM_HARDWARE_RESOURCES_ID as ITM_HARDWARE_RESOURCES_ID,
+	 t1.ORGAN_ID,
+	 t4.SHORT_NAME,
+	t3.ITM_APPCATAGORY_NAME as NET_NAME,
+	t1.cloud as cloud,
+	case 
+	when t1.itm_hardware_resources_type = '000100001' then '物理机'
+	when t1.itm_hardware_resources_type = '000100002' then '云主机' 
+	when t1.itm_hardware_resources_type = '000100004' then '宿主机' 
+	when substr(t1.itm_hardware_resources_type,1,4) = '0001' then '其他主机' 
+	when t1.itm_hardware_resources_type = '000200001' then '交换机' 
+	when t1.itm_hardware_resources_type = '000200002' then '路由器' 
+	when t1.itm_hardware_resources_type = '000300001' then '存储设备' 
+	when substr(itm_hardware_resources_type,1,4) = '0004' then '安全设备'
+	else '非资产设备' end as itm_hardware_resources_cntype,
+	t1.ITM_HARDWARE_RESOURCES_NAME as ITM_HARDWARE_RESOURCES_NAME,
+	D.total_zy_num as total_zy_num,
+	case t2.severity_id when 1 then '致命' when 2 then '严重' when 3 then '一般' else '未知' end as severity_type,
+	t2.alarm_duration,
+	B.alarm_object_sum,
+	C.alarm_duration_sum 
+	FROM itm_hardware_resources t1 
+	inner join v_bi_alm_all_alarm_year t2 
+	  ON t2.alarm_object_id = t1.ITM_HARDWARE_RESOURCES_ID
+	left JOIN itm_appcatagory AS t3 
+	  ON t1.ITM_HARDWARE_RESOURCES_NETCODE = t3.ITM_APPCATAGORY_CODE 
+	left join pub_organ as t4 
+	  on t1.ORGAN_ID = t4.code 
+		left join
+(select thedvalue,count(DISTINCT alarm_object_id) as alarm_object_sum from v_bi_alm_all_alarm_year group by thedvalue
+) as B on B.thedvalue = t2.thedvalue left join
+(select thedvalue,sum(alarm_duration) as alarm_duration_sum from v_bi_alm_all_alarm_year group by thedvalue) C on 
+C.thedvalue = t2.thedvalue  join (select count(1) as total_zy_num from itm_hardware_resources where ITM_MONITOR_FLAG = '0') D
+	group by  
+	 t1.ITM_HARDWARE_RESOURCES_ID
+	,t3.ITM_APPCATAGORY_NAME
+	,t1.cloud
+	,t1.itm_hardware_resources_type
+	,t2.thedvalue;
+
+
+
+-- 基础设备运维分析
+
+
+	`dhour` varchar(15) DEFAULT NULL comment '小时',
+	`ORGAN_ID` varchar(30) DEFAULT NULL comment '区域id/数据来源',
+	`ORGAN_name`  varchar(200) DEFAULT NULL comment '区域名称',
+	`net_name` varchar(200) DEFAULT NULL comment '网系',
+	`cloud` varchar(255) DEFAULT NULL COMMENT '云平台',
+	`itm_hardware_resources_cntype` varchar(100) DEFAULT NULL COMMENT '设备型号/资产类型',
+	`ITM_HARDWARE_RESOURCES_NAME` varchar(255) DEFAULT NULL COMMENT '设备名称/资产名称',
+	`IND_VALUE_HOST_DISK_USED` decimal(29,8) DEFAULT NULL COMMENT '已使用设备容量',
+	`itm_hardware_resources_id` varchar(100) DEFAULT NULL COMMENT '设备ID',
+	`IND_VALUE_NUM` decimal(29,8) DEFAULT NULL COMMENT '总设备数'
+	) ENGINE = InnoDB DEFAULT CHARSET = utf8;
+
+insert into bi_cunchu_shebei_yunwei_fenxi
+select 
+  'HOUR' AS dtype,
+	DATE_FORMAT(t1.CREATE_TIME,'%Y%m%d%H') as thedvalue,
+	DATE_FORMAT(t1.CREATE_TIME,'%H') as dhour,
+	t1.ORGAN_ID,
+	t1.ITM_HARDWARE_RESOURCES_AREACODE as organ_name,
+	t3.ITM_APPCATAGORY_NAME as NET_NAME,
+	t1.cloud as cloud,
+	case 
+	when t1.itm_hardware_resources_type = '000100001' then '物理机'
+	when t1.itm_hardware_resources_type = '000100002' then '云主机' 
+	when t1.itm_hardware_resources_type = '000100004' then '宿主机' 
+	when substr(t1.itm_hardware_resources_type,1,4) = '0001' then '其他主机' 
+	when t1.itm_hardware_resources_type = '000200001' then '交换机' 
+	when t1.itm_hardware_resources_type = '000200002' then '路由器' 
+	when t1.itm_hardware_resources_type = '000300001' then '存储设备' 
+	when substr(itm_hardware_resources_type,1,4) = '0004' then '安全设备'
+	else '非资产设备' end as itm_hardware_resources_cntype,
+	t1.ITM_HARDWARE_RESOURCES_NAME as ITM_HARDWARE_RESOURCES_NAME,
+	0 as IND_VALUE_HOST_DISK_USED,
+	t1.itm_hardware_resources_id,
+	b.c as IND_VALUE_NUM
+from
+	itm_hardware_resources  as t1
+	left JOIN itm_appcatagory AS t3 ON t1.ITM_HARDWARE_RESOURCES_NETCODE = t3.ITM_APPCATAGORY_CODE 
+	join (select count(1) c  from itm_hardware_resources where ITM_HARDWARE_RESOURCES_TYPE like '%0003%' ) b 
+	where t1.ITM_HARDWARE_RESOURCES_TYPE like '%0003%' group by itm_hardware_resources_id,DATE_FORMAT(t1.CREATE_TIME,'%Y%m%d%H');
+	
+insert into bi_cunchu_shebei_yunwei_fenxi	
+select 
+  'HOUR' AS dtype,
+	DATE_FORMAT(t1.CREATE_TIME,'%Y%m%d%H') as thedvalue,
+	DATE_FORMAT(t1.CREATE_TIME,'%H') as dhour,
+	t1.ORGAN_ID,
+	t1.ITM_HARDWARE_RESOURCES_AREACODE as organ_name,
+	t3.ITM_APPCATAGORY_NAME as NET_NAME,
+	t1.cloud as cloud,
+	case 
+	when t1.itm_hardware_resources_type = '000100001' then '物理机'
+	when t1.itm_hardware_resources_type = '000100002' then '云主机' 
+	when t1.itm_hardware_resources_type = '000100004' then '宿主机' 
+	when substr(t1.itm_hardware_resources_type,1,4) = '0001' then '其他主机' 
+	when t1.itm_hardware_resources_type = '000200001' then '交换机' 
+	when t1.itm_hardware_resources_type = '000200002' then '路由器' 
+	when t1.itm_hardware_resources_type = '000300001' then '存储设备' 
+	when substr(itm_hardware_resources_type,1,4) = '0004' then '安全设备'
+	else '非资产设备' end as itm_hardware_resources_cntype,
+	t1.ITM_HARDWARE_RESOURCES_NAME as ITM_HARDWARE_RESOURCES_NAME,
+	0 as IND_VALUE_HOST_DISK_USED,
+	t1.itm_hardware_resources_id,
+	b.c as IND_VALUE_NUM
+from
+	itm_hardware_resources  as t1
+	left JOIN itm_appcatagory AS t3 ON t1.ITM_HARDWARE_RESOURCES_NETCODE = t3.ITM_APPCATAGORY_CODE 
+	join (select count(1) c  from itm_hardware_resources where ITM_HARDWARE_RESOURCES_TYPE like '%0003%' ) b 
+	where t1.ITM_HARDWARE_RESOURCES_TYPE like '%0003%' group by itm_hardware_resources_id,DATE_FORMAT(t1.CREATE_TIME,'%Y%m%d%H');
+	
+	
+	
+insert into bi_cunchu_shebei_yunwei_fenxi
+	select 
+  'DAY' AS dtype,
+	substring(thedvalue,1,8) as thedvalue,
+	substring(thedvalue,9,10) as dhour,
+	ORGAN_ID,
+	organ_name,
+	NET_NAME,
+	cloud,
+	itm_hardware_resources_cntype,
+	ITM_HARDWARE_RESOURCES_NAME,
+	0 as IND_VALUE_HOST_DISK_USED,
+	itm_hardware_resources_id,
+	IND_VALUE_NUM 
+from
+	bi_cunchu_shebei_yunwei_fenxi where dtype = 'HOUR'
+ group by itm_hardware_resources_id,substring(thedvalue,1,8);
+ 
+ 
+ 
+ 
+ 
+insert into bi_cunchu_shebei_yunwei_fenxi
+	select 
+  'MONTH' AS dtype,
+	substring(thedvalue,1,6) as thedvalue,
+	substring(thedvalue,9,10) as dhour,
+	ORGAN_ID,
+	organ_name,
+	NET_NAME,
+	cloud,
+	itm_hardware_resources_cntype,
+	ITM_HARDWARE_RESOURCES_NAME,
+	0 as IND_VALUE_HOST_DISK_USED,
+	itm_hardware_resources_id,
+	IND_VALUE_NUM 
+from
+	bi_cunchu_shebei_yunwei_fenxi where dtype = 'DAY'
+ group by itm_hardware_resources_id,substring(thedvalue,1,6);
+ 
+ 
+ 
+   
+insert into bi_cunchu_shebei_yunwei_fenxi
+	select 
+  'YEAR' AS dtype,
+	substring(thedvalue,1,6) as thedvalue,
+	substring(thedvalue,9,10) as dhour,
+	ORGAN_ID,
+	organ_name,
+	NET_NAME,
+	cloud,
+	itm_hardware_resources_cntype,
+	ITM_HARDWARE_RESOURCES_NAME,
+	0 as IND_VALUE_HOST_DISK_USED,
+	itm_hardware_resources_id,
+	IND_VALUE_NUM 
+from
+	bi_cunchu_shebei_yunwei_fenxi where dtype = 'MONTH'
+ group by itm_hardware_resources_id,substring(thedvalue,1,4);
+ 
+ select * from bi_cunchu_shebei_yunwei_fenxi
+
+	
+	
+