提交Dashboard与report对比关键字和部分case
This commit is contained in:
@@ -5,12 +5,13 @@ Library OperatingSystem
|
||||
Resource ../../../03-Variable/BifangApiVariable.txt
|
||||
Resource ../Common.robot
|
||||
Resource ../offline_stat_report/ApiRequest1.robot
|
||||
|
||||
Library DateTime
|
||||
Library Collections
|
||||
Library RequestsLibrary
|
||||
Library String
|
||||
Resource ../../../03-Variable/Bifangapivariable.txt
|
||||
Resource ForTwoKeywords_new.robot
|
||||
|
||||
|
||||
*** Variables ***
|
||||
${dataset_url} /${version}/report/dataset
|
||||
${datasetId} ${EMPTY}
|
||||
@@ -22,6 +23,15 @@ ${result_url} /${version}/report/offlinejob/result
|
||||
${resultId} ${EMPTY}
|
||||
|
||||
*** Keywords ***
|
||||
TrafficBFRequest
|
||||
[Arguments] ${url} ${data}
|
||||
${header} Create Dictionary Content-Type=application/x-www-form-urlencoded Authorization=${token}
|
||||
Create Session api http://${host}:${port}/${version} headers=${header}
|
||||
${bfRemoteResponse} Get Request api ${url}?${data} headers=${header}
|
||||
${bfResponse} to json ${bfRemoteResponse.content}
|
||||
Should Be Equal As Strings ${bfRemoteResponse.status_code} 200
|
||||
Should Be Equal As Strings ${bfResponse['code']} 200
|
||||
[Return] ${bfResponse}
|
||||
Time-granularity
|
||||
[Arguments] ${starttime} ${endtime}
|
||||
${1} ${4} str2sec ${starttime}
|
||||
@@ -44,7 +54,7 @@ Dashboard-Traffic-new
|
||||
[Arguments] ${starttime} ${endtime} ${name}
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}
|
||||
${url1} Set Variable report/traffic/statisticsbyunit
|
||||
${bfResponse} ForTwoKeywords_new.Traffic BF Request ${url1} ${data}
|
||||
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
|
||||
${trafficpackets} Set Variable ${bfResponse['data']['trafficTotalPackets']}
|
||||
${trafficbytes} Set Variable ${bfResponse['data']['trafficTotalBytes']}
|
||||
${trafficsession} Set Variable ${bfResponse['data']['sessions']}
|
||||
@@ -99,10 +109,10 @@ SessionStatistics-NewLive-new
|
||||
... 参数:starttime(必传,开始时间紧)
|
||||
... endtime(必传,结束时间
|
||||
... 返回:对比结果
|
||||
[Arguments] ${starttime} ${endtime}
|
||||
[Arguments] ${starttime} ${endtime} ${name}
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}
|
||||
${url1} Set Variable report/traffic/sessions/statisticsbytype
|
||||
${bfResponse} trafficBFRequest ${url1} ${data}
|
||||
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
|
||||
${newCount} Set Variable ${bfResponse['data']['newCount']}
|
||||
${liveCount} Set Variable ${bfResponse['data']['liveCount']}
|
||||
#新建DataSet
|
||||
@@ -139,146 +149,643 @@ SessionStatistics-NewLive-new
|
||||
${endTime1} Set Variable ${response1}[data][list][0][endTime]
|
||||
${response2} BaseGetRequestOK /v1/report/offlinejob/result/traffic startTime=${startTime1}&endTime=${endTime1}
|
||||
${sessions} Set Variable ${response2}[data][list][0][total_new_sessions]
|
||||
${bytes} Set Variable ${response2}[data][list][0][average_bytes_per_second]
|
||||
${packets} Set Variable ${response2}[data][list][0][average_packets_per_second]
|
||||
log ${sessions}
|
||||
${number} evaluate (int(${sessions})-int(${newCount}))/int(${sessions})
|
||||
Should Be True ${number}<=${contrast}
|
||||
[Return] OK
|
||||
|
||||
|
||||
Dashboard-Traffic-packets
|
||||
# Traffics-带宽统计 统计类型:packets bifang和bigData对比 Traffic IN/OUT
|
||||
SecurityEventActionHit-new
|
||||
# dashboard界面 安全策略各动作命中计数 bytes packets sessions bifang和report对比
|
||||
[Documentation]
|
||||
... 描述:Traffic-packets统计
|
||||
... 描述:Security-Action-packets
|
||||
... 参数:starttime(必传,开始时间紧)
|
||||
... endtime(必传,结束时间
|
||||
... 返回:对比结果
|
||||
[Arguments] ${starttime} ${endtime}
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=packets
|
||||
${url1} Set Variable report/traffic/statisticsbyunit
|
||||
${bfResponse} TrafficBFRequest ${url1} ${data}
|
||||
${trafficInPackets} Set Variable ${bfResponse['data']['trafficInPackets']}
|
||||
${trafficOutPackets} Set Variable ${bfResponse['data']['trafficOutPackets']}
|
||||
Create Session bdapi http://${bigDataIP}:${bigDataPort}
|
||||
${sql} Set Variable select sum(total_in_packets) as traffic_in_packets, sum(total_out_packets) as traffic_out_packets from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}'
|
||||
${remoteResponse} Get Request bdapi ?query=${sql}
|
||||
${response} to json ${remoteResponse.content}
|
||||
Should Be Equal As Strings ${remoteResponse.status_code} 200
|
||||
Should Be Equal As Strings ${response['status']} 200
|
||||
${traffic_in_packets1} Set Variable ${response['data'][0]['traffic_in_packets']}
|
||||
${traffic_out_packets1} Set Variable ${response['data'][0]['traffic_out_packets']}
|
||||
Should Be True ${trafficInPackets}==${traffic_in_packets1}
|
||||
Should Be True ${trafficOutPackets}==${traffic_out_packets1}
|
||||
... timeGranularity(必传,时间粒度 )
|
||||
... limit(必传,限制条数)
|
||||
... endtime(必传,结束时间)
|
||||
... logType(必填,日志类型。)
|
||||
... name 名字
|
||||
... action 动作,0为none,128为allow,16为deny,2为intercept,1为monitor
|
||||
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit} ${name} ${action}
|
||||
${logType} Set Variable security_event_hits_log
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
|
||||
${url1} Set Variable report/policyevent/hit/action
|
||||
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
|
||||
${actionCountList} Set Variable ${bfResponse['data']['actionCount']}
|
||||
#新建DataSet
|
||||
#${name} Set Variable Report_Result-001
|
||||
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"security_event_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_action"}],"queryColumnList":[{"name":"common_action","expression":"","label":"Action"},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[]}],"filterConditionList":[{"name":"common_action","expression":"=","expressionList":["=","!=",">","<",">=","<="],"value":[${action}],"type":"int"}],"havingConditionList":[]}}
|
||||
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
|
||||
${datasetId} Set Variable ${response}[data][list][0][id]
|
||||
#根据DataSet的id,新建Chart,Lien图形表
|
||||
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":10,"orderBy":"","orderDesc":"","drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Action","width":20,"dataBindings":[{"dataType":"","dataBinding":"Action","format":"Default","legend":"","name":"common_action"}]},{"title":"Packets Sent+Packets Received","width":20,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]},{"title":"Bytes Sent+Bytes Received","width":20,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"sessions","width":20,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]}]}}
|
||||
#根据name查询出该Chart的id
|
||||
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
|
||||
${chartId} Set Variable ${response1}[data][list][0][id]
|
||||
#新建Report,时间计划为Today,图表引用Line。
|
||||
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
|
||||
#查询Report的id
|
||||
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
|
||||
${reportId} Set Variable ${response1}[data][list][0][jobId]
|
||||
#查询Report结果的状态,并判断状态结果,如果状态是执行成功,查看report结果内容
|
||||
FOR ${i} IN RANGE 50
|
||||
sleep 10
|
||||
#report执行状态查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
${status} Set Variable ${response1}[data][list][0][status]
|
||||
${resultId} Set Variable ${response1}[data][list][0][resultId]
|
||||
run keyword if "${status}"=="0" log non-execution
|
||||
... ELSE IF "${status}"=="1" log executing
|
||||
... ELSE IF "${status}"=="2" Exit For Loop
|
||||
... ELSE log Exec failure
|
||||
END
|
||||
#Report报表详情查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
#判断resultRows字段
|
||||
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
|
||||
${responselist} run keyword if '${resultRows}'=='0' SecurityEventActionHit-if ELSE SecurityEventActionHit-else ${reportId} ${resultId}
|
||||
${responselist1} run keyword if '${action}'=='0' action-0 ${actionCountList}
|
||||
... ELSE IF '${action}'=='128' action-128 ${actionCountList}
|
||||
... ELSE IF '${action}'=='16' action-16 ${actionCountList}
|
||||
... ELSE IF '${action}'=='1' action-1 ${actionCountList}
|
||||
... ELSE IF '${action}'=='2' action-2 ${actionCountList}
|
||||
${number} run keyword if '${responselist1}[0]'=='0' SecurityEventActionHit-if-1 ELSE evaluate int(${responselist}[0])/int(${responselist1}[0])-1
|
||||
${number1} run keyword if '${responselist1}[1]'=='0' SecurityEventActionHit-if-1 ELSE evaluate int(${responselist}[1])/int(${responselist1}[1])-1
|
||||
${number2} run keyword if '${responselist1}[2]'=='0' SecurityEventActionHit-if-1 ELSE evaluate int(${responselist}[1])/int(${responselist1}[2])-1
|
||||
Should Be True ${number}<=${contrast}
|
||||
Should Be True ${number1}<=${contrast}
|
||||
Should Be True ${number2}<=${contrast}
|
||||
[Return] OK
|
||||
SecurityEventActionHit-if
|
||||
${responselist} create list 0 0 0
|
||||
[Return] ${responselist}
|
||||
|
||||
Dashboard-Traffic-sessions
|
||||
# Traffics-带宽统计 统计类型:sessions bifang和bigData对比 Traffic IN/OUT
|
||||
SecurityEventActionHit-if-1
|
||||
${number} Set Variable 0
|
||||
[Return] ${number}
|
||||
|
||||
SecurityEventActionHit-else
|
||||
[Arguments] ${reportId} ${resultId}
|
||||
${response1} BaseGetRequestOK /v1/report/offlinejob/result/detail jobId=${reportId}&resultId=${resultId}
|
||||
${packets} Set Variable ${response1}[data][list][0][tableData][columns][1][dataBindings][0][data][0]
|
||||
${bytes} Set Variable ${response1}[data][list][0][tableData][columns][2][dataBindings][0][data][0]
|
||||
${sessions} Set Variable ${response1}[data][list][0][tableData][columns][3][dataBindings][0][data][0]
|
||||
${responselist} create list ${bytes} ${packets} ${sessions}
|
||||
[Return] ${responselist}
|
||||
|
||||
action-0
|
||||
[Arguments] ${actionCountList}
|
||||
${packets} Set Variable ${actionCountList}[0][packets]
|
||||
${bytes} Set Variable ${actionCountList}[0][bytes]
|
||||
${sessions} Set Variable ${actionCountList}[0][sessions]
|
||||
${responselist1} create list ${bytes} ${packets} ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
action-128
|
||||
[Arguments] ${actionCountList}
|
||||
${packets} Set Variable ${actionCountList}[1][packets]
|
||||
${bytes} Set Variable ${actionCountList}[1][bytes]
|
||||
${sessions} Set Variable ${actionCountList}[1][sessions]
|
||||
${responselist1} create list ${bytes} ${packets} ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
|
||||
action-16
|
||||
[Arguments] ${actionCountList}
|
||||
${packets} Set Variable ${actionCountList}[2][packets]
|
||||
${bytes} Set Variable ${actionCountList}[2][bytes]
|
||||
${sessions} Set Variable ${actionCountList}[2][sessions]
|
||||
${responselist1} create list ${bytes} ${packets} ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
action-1
|
||||
[Arguments] ${actionCountList}
|
||||
${packets} Set Variable ${actionCountList}[3][packets]
|
||||
${bytes} Set Variable ${actionCountList}[3][bytes]
|
||||
${sessions} Set Variable ${actionCountList}[3][sessions]
|
||||
${responselist1} create list ${bytes} ${packets} ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
action-2
|
||||
[Arguments] ${actionCountList}
|
||||
${packets} Set Variable ${actionCountList}[4][packets]
|
||||
${bytes} Set Variable ${actionCountList}[4][bytes]
|
||||
${sessions} Set Variable ${actionCountList}[4][sessions]
|
||||
${responselist1} create list ${bytes} ${packets} ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
ClientIPTopN-new
|
||||
#dashboard 源IP统计 bifang和bigData对比
|
||||
[Documentation]
|
||||
... 描述:ProxyPinning
|
||||
... 参数:starttime(必传,开始时间)
|
||||
... orderBy(必传,排序 sessions、bytes、packets 从这三个中选择)
|
||||
... limit(必传,限制条数)
|
||||
... endtime(必传,结束时间)
|
||||
[Arguments] ${starttime} ${endtime} ${orderBy} ${limit} ${name} ${char-orderby}
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&orderBy=${orderBy}&limit=${limit}
|
||||
${url1} Set Variable report/traffic/topn/clientip
|
||||
${bfResponse} TrafficStatistics.TrafficBFRequest ${url1} ${data}
|
||||
@{List1} Set Variable ${bfResponse['data']['list']}
|
||||
#新建DataSet
|
||||
#${name} Set Variable Report_Result-001
|
||||
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_client_ip"}],"queryColumnList":[{"name":"common_client_ip","expression":"","label":"Client IP"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num","expression":"sum","label":"Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num","expression":"sum","label":"Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num","expression":"sum","label":"Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_pkt_num","expression":"sum","label":"Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
|
||||
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
|
||||
${datasetId} Set Variable ${response}[data][list][0][id]
|
||||
#根据DataSet的id,新建Chart,Lien图形表
|
||||
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"${char-orderby}","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Client IP","width":10,"dataBindings":[{"dataType":"","dataBinding":"Client IP","format":"Default","legend":"","name":"common_client_ip"}]},{"title":"sessions","width":10,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]},{"title":"Bytes Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent","format":"Default","legend":"","name":"common_c2s_byte_num"}]},{"title":"Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Received","format":"Default","legend":"","name":"common_s2c_byte_num"}]},{"title":"Bytes Sent+Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"Packets Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent","format":"Default","legend":"","name":"common_c2s_pkt_num"}]},{"title":"Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Received","format":"Default","legend":"","name":"common_s2c_pkt_num"}]},{"title":"Packets Sent+Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]}]}}
|
||||
#根据name查询出该Chart的id
|
||||
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
|
||||
${chartId} Set Variable ${response1}[data][list][0][id]
|
||||
#新建Report,时间计划为Today,图表引用Line。
|
||||
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
|
||||
#查询Report的id
|
||||
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
|
||||
${reportId} Set Variable ${response1}[data][list][0][jobId]
|
||||
#查询Report结果的状态,并判断状态结果,如果状态是执行成功,查看report结果内容
|
||||
FOR ${i} IN RANGE 50
|
||||
sleep 10
|
||||
#report执行状态查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
${status} Set Variable ${response1}[data][list][0][status]
|
||||
${resultId} Set Variable ${response1}[data][list][0][resultId]
|
||||
run keyword if "${status}"=="0" log non-execution
|
||||
... ELSE IF "${status}"=="1" log executing
|
||||
... ELSE IF "${status}"=="2" Exit For Loop
|
||||
... ELSE log Exec failure
|
||||
END
|
||||
#Report报表详情查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
#判断resultRows字段
|
||||
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
|
||||
${responselist} run keyword if '${resultRows}'=='0' ClientIPTopN-new-if ELSE ClientIPTopN-new-else ${reportId} ${resultId}
|
||||
${list2} create list
|
||||
${list3} create list
|
||||
${list4} create list
|
||||
${list5} create list
|
||||
${list6} create list
|
||||
${list7} create list
|
||||
${list8} create list
|
||||
${list9} create list
|
||||
FOR ${j} IN @{List1}
|
||||
ClientIPTopN-new-for ${j} ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
|
||||
END
|
||||
${responselist1} create list ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
|
||||
${retourn} intersection ${responselist} ${responselist1}
|
||||
Should Be True "${retourn}"=="ture"
|
||||
ClientIPTopN-new-if
|
||||
${responselist} create list 0 0 0 0 0 0 0 0
|
||||
[Return] ${responselist}
|
||||
|
||||
ClientIPTopN-new-else
|
||||
[Arguments] ${reportId} ${resultId}
|
||||
${response1} BaseGetRequestOK /v1/report/offlinejob/result/detail jobId=${reportId}&resultId=${resultId}
|
||||
${Client IP} Set Variable ${response1}[data][list][0][tableData][columns][0][dataBindings][0][data]
|
||||
${sessions} Set Variable ${response1}[data][list][0][tableData][columns][1][dataBindings][0][data]
|
||||
${Bytes Sent} Set Variable ${response1}[data][list][0][tableData][columns][2][dataBindings][0][data]
|
||||
${Bytes Received} Set Variable ${response1}[data][list][0][tableData][columns][3][dataBindings][0][data]
|
||||
${Bytes Sent+Bytes Received} Set Variable ${response1}[data][list][0][tableData][columns][4][dataBindings][0][data]
|
||||
${Packets Sent} Set Variable ${response1}[data][list][0][tableData][columns][5][dataBindings][0][data]
|
||||
${Packets Received} Set Variable ${response1}[data][list][0][tableData][columns][6][dataBindings][0][data]
|
||||
${Packets Sent+Packets Received} Set Variable ${response1}[data][list][0][tableData][columns][7][dataBindings][0][data]
|
||||
${responselist} create list ${Client IP} ${sessions} ${Bytes Sent} ${Bytes Received} ${Bytes Sent+Bytes Received} ${Packets Sent} ${Packets Received} ${Packets Sent+Packets Received}
|
||||
[Return] ${responselist}
|
||||
|
||||
ClientIPTopN-new-for
|
||||
[Arguments] ${j} ${listclientIp} ${listsessions} ${listsentBytes} ${listreceivedBytes} ${listtotalBytes} ${listsentPackets} ${listreceivedPackets} ${listtotalPackets}
|
||||
FOR ${v} ${k} IN ENUMERATE @{j}
|
||||
run keyword if '${k}'=='clientIp' or '${k}'=='serverIp' or '${k}'=='subscriberid' or '${k}'=='domain' append to list ${listclientIp} ${j}[${k}]
|
||||
${str1} run keyword if '${k}'=='sessions' evaluate str(${j}[${k}])
|
||||
run keyword if ${str1}!=None append to list ${listsessions} ${str1}
|
||||
${str2} run keyword if '${k}'=='sentBytes' evaluate str(${j}[${k}])
|
||||
run keyword if ${str2}!=None append to list ${listsentBytes} ${str2}
|
||||
${str3} run keyword if '${k}'=='receivedBytes' evaluate str(${j}[${k}])
|
||||
run keyword if ${str3}!=None append to list ${listreceivedBytes} ${str3}
|
||||
${str4} run keyword if '${k}'=='totalBytes' evaluate str(${j}[${k}])
|
||||
run keyword if ${str4}!=None append to list ${listtotalBytes} ${str4}
|
||||
${str5} run keyword if '${k}'=='sentPackets' evaluate str(${j}[${k}])
|
||||
run keyword if ${str5}!=None append to list ${listsentPackets} ${str5}
|
||||
${str6} run keyword if '${k}'=='receivedPackets' evaluate str(${j}[${k}])
|
||||
run keyword if ${str6}!=None append to list ${listreceivedPackets} ${str6}
|
||||
${str7} run keyword if '${k}'=='totalPackets' evaluate str(${j}[${k}])
|
||||
run keyword if ${str7}!=None append to list ${listtotalPackets} ${str7}
|
||||
END
|
||||
|
||||
ServiceIPTopN-new
|
||||
#dashboard 目的IP统计 bifang和bigData对比
|
||||
[Documentation]
|
||||
... 描述:Traffic-sessions统计
|
||||
... 描述:ProxyPinning
|
||||
... 参数:starttime(必传,开始时间紧)
|
||||
... orderBy(必传,排序 sessions、bytes、packets 从这三个中选择)
|
||||
... limit(必传,限制条数)
|
||||
... endtime(必传,结束时间
|
||||
... 返回:对比结果
|
||||
[Arguments] ${starttime} ${endtime}
|
||||
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=sessions
|
||||
${url1} Set Variable report/traffic/statisticsbyunit
|
||||
${bfResponse} trafficBFRequest ${url1} ${data}
|
||||
${sessions} Set Variable ${bfResponse['data']['sessions']}
|
||||
Create Session bdapi http://${bigDataIP}:${bigDataPort}
|
||||
${sql} Set Variable select sum(new_conn_num) as sessions from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}'
|
||||
${remoteResponse} Get Request bdapi ?query=${sql}
|
||||
${response} to json ${remoteResponse.content}
|
||||
Should Be Equal As Strings ${remoteResponse.status_code} 200
|
||||
Should Be Equal As Strings ${response['status']} 200
|
||||
${sessions1} Set Variable ${response['data'][0]['sessions']}
|
||||
Should Be True ${sessions}==${sessions1}
|
||||
[Return] OK
|
||||
[Arguments] ${starttime} ${endtime} ${orderBy} ${limit} ${name} ${char-orderby}
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&orderBy=${orderBy}&limit=${limit}
|
||||
${url1} Set Variable report/traffic/topn/serverip
|
||||
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
|
||||
@{List1} Set Variable ${bfResponse['data']['list']}
|
||||
#新建DataSet
|
||||
#${name} Set Variable Report_Result-001
|
||||
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_server_ip"}],"queryColumnList":[{"name":"common_server_ip","expression":"","label":"Server IP"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num","expression":"sum","label":"Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num","expression":"sum","label":"Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num","expression":"sum","label":"Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_pkt_num","expression":"sum","label":"Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
|
||||
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
|
||||
${datasetId} Set Variable ${response}[data][list][0][id]
|
||||
#根据DataSet的id,新建Chart,Lien图形表
|
||||
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"${char-orderby}","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Server IP","width":10,"dataBindings":[{"dataType":"","dataBinding":"Server IP","format":"Default","legend":"","name":"common_server_ip"}]},{"title":"sessions","width":10,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]},{"title":"Bytes Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent","format":"Default","legend":"","name":"common_c2s_byte_num"}]},{"title":"Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Received","format":"Default","legend":"","name":"common_s2c_byte_num"}]},{"title":"Bytes Sent+Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"Packets Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent","format":"Default","legend":"","name":"common_c2s_pkt_num"}]},{"title":"Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Received","format":"Default","legend":"","name":"common_s2c_pkt_num"}]},{"title":"Packets Sent+Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]}]}}
|
||||
#根据name查询出该Chart的id
|
||||
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
|
||||
${chartId} Set Variable ${response1}[data][list][0][id]
|
||||
#新建Report,时间计划为Today,图表引用Line。
|
||||
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
|
||||
#查询Report的id
|
||||
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
|
||||
${reportId} Set Variable ${response1}[data][list][0][jobId]
|
||||
#查询Report结果的状态,并判断状态结果,如果状态是执行成功,查看report结果内容
|
||||
FOR ${i} IN RANGE 50
|
||||
sleep 10
|
||||
#report执行状态查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
${status} Set Variable ${response1}[data][list][0][status]
|
||||
${resultId} Set Variable ${response1}[data][list][0][resultId]
|
||||
run keyword if "${status}"=="0" log non-execution
|
||||
... ELSE IF "${status}"=="1" log executing
|
||||
... ELSE IF "${status}"=="2" Exit For Loop
|
||||
... ELSE log Exec failure
|
||||
END
|
||||
#Report报表详情查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
#判断resultRows字段
|
||||
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
|
||||
${responselist} run keyword if '${resultRows}'=='0' ClientIPTopN-new-if ELSE ClientIPTopN-new-else ${reportId} ${resultId}
|
||||
${list2} create list
|
||||
${list3} create list
|
||||
${list4} create list
|
||||
${list5} create list
|
||||
${list6} create list
|
||||
${list7} create list
|
||||
${list8} create list
|
||||
${list9} create list
|
||||
FOR ${j} IN @{List1}
|
||||
ClientIPTopN-new-for ${j} ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
|
||||
END
|
||||
${responselist1} create list ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
|
||||
${retourn} intersection ${responselist} ${responselist1}
|
||||
Should Be True "${retourn}"=="ture"
|
||||
|
||||
Dashboard-Traffic-trend-bytes
|
||||
# Traffics-带宽趋势 统计类型:bytes bifang和bigData对比 Traffic IN/OUT
|
||||
SecurityEventpolicyidtopHit-new
|
||||
# dashboard界面 安全策略各动作命中计数 bifang和report对比
|
||||
[Documentation]
|
||||
... 描述:Traffic-trend-bytes
|
||||
... 描述:Security-Action-packets
|
||||
... 参数:starttime(必传,开始时间紧)
|
||||
... endtime(必传,结束时间
|
||||
... timeGranularity(非必传,时间粒度 )
|
||||
... limit(非必传,限制条数)
|
||||
... 返回:对比结果
|
||||
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit}
|
||||
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=bytes&timeGranularity=${timeGranularity}&limit=${limit}
|
||||
${url1} Set Variable report/traffic/statisticsbyunit
|
||||
${bfResponse} trafficBFRequest ${url1} ${data}
|
||||
@{bytesOutList1} Set Variable ${bfResponse['data']['trafficOutBytesList']}
|
||||
@{bytesInList1} Set Variable ${bfResponse['data']['trafficInBytesList']}
|
||||
Create Session bdapi http://${bigDataIP}:${bigDataPort}
|
||||
${sql} Set Variable (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_in_bytes' as type, sum(total_in_bytes) as bytes from traffic_metrics_log where \ __time >= '${startTime}' \ and __time < '${endTime}' \ group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_out_bytes' as type, sum(total_out_bytes) as bytes from traffic_metrics_log where \ __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit})
|
||||
${remoteResponse} Get Request bdapi ?query=${sql}
|
||||
${response} to json ${remoteResponse.content}
|
||||
Should Be Equal As Strings ${remoteResponse.status_code} 200
|
||||
Should Be Equal As Strings ${response['status']} 200
|
||||
@{bytesList2} Set Variable ${response['data']}
|
||||
${typeIn} Set Variable traffic_in_bytes
|
||||
${typeOut} Set Variable traffic_out_bytes
|
||||
${types} Set Variable bytes
|
||||
Run Keyword If ${bytesOutList1}!=[] and ${bytesList2}!=[] ForToTrafficTrend ${bytesOutList1} ${typeOut} ${types} ${bytesList2}
|
||||
Run Keyword If ${bytesInList1}!=[] and ${bytesList2}!=[] ForToTrafficTrend ${bytesInList1} ${typeIn} ${types} ${bytesList2}
|
||||
|
||||
Dashboard-Traffic-trend-packets
|
||||
# Traffics-带宽趋势 统计类型:packets bifang和bigData对比 Traffic IN/OUT
|
||||
... limit(必传,限制条数)
|
||||
... endtime(必传,结束时间)
|
||||
... logType(必填,日志类型。)
|
||||
[Arguments] ${starttime} ${endtime} ${limit} ${name}
|
||||
${logType} Set Variable security_event_hits_log
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&limit=${limit}
|
||||
${url1} Set Variable report/policyevent/hit/topn
|
||||
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
|
||||
@{List1} Set Variable ${bfResponse['data']['list']}
|
||||
#新建DataSet
|
||||
#${name} Set Variable Report_Result-001
|
||||
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"security_event_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_policy_id"}],"queryColumnList":[{"name":"common_policy_id","expression":"","label":"Policy ID"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
|
||||
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
|
||||
${datasetId} Set Variable ${response}[data][list][0][id]
|
||||
#根据DataSet的id,新建Chart,Lien图形表
|
||||
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"sessions","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Policy ID","width":20,"dataBindings":[{"dataType":"","dataBinding":"Policy ID","format":"Default","legend":"","name":"common_policy_id"}]},{"title":"sessions","width":20,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]}]}}
|
||||
#根据name查询出该Chart的id
|
||||
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
|
||||
${chartId} Set Variable ${response1}[data][list][0][id]
|
||||
#新建Report,时间计划为Today,图表引用Line。
|
||||
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
|
||||
#查询Report的id
|
||||
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
|
||||
${reportId} Set Variable ${response1}[data][list][0][jobId]
|
||||
#查询Report结果的状态,并判断状态结果,如果状态是执行成功,查看report结果内容
|
||||
FOR ${i} IN RANGE 50
|
||||
sleep 10
|
||||
#report执行状态查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
${status} Set Variable ${response1}[data][list][0][status]
|
||||
${resultId} Set Variable ${response1}[data][list][0][resultId]
|
||||
run keyword if "${status}"=="0" log non-execution
|
||||
... ELSE IF "${status}"=="1" log executing
|
||||
... ELSE IF "${status}"=="2" Exit For Loop
|
||||
... ELSE log Exec failure
|
||||
END
|
||||
#Report报表详情查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
#判断resultRows字段
|
||||
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
|
||||
${responselist} run keyword if '${resultRows}'=='0' SecurityEventpolicyidtopHit-new-if ELSE SecurityEventpolicyidtopHit-new-else ${reportId} ${resultId}
|
||||
${list2} create list
|
||||
${list3} create list
|
||||
FOR ${j} IN @{List1}
|
||||
SecurityEventpolicyidtopHit-new-for ${j} ${list2} ${list3}
|
||||
END
|
||||
${responselist1} create list ${list2} ${list3}
|
||||
${retourn} intersection ${responselist} ${responselist1}
|
||||
Should Be True "${retourn}"=="ture"
|
||||
SecurityEventpolicyidtopHit-new-if
|
||||
${responselist} create list 0 0 0
|
||||
[Return] ${responselist}
|
||||
|
||||
SecurityEventpolicyidtopHit-new-else
|
||||
[Arguments] ${reportId} ${resultId}
|
||||
${response1} BaseGetRequestOK /v1/report/offlinejob/result/detail jobId=${reportId}&resultId=${resultId}
|
||||
${policyId} Set Variable ${response1}[data][list][0][tableData][columns][0][dataBindings][0][data]
|
||||
${sessions} Set Variable ${response1}[data][list][0][tableData][columns][1][dataBindings][0][data]
|
||||
${responselist} create list ${policyId} ${sessions}
|
||||
[Return] ${responselist}
|
||||
SecurityEventpolicyidtopHit-new-for
|
||||
[Arguments] ${j} ${listpolicyId} ${listsessions}
|
||||
|
||||
FOR ${v} ${k} IN ENUMERATE @{j}
|
||||
|
||||
${str} run keyword if '${k}'=='policyId' evaluate str(${j}[${k}])
|
||||
run keyword if ${str}!=None append to list ${listpolicyId} ${str}
|
||||
${str1} run keyword if '${k}'=='sessions' evaluate str(${j}[${k}])
|
||||
run keyword if ${str1}!=None append to list ${listsessions} ${str1}
|
||||
END
|
||||
|
||||
SubscriberIDTopN-new
|
||||
#dashboard SubscriberIDP统计 bifang和report对比
|
||||
[Documentation]
|
||||
... 描述:Traffic-trend-packets
|
||||
... 描述:ProxyPinning
|
||||
... 参数:starttime(必传,开始时间紧)
|
||||
... orderBy(必传,排序 sessions、bytes、packets 从这三个中选择)
|
||||
... limit(必传,限制条数)
|
||||
... endtime(必传,结束时间
|
||||
... timeGranularity(非必传,时间粒度 )
|
||||
... limit(非必传,限制条数)
|
||||
... 返回:对比结果
|
||||
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit}
|
||||
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=packets&timeGranularity=${timeGranularity}&limit=${limit}
|
||||
${url1} Set Variable report/traffic/statisticsbyunit
|
||||
${bfResponse} trafficBFRequest ${url1} ${data}
|
||||
@{packetsOutList1} Set Variable ${bfResponse['data']['trafficOutPacketsList']}
|
||||
@{packetsInList1} Set Variable ${bfResponse['data']['trafficInPacketsList']}
|
||||
Create Session bdapi http://${bigDataIP}:${bigDataPort}
|
||||
#${sql} Set Variable (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_in_packets' as type, sum(total_in_packets) as packets from traffic_metrics_log where \ __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') union all select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_out_packets' as type, sum(total_out_packets) as packets from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s'))
|
||||
#${remoteResponse} Get Request bdapi ?query=${sql}
|
||||
${sql} Set Variable (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_in_packets' as type, sum(total_in_packets) as packets from traffic_metrics_log where \ __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_out_packets' as type, sum(total_out_packets) as packets from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit})
|
||||
${remoteResponse} Get Request bdapi ?query=${sql}
|
||||
${response} to json ${remoteResponse.content}
|
||||
Should Be Equal As Strings ${remoteResponse.status_code} 200
|
||||
Should Be Equal As Strings ${response['status']} 200
|
||||
@{packetsList2} Set Variable ${response['data']}
|
||||
${typeIn} Set Variable traffic_in_packets
|
||||
${typeOut} Set Variable traffic_out_packets
|
||||
${types} Set Variable packets
|
||||
Run Keyword If ${packetsOutList1}!=[] and ${packetsList2}!=[] ForToTrafficTrend ${packetsOutList1} ${typeOut} ${types} ${packetsList2}
|
||||
Run Keyword If ${packetsInList1}!=[] and ${packetsList2}!=[] ForToTrafficTrend ${packetsInList1} ${typeIn} ${types} ${packetsList2}
|
||||
[Arguments] ${starttime} ${endtime} ${orderBy} ${limit} ${name} ${char-orderby}
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&orderBy=${orderBy}&limit=${limit}
|
||||
${url1} Set Variable report/traffic/topn/subscriberid
|
||||
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
|
||||
@{List1} Set Variable ${bfResponse['data']['list']}
|
||||
#新建DataSet
|
||||
#${name} Set Variable Report_Result-001
|
||||
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_subscriber_id"}],"queryColumnList":[{"name":"common_subscriber_id","expression":"","label":"Subscriber ID"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num","expression":"sum","label":"Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num","expression":"sum","label":"Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num","expression":"sum","label":"Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_pkt_num","expression":"sum","label":"Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
|
||||
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
|
||||
${datasetId} Set Variable ${response}[data][list][0][id]
|
||||
#根据DataSet的id,新建Chart,Lien图形表
|
||||
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"${char-orderby}","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Subscriber ID","width":10,"dataBindings":[{"dataType":"","dataBinding":"Subscriber ID","format":"Default","legend":"","name":"common_subscriber_id"}]},{"title":"sessions","width":10,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]},{"title":"Bytes Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent","format":"Default","legend":"","name":"common_c2s_byte_num"}]},{"title":"Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Received","format":"Default","legend":"","name":"common_s2c_byte_num"}]},{"title":"Bytes Sent+Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"Packets Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent","format":"Default","legend":"","name":"common_c2s_pkt_num"}]},{"title":"Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Received","format":"Default","legend":"","name":"common_s2c_pkt_num"}]},{"title":"Packets Sent+Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]}]}}
|
||||
#根据name查询出该Chart的id
|
||||
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
|
||||
${chartId} Set Variable ${response1}[data][list][0][id]
|
||||
#新建Report,时间计划为Today,图表引用Line。
|
||||
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
|
||||
#查询Report的id
|
||||
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
|
||||
${reportId} Set Variable ${response1}[data][list][0][jobId]
|
||||
#查询Report结果的状态,并判断状态结果,如果状态是执行成功,查看report结果内容
|
||||
FOR ${i} IN RANGE 50
|
||||
sleep 10
|
||||
#report执行状态查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
${status} Set Variable ${response1}[data][list][0][status]
|
||||
${resultId} Set Variable ${response1}[data][list][0][resultId]
|
||||
run keyword if "${status}"=="0" log non-execution
|
||||
... ELSE IF "${status}"=="1" log executing
|
||||
... ELSE IF "${status}"=="2" Exit For Loop
|
||||
... ELSE log Exec failure
|
||||
END
|
||||
#Report报表详情查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
#判断resultRows字段
|
||||
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
|
||||
${responselist} run keyword if '${resultRows}'=='0' ClientIPTopN-new-if ELSE ClientIPTopN-new-else ${reportId} ${resultId}
|
||||
${list2} create list
|
||||
${list3} create list
|
||||
${list4} create list
|
||||
${list5} create list
|
||||
${list6} create list
|
||||
${list7} create list
|
||||
${list8} create list
|
||||
${list9} create list
|
||||
FOR ${j} IN @{List1}
|
||||
ClientIPTopN-new-for ${j} ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
|
||||
END
|
||||
${responselist1} create list ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
|
||||
${retourn} intersection ${responselist} ${responselist1}
|
||||
Should Be True "${retourn}"=="ture"
|
||||
|
||||
Dashboard-Traffic-trend-sessions
|
||||
# Traffics-带宽趋势 统计类型:sessions bifang和bigData对比 Traffic IN/OUT
|
||||
DomainsTopN-new
|
||||
#dashboard 目的IP统计 bifang和bigData对比
|
||||
[Documentation]
|
||||
... 描述:Traffic-trend-sessions
|
||||
... 描述:ProxyPinning
|
||||
... 参数:starttime(必传,开始时间紧)
|
||||
... orderBy(必传,排序 sessions、bytes、packets 从这三个中选择)
|
||||
... limit(必传,限制条数)
|
||||
... endtime(必传,结束时间
|
||||
... timeGranularity(非必传,时间粒度 )
|
||||
... limit(非必传,限制条数)
|
||||
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit}
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=sessions&timeGranularity=${timeGranularity}&limit=${limit}
|
||||
${url1} Set Variable report/traffic/statisticsbyunit
|
||||
${bfResponse} trafficBFRequest ${url1} ${data}
|
||||
@{sessionsList1} Set Variable ${bfResponse['data']['sessionsList']}
|
||||
Create Session bdapi http://${bigDataIP}:${bigDataPort}
|
||||
#${sql} Set Variable select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity}) *${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'total_conn_num' as type, \ sum(new_conn_num) as sessions from traffic_metrics_log where __time >= \ '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR (UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i: %s')
|
||||
#${remoteResponse} Get Request bdapi ?query=${sql}
|
||||
${sql} Set Variable select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity}) *${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'total_conn_num' as type, \ sum(new_conn_num) as sessions from traffic_metrics_log where __time >= \ '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR (UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i: %s') limit ${limit}
|
||||
${remoteResponse} Get Request bdapi ?query=${sql}
|
||||
${response} to json ${remoteResponse.content}
|
||||
Should Be Equal As Strings ${remoteResponse.status_code} 200
|
||||
Should Be Equal As Strings ${response['status']} 200
|
||||
@{sessionsList2} Set Variable ${response['data']}
|
||||
${type} Set Variable total_conn_num
|
||||
${types} Set Variable sessions
|
||||
Run Keyword If ${sessionsList1}!=[] and ${sessionsList2}!=[] ForToTrafficTrend ${sessionsList1} ${type} ${types} ${sessionsList2}
|
||||
|
||||
|
||||
[Arguments] ${starttime} ${endtime} ${orderBy} ${limit} ${name} ${char-orderby}
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&orderBy=${orderBy}&limit=${limit}
|
||||
${url1} Set Variable report/traffic/topn/domain
|
||||
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
|
||||
@{List1} Set Variable ${bfResponse['data']['list']}
|
||||
#新建DataSet
|
||||
#${name} Set Variable Report_Result-001
|
||||
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"http_domain"}],"queryColumnList":[{"name":"http_domain","expression":"","label":"Http.Domain"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num","expression":"sum","label":"Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num","expression":"sum","label":"Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num","expression":"sum","label":"Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_pkt_num","expression":"sum","label":"Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
|
||||
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
|
||||
${datasetId} Set Variable ${response}[data][list][0][id]
|
||||
#根据DataSet的id,新建Chart,Lien图形表
|
||||
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"${char-orderby}","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Http.Domain","width":10,"dataBindings":[{"dataType":"","dataBinding":"Http.Domain","format":"Default","legend":"","name":"http_domain"}]},{"title":"sessions","width":10,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]},{"title":"Bytes Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent","format":"Default","legend":"","name":"common_c2s_byte_num"}]},{"title":"Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Received","format":"Default","legend":"","name":"common_s2c_byte_num"}]},{"title":"Bytes Sent+Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"Packets Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent","format":"Default","legend":"","name":"common_c2s_pkt_num"}]},{"title":"Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Received","format":"Default","legend":"","name":"common_s2c_pkt_num"}]},{"title":"Packets Sent+Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]}]}}
|
||||
#根据name查询出该Chart的id
|
||||
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
|
||||
${chartId} Set Variable ${response1}[data][list][0][id]
|
||||
#新建Report,时间计划为Today,图表引用Line。
|
||||
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
|
||||
#查询Report的id
|
||||
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
|
||||
${reportId} Set Variable ${response1}[data][list][0][jobId]
|
||||
#查询Report结果的状态,并判断状态结果,如果状态是执行成功,查看report结果内容
|
||||
FOR ${i} IN RANGE 50
|
||||
sleep 10
|
||||
#report执行状态查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
${status} Set Variable ${response1}[data][list][0][status]
|
||||
${resultId} Set Variable ${response1}[data][list][0][resultId]
|
||||
run keyword if "${status}"=="0" log non-execution
|
||||
... ELSE IF "${status}"=="1" log executing
|
||||
... ELSE IF "${status}"=="2" Exit For Loop
|
||||
... ELSE log Exec failure
|
||||
END
|
||||
#Report报表详情查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
#判断resultRows字段
|
||||
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
|
||||
${responselist} run keyword if '${resultRows}'=='0' ClientIPTopN-new-if ELSE ClientIPTopN-new-else ${reportId} ${resultId}
|
||||
${list2} create list
|
||||
${list3} create list
|
||||
${list4} create list
|
||||
${list5} create list
|
||||
${list6} create list
|
||||
${list7} create list
|
||||
${list8} create list
|
||||
${list9} create list
|
||||
FOR ${j} IN @{List1}
|
||||
ClientIPTopN-new-for ${j} ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
|
||||
END
|
||||
${responselist1} create list ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
|
||||
${retourn} intersection ${responselist} ${responselist1}
|
||||
Should Be True "${retourn}"=="ture"
|
||||
|
||||
ProxyEventActionHit-new
|
||||
# dashboard界面 安全策略各动作命中计数 bytes packets sessions bifang和report对比
|
||||
[Documentation]
|
||||
... 描述:Security-Action-packets
|
||||
... 参数:starttime(必传,开始时间紧)
|
||||
... timeGranularity(必传,时间粒度 )
|
||||
... limit(必传,限制条数)
|
||||
... endtime(必传,结束时间)
|
||||
... logType(必填,日志类型。)
|
||||
... name 名字
|
||||
... action 动作,0为none,128为allow,16为deny,2为intercept,1为monitor
|
||||
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit} ${name} ${action}
|
||||
${logType} Set Variable proxy_event_hits_log
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
|
||||
${url1} Set Variable report/policyevent/hit/action
|
||||
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
|
||||
${actionCountList} Set Variable ${bfResponse['data']['actionCount']}
|
||||
#新建DataSet
|
||||
#${name} Set Variable Report_Result-001
|
||||
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"proxy_event_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_sub_action"}],"queryColumnList":[{"name":"common_sub_action","expression":"","label":"Sub Action"},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[{"name":"common_sub_action","expression":"=","expressionList":["=","!=","Prefix","Suffix","Sub","notEmpty"],"value":["${action}"],"type":"string"}],"havingConditionList":[]}}
|
||||
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
|
||||
${datasetId} Set Variable ${response}[data][list][0][id]
|
||||
#根据DataSet的id,新建Chart,Lien图形表
|
||||
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"pie","dataTop":0,"orderBy":"","orderDesc":"","includeOther":false,"xAxis":{"dataBinding":"Sub Action","label":"","dataTop":5,"dataType":""},"yAxis":[{"dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":""}]}}
|
||||
#根据name查询出该Chart的id
|
||||
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
|
||||
${chartId} Set Variable ${response1}[data][list][0][id]
|
||||
#新建Report,时间计划为Today,图表引用Line。
|
||||
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
|
||||
#查询Report的id
|
||||
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
|
||||
${reportId} Set Variable ${response1}[data][list][0][jobId]
|
||||
#查询Report结果的状态,并判断状态结果,如果状态是执行成功,查看report结果内容
|
||||
FOR ${i} IN RANGE 50
|
||||
sleep 10
|
||||
#report执行状态查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
${status} Set Variable ${response1}[data][list][0][status]
|
||||
${resultId} Set Variable ${response1}[data][list][0][resultId]
|
||||
run keyword if "${status}"=="0" log non-execution
|
||||
... ELSE IF "${status}"=="1" log executing
|
||||
... ELSE IF "${status}"=="2" Exit For Loop
|
||||
... ELSE log Exec failure
|
||||
END
|
||||
#Report报表详情查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
#判断resultRows字段
|
||||
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
|
||||
${responselist} run keyword if '${resultRows}'=='0' SecurityEventActionHit-if ELSE SecurityEventActionHit-else ${reportId} ${resultId}
|
||||
${responselist1} run keyword if '${action}'=='0' action-0 ${actionCountList}
|
||||
... ELSE IF '${action}'=='allow' action-allow ${actionCountList}
|
||||
... ELSE IF '${action}'=='deny' action-deny ${actionCountList}
|
||||
... ELSE IF '${action}'=='monitor' action-monitor ${actionCountList}
|
||||
... ELSE IF '${action}'=='replace' action-replace ${actionCountList}
|
||||
... ELSE IF '${action}'=='redirect' action-redirect ${actionCountList}
|
||||
... ELSE IF '${action}'=='insert' action-insert ${actionCountList}
|
||||
... ELSE IF '${action}'=='hijack' action-hijack ${actionCountList}
|
||||
${number} run keyword if '${responselist1}[0]'=='0' SecurityEventActionHit-if-1 ELSE evaluate int(${responselist}[0])/int(${responselist1}[0])-1
|
||||
Should Be True ${number}<=${contrast}
|
||||
[Return] OK
|
||||
|
||||
action-allow
|
||||
[Arguments] ${actionCountList}
|
||||
log ${actionCountList}
|
||||
${sessions} Set Variable ${actionCountList}[0][sessions]
|
||||
${responselist1} create list ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
action-deny
|
||||
[Arguments] ${actionCountList}
|
||||
${sessions} Set Variable ${actionCountList}[1][sessions]
|
||||
${responselist1} create list ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
action-monitor
|
||||
[Arguments] ${actionCountList}
|
||||
${sessions} Set Variable ${actionCountList}[2][sessions]
|
||||
${responselist1} create list ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
action-replace
|
||||
[Arguments] ${actionCountList}
|
||||
${sessions} Set Variable ${actionCountList}[3][sessions]
|
||||
${responselist1} create list ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
action-redirect
|
||||
[Arguments] ${actionCountList}
|
||||
${sessions} Set Variable ${actionCountList}[4][sessions]
|
||||
${responselist1} create list ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
action-insert
|
||||
[Arguments] ${actionCountList}
|
||||
${sessions} Set Variable ${actionCountList}[5][sessions]
|
||||
${responselist1} create list ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
action-hijack
|
||||
[Arguments] ${actionCountList}
|
||||
${sessions} Set Variable ${actionCountList}[6][sessions]
|
||||
${responselist1} create list ${sessions}
|
||||
[Return] ${responselist1}
|
||||
|
||||
ProxyPolicytopHit-new
|
||||
# dashboard界面 安全策略各动作命中计数 packets bifang和bigData对比
|
||||
[Documentation]
|
||||
... 描述:Security-Action-packets
|
||||
... 参数:starttime(必传,开始时间紧)
|
||||
... limit(必传,限制条数)
|
||||
... endtime(必传,结束时间)
|
||||
... logType(必填,日志类型。)
|
||||
[Arguments] ${starttime} ${endtime} ${limit} ${name}
|
||||
${logType} Set Variable proxy_event_hits_log
|
||||
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&limit=${limit}
|
||||
${url1} Set Variable report/policyevent/hit/topn
|
||||
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
|
||||
${List1} Set Variable ${bfResponse['data']['list']}
|
||||
#新建DataSet
|
||||
#${name} Set Variable Report_Result-001
|
||||
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"proxy_event_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_policy_id"}],"queryColumnList":[{"name":"common_policy_id","expression":"","label":"Policy ID"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
|
||||
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
|
||||
${datasetId} Set Variable ${response}[data][list][0][id]
|
||||
#根据DataSet的id,新建Chart,Lien图形表
|
||||
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":10,"orderBy":"","orderDesc":"","drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Policy ID","width":20,"dataBindings":[{"dataType":"","dataBinding":"Policy ID","format":"Default","legend":"","name":"common_policy_id"}]},{"title":"sessions","width":20,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]}]}}
|
||||
#根据name查询出该Chart的id
|
||||
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
|
||||
${chartId} Set Variable ${response1}[data][list][0][id]
|
||||
#新建Report,时间计划为Today,图表引用Line。
|
||||
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
|
||||
#查询Report的id
|
||||
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
|
||||
${reportId} Set Variable ${response1}[data][list][0][jobId]
|
||||
#查询Report结果的状态,并判断状态结果,如果状态是执行成功,查看report结果内容
|
||||
FOR ${i} IN RANGE 50
|
||||
sleep 10
|
||||
#report执行状态查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
${status} Set Variable ${response1}[data][list][0][status]
|
||||
${resultId} Set Variable ${response1}[data][list][0][resultId]
|
||||
run keyword if "${status}"=="0" log non-execution
|
||||
... ELSE IF "${status}"=="1" log executing
|
||||
... ELSE IF "${status}"=="2" Exit For Loop
|
||||
... ELSE log Exec failure
|
||||
END
|
||||
#Report报表详情查询
|
||||
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
|
||||
#判断resultRows字段
|
||||
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
|
||||
${responselist} run keyword if '${resultRows}'=='0' SecurityEventpolicyidtopHit-new-if ELSE SecurityEventpolicyidtopHit-new-else ${reportId} ${resultId}
|
||||
${responselist1} run keyword if '${List1}'=='[]' SecurityEventpolicyidtopHit-new-if ELSE for ${List1}
|
||||
|
||||
${retourn} intersection ${responselist} ${responselist1}
|
||||
Should Be True "${retourn}"=="ture"
|
||||
|
||||
for
|
||||
[Arguments] ${List1}
|
||||
${list2} create list
|
||||
${list3} create list
|
||||
log ${List1}
|
||||
FOR ${j} IN @{List1}
|
||||
SecurityEventpolicyidtopHit-new-for ${j} ${list2} ${list3}
|
||||
END
|
||||
${responselist1} create list ${list2} ${list3}
|
||||
15
02-Keyword/tsg_bfapi/dashboard_keywords/list-intersection.py
Normal file
15
02-Keyword/tsg_bfapi/dashboard_keywords/list-intersection.py
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/user/bin/python
|
||||
#-*-coding:utf-8-*-
|
||||
|
||||
def intersection(a,b):
|
||||
c= 0
|
||||
for j in a:
|
||||
for i in j:
|
||||
if i in b:
|
||||
c= c+1
|
||||
d = len(b)*len(b[0])
|
||||
e = c/d
|
||||
if e >= 0.8 :
|
||||
return "ture"
|
||||
else:
|
||||
return "false"
|
||||
Reference in New Issue
Block a user