Commit 543678c1 authored by 胡涛's avatar 胡涛

指标统计sql脚本

parent 6f44702e
-- RZ_DM_QUANTILE ZB_DM_单位时间内访问时间排序 -- RZ_DM_QUANTILE ZB_DM_单位时间内访问时间排序
-- 视图
-- step1:
-- 接口汇总
CREATE TEMPORARY VIEW VIEW_RZ_DM_QUANTILE AS
select
d1.`applicationName` as `applicationname`
,d1.`agentId` as `agentid`
,cast(tumble_end(d1.row_time, interval '1' minute) as varchar) as `time`
,CastToTagIndexUDF(LISTAGG(d1.`elapsed`,';') ) as `quantile` -- 拼接
,cast(tumble_start(d1.row_time, interval '1' minute) as varchar) as `createtime`
from (
select
`applicationName`
,`agentId`
,`endPoint`
,`rpc`
,`startTime`
,`endTime`
,`elapsed`
,`status`
,`row_time`
from RZ_ODS.RZ_ODS_KAFKA.RZDATA
) d1
where
LongTimeToStringUDF(d1.endTime,'yyyy-MM-dd HH:mm') >= DATE_FORMAT(TIMESTAMPADD(MINUTE,-1,LOCALTIMESTAMP),'yyyy-MM-dd HH:mm')
and LongTimeToStringUDF(d1.endTime,'yyyy-MM-dd HH:mm') < DATE_FORMAT(TIMESTAMPADD(MINUTE,+1,LOCALTIMESTAMP),'yyyy-MM-dd HH:mm')
and d1.status = '200'
and RIGHT(d1.`rpc`,3) not in ('.js')
and RIGHT(d1.`rpc`,4) not in ('.jpg','.ico','.css','.ttf','.png','.PNG','.JPG','.txt','.mp4','.mp3','.pdf','.dwr')
and RIGHT(d1.`rpc`,5) not in ('.json','.html','.less','.jpeg')
and RIGHT(d1.`rpc`,6) not in ('.woff2')
group by
d1.`applicationName`
,d1.`agentId`
,tumble(d1.row_time, interval '1' minute)
;
-- QUANTILE_AGENTID 单位时间内访问时间排序按应用统计 -- QUANTILE_AGENTID 单位时间内访问时间排序按应用统计
insert into RZ_DM.RZ_DM_MYSQL.QUANTILE_AGENTID insert into RZ_DM.RZ_DM_KAFKA.QUANTILE_AGENTID
SELECT SELECT
s1.`applicationname` as `applicationname` s1.`applicationname` as `applicationname`
,s1.`agentid` as `agentid` ,s1.`agentid` as `agentid`
...@@ -10,39 +51,13 @@ SELECT ...@@ -10,39 +51,13 @@ SELECT
,SPLIT_INDEX(s1.`quantile`,';',1) as `quantile75` ,SPLIT_INDEX(s1.`quantile`,';',1) as `quantile75`
,SPLIT_INDEX(s1.`quantile`,';',2) as `quantile95` ,SPLIT_INDEX(s1.`quantile`,';',2) as `quantile95`
,SPLIT_INDEX(s1.`quantile`,';',3) as `quantile99` ,SPLIT_INDEX(s1.`quantile`,';',3) as `quantile99`
,cast(DateTimeToLongUDF() as varchar) as `createtime` ,s1.`createtime` as `createtime`
from( from VIEW_RZ_DM_QUANTILE s1
select
c1.`applicationname` as `applicationname`
,c1.`agentid` as `agentid`
,c1.`time` as `time`
,CastToTagIndexUDF(c1.`lists`) as `quantile` -- 自定义数组排序函数
from (
select
d1.`applicationName` as `applicationname`
,d1.`agentId` as `agentid`
,CONCAT(LongTimeToStringUDF(cast(d1.endTime as bigint)+60000,'yyyy-MM-dd HH:mm'),':00' ) as `time`
,LISTAGG(d1.`elapsed`,';') as `lists` -- 拼接
from RZ_ODS.RZ_ODS_KAFKA.RZDATA d1
where
LongTimeToStringUDF(d1.endTime,'yyyy-MM-dd HH:mm') >= DATE_FORMAT(TIMESTAMPADD(MINUTE,-1,LOCALTIMESTAMP),'yyyy-MM-dd HH:mm')
and LongTimeToStringUDF(d1.endTime,'yyyy-MM-dd HH:mm') < DATE_FORMAT(TIMESTAMPADD(MINUTE,+1,LOCALTIMESTAMP),'yyyy-MM-dd HH:mm')
and d1.status = '200'
and RIGHT(d1.`rpc`,3) not in ('.js')
and RIGHT(d1.`rpc`,4) not in ('.jpg','.ico','.css','.ttf','.png','.PNG','.JPG','.txt','.mp4','.mp3','.pdf','.dwr')
and RIGHT(d1.`rpc`,5) not in ('.json','.html','.less','.jpeg')
and RIGHT(d1.`rpc`,6) not in ('.woff2')
group by
d1.`applicationName`
,d1.`agentId`
,CONCAT(LongTimeToStringUDF(cast(d1.endTime as bigint)+60000,'yyyy-MM-dd HH:mm'),':00' )
) c1
) s1
; ;
-- QUANTILE_APP 单位时间内访问时间排序按集群统计 -- QUANTILE_APP 单位时间内访问时间排序按集群统计
insert into RZ_DM.RZ_DM_MYSQL.QUANTILE_APP insert into RZ_DM.RZ_DM_KAFKA.QUANTILE_APP
SELECT SELECT
s1.`applicationname` as `applicationname` s1.`applicationname` as `applicationname`
,s1.`time` as `time` ,s1.`time` as `time`
...@@ -50,31 +65,8 @@ SELECT ...@@ -50,31 +65,8 @@ SELECT
,SPLIT_INDEX(s1.`quantile`,';',1) as `quantile75` ,SPLIT_INDEX(s1.`quantile`,';',1) as `quantile75`
,SPLIT_INDEX(s1.`quantile`,';',2) as `quantile95` ,SPLIT_INDEX(s1.`quantile`,';',2) as `quantile95`
,SPLIT_INDEX(s1.`quantile`,';',3) as `quantile99` ,SPLIT_INDEX(s1.`quantile`,';',3) as `quantile99`
,cast(DateTimeToLongUDF() as varchar) as `createtime` ,s1.`createtime` as `createtime`
from( from VIEW_RZ_DM_QUANTILE s1
select
c1.`applicationname` as `applicationname`
,c1.`time` as `time`
,CastToTagIndexUDF(c1.`lists`) as `quantile`
from (
select
d1.`applicationName` as `applicationname`
,CONCAT(LongTimeToStringUDF(cast(d1.endTime as bigint)+60000,'yyyy-MM-dd HH:mm'),':00' ) as `time`
,LISTAGG(d1.`elapsed`,';') as `lists` -- 拼接
from RZ_ODS.RZ_ODS_KAFKA.RZDATA d1
where
LongTimeToStringUDF(d1.endTime,'yyyy-MM-dd HH:mm') >= DATE_FORMAT(TIMESTAMPADD(MINUTE,-1,LOCALTIMESTAMP),'yyyy-MM-dd HH:mm')
and LongTimeToStringUDF(d1.endTime,'yyyy-MM-dd HH:mm') < DATE_FORMAT(TIMESTAMPADD(MINUTE,+1,LOCALTIMESTAMP),'yyyy-MM-dd HH:mm')
and d1.status = '200'
and RIGHT(d1.`rpc`,3) not in ('.js')
and RIGHT(d1.`rpc`,4) not in ('.jpg','.ico','.css','.ttf','.png','.PNG','.JPG','.txt','.mp4','.mp3','.pdf','.dwr')
and RIGHT(d1.`rpc`,5) not in ('.json','.html','.less','.jpeg')
and RIGHT(d1.`rpc`,6) not in ('.woff2')
group by
d1.`applicationName`
,CONCAT(LongTimeToStringUDF(cast(d1.endTime as bigint)+60000,'yyyy-MM-dd HH:mm'),':00' )
) c1
) s1
; ;
......
-- RZ_DM_RUNSTATUS RZ_DM_访问次数 -- RZ_DM_RUNSTATUS RZ_DM_访问次数
-- 视图 -- RUNSTATUS_URL RZ_DM_访问次数按地址统计
-- step1: insert into RZ_DM.RZ_DM_KAFKA.RUNSTATUS_URL
-- 接口汇总
CREATE TEMPORARY VIEW VIEW_RZ_DM_RUNSTATUS AS
s1.applicationname as `applicationname`
,s1.agentid as `agentid`
,s1.endpoint as `endpoint`
,s1.rpc as `rpc`
,concat(LongTimeToStringUDF(cast(s1.endTime as bigint)*60000,'yyyy-MM-dd HH:mm'),":00" ) as `time`
,AVG(s1.elapsed ) as `averageelapsed`
,sum(1) as `total`
,sum(if(s1.status = '200',1,0)) as `suctotal`
,sum(if(s1.status = '200' is not true,1,0)) as `errortotal`
,DateTimeToLongUDF() as `createtime`
from RZ_ODS.RZ_ODS_KAFKA_RZ.RZDATA s1
where
LongTimeToStringUDF(s1.endTime,'yyyy-MM-dd HH:mm') > DATEFORMAT(TIMESTAMPADD(MINUTE,-3,LOCALTIMESTAMP),'yyyy-MM-dd HH:mm')
group by
s1.applicationname
,s1.agentid
,s1.endpoint
,s1.rpc
,concat(LongTimeToStringUDF(cast(s1.endTime as bigint)*60000,'yyyy-MM-dd HH:mm'),":00" )
;
-- RZ_DM_RUNSTATUS_URL RZ_DM_访问次数按地址统计
insert into RZ_DM.RZ_DM_MYSQL.RZDATARZ_DM_RUNSTATUS_URL
select select
s1.`applicationname` s1.applicationName as `applicationname`
,s1.`agentid` ,s1.agentId as `agentid`
,s1.`endpoint` ,s1.endPoint as `endpoint`
,s1.`rpc` ,s1.rpc as `rpc`
,s1.`time` ,cast(tumble_end(s1.row_time, interval '1' minute) as varchar) as `time`
,s1.`averageelapsed` ,cast(AVG(cast(s1.elapsed as decimal(18,2)) ) as varchar) as `averageelapsed`
,s1.`total` ,cast(sum(1) as varchar) as `total`
,s1.`suctotal` ,cast(sum(if(s1.status = '200',1,0)) as varchar) as `suctotal`
,s1.`errortotal` ,cast(sum(if(s1.status = '200' is not true,1,0)) as varchar) as `errortotal`
,s1.`createtime` ,cast(tumble_start(s1.row_time, interval '1' minute) as varchar) as `createtime`
from VIEW_RZ_DM_RUNSTATUS s1 from RZ_ODS.RZ_ODS_KAFKA.RZDATA s1
group by
s1.applicationName
,s1.agentId
,s1.endPoint
,s1.rpc
,tumble(s1.row_time, interval '1' minute)
; ;
-- RZ_DM_RUNSTATUS_AGENTID RZ_DM_访问次数按应用统计 -- RUNSTATUS_AGENTID RZ_DM_访问次数按应用统计
insert into RZ_DM.RZ_DM_MYSQL.RZ_DM_RUNSTATUS_AGENTID insert into RZ_DM.RZ_DM_KAFKA.RUNSTATUS_AGENTID
select select
s1.`applicationname` s1.applicationName as `applicationname`
,s1.`agentid` ,s1.agentId as `agentid`
,s1.`time` ,cast(tumble_end(s1.row_time, interval '1' minute) as varchar) as `time`
,s1.`averageelapsed` ,cast(AVG(cast(s1.elapsed as decimal(18,2)) ) as varchar) as `averageelapsed`
,s1.`total` ,cast(sum(1) as varchar) as `total`
,s1.`suctotal` ,cast(sum(if(s1.status = '200',1,0)) as varchar) as `suctotal`
,s1.`errortotal` ,cast(sum(if(s1.status = '200' is not true,1,0)) as varchar) as `errortotal`
,s1.`createtime` ,cast(tumble_start(s1.row_time, interval '1' minute) as varchar) as `createtime`
from VIEW_RZ_DM_RUNSTATUS s1 from RZ_ODS.RZ_ODS_KAFKA.RZDATA s1
group by group by
s1.`applicationname` s1.applicationName
,s1.`agentid` ,s1.agentId
,s1.`time` ,tumble(s1.row_time, interval '1' minute)
,s1.`averageelapsed`
,s1.`total`
,s1.`suctotal`
,s1.`errortotal`
,s1.`createtime`
; ;
-- RZ_DM_RUNSTATUS_APP RZ_DM_访问次数按集群统计 -- RUNSTATUS_APP RZ_DM_访问次数按集群统计
insert into RZ_DM.RZ_DM_MYSQL.RZ_DM_RUNSTATUS_APP insert into RZ_DM.RZ_DM_KAFKA.RUNSTATUS_APP
select select
s1.`applicationname` s1.applicationName as `applicationname`
,s1.`time` ,cast(tumble_end(s1.row_time, interval '1' minute) as varchar) as `time`
,s1.`averageelapsed` ,cast(AVG(cast(s1.elapsed as decimal(18,2)) ) as varchar) as `averageelapsed`
,s1.`total` ,cast(sum(1) as varchar) as `total`
,s1.`suctotal` ,cast(sum(if(s1.status = '200',1,0)) as varchar) as `suctotal`
,s1.`errortotal` ,cast(sum(if(s1.status = '200' is not true,1,0)) as varchar) as `errortotal`
,s1.`createtime` ,cast(tumble_start(s1.row_time, interval '1' minute) as varchar) as `createtime`
from VIEW_RZ_DM_RUNSTATUS s1 from RZ_ODS.RZ_ODS_KAFKA.RZDATA s1
group by group by
s1.`applicationname` s1.applicationName
,s1.`time` ,tumble(s1.row_time, interval '1' minute)
,s1.`averageelapsed`
,s1.`total`
,s1.`suctotal`
,s1.`errortotal`
,s1.`createtime`
; ;
-- QUANTILE_AGENTID 单位时间内访问时间排序按应用统计 -- QUANTILE_AGENTID 单位时间内访问时间排序按应用统计
create table QUANTILE_AGENTID( create table QUANTILE_AGENTID(
`applicationname` String primary, -- 部署集群 tag `applicationname` String , -- 部署集群 tag
`agentid` String primary, -- 应用系统 `agentid` String , -- 应用系统
`time` String primary, -- 接口访问结束时间 主键 来源为源数据 `time` String , -- 接口访问结束时间 主键 来源为源数据
`quantile50` String , -- 分位值50 `quantile50` String , -- 分位值50
`quantile75` String , -- 分位值75 `quantile75` String , -- 分位值75
`quantile95` String , -- 分位值95 `quantile95` String , -- 分位值95
......
-- QUANTILE_APP 单位时间内访问时间排序按集群统计 -- QUANTILE_APP 单位时间内访问时间排序按集群统计
create table QUANTILE_APP( create table QUANTILE_APP(
`applicationname` String primary, -- 部署集群 tag `applicationname` String , -- 部署集群 tag
`time` String primary, -- 接口访问结束时间 主键 来源为源数据 `time` String , -- 接口访问结束时间 主键 来源为源数据
`quantile50` String , -- 分位值50 `quantile50` String , -- 分位值50
`quantile75` String , -- 分位值75 `quantile75` String , -- 分位值75
`quantile95` String , -- 分位值95 `quantile95` String , -- 分位值95
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
create table RUNSTATUS_AGENTID( create table RUNSTATUS_AGENTID(
`applicationname` String primary, -- 部署集群 `applicationname` String , -- 部署集群
`agentid` String primary, -- 应用系统 `agentid` String , -- 应用系统
`time` String primary, -- 接口访问结束时间 主键 来源为源数据endTime精确到分的值 `time` String , -- 接口访问结束时间 主键 来源为源数据endTime精确到分的值
`averageelapsed` String , -- 接口平均响应时间 `averageelapsed` String , -- 接口平均响应时间
`total` String , -- 接口访问总计 `total` String , -- 接口访问总计
`suctotal` String , -- 访问成功统计 `suctotal` String , -- 访问成功统计
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
create table RUNSTATUS_APP( create table RUNSTATUS_APP(
`applicationname` String primary, -- 部署集群 `applicationname` String , -- 部署集群
`time` String primary, -- 接口访问结束时间 主键 来源为源数据endTime精确到分的值 `time` String , -- 接口访问结束时间 主键 来源为源数据endTime精确到分的值
`averageelapsed` String , -- 接口平均响应时间 `averageelapsed` String , -- 接口平均响应时间
`total` String , -- 接口访问总计 `total` String , -- 接口访问总计
`suctotal` String , -- 访问成功统计 `suctotal` String , -- 访问成功统计
......
-- RUNSTATUS_URL 访问次数按地址统计 -- RUNSTATUS_URL 访问次数按地址统计
create table RUNSTATUS_URL( create table RUNSTATUS_URL(
applicationname String primary, -- 部署集群 applicationname String , -- 部署集群
agentid String primary, -- 应用系统 agentid String , -- 应用系统
endpoint String primary, -- 服务地址 endpoint String , -- 服务地址
rpc String primary, -- 接口地址 rpc String , -- 接口地址
time String , -- 接口访问结束时间 主键 来源为源数据endTime精确到分的值 time String , -- 接口访问结束时间 主键 来源为源数据endTime精确到分的值
averageelapsed String , -- 接口平均响应时间 averageelapsed String , -- 接口平均响应时间
total String , -- 接口访问总计 total String , -- 接口访问总计
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment