This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
dongxiaoyan-tsg-autotest/02-Keyword/tsg_bfapi/dashboard_data_compare/PolicyActionHitStatistics.robot
2020-04-10 17:57:09 +08:00

246 lines
25 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*** Settings ***
Library Collections
Library RequestsLibrary
Library String
Resource ../../../03-Variable/Bifangapivariable.txt
Resource ForTwoKeywords.robot
*** Keywords ***
SecurityEventActionHit-bytes
# dashboard界面 安全策略各动作命中计数 bytes bifang和bigData对比
[Documentation]
... 描述Security-Action-bytes
... 参数timeNum(必传,查询的时间范围类型 1 当前时间前一小时 2 当前时间前一天 3 当前时间前一周)
... timeGranularity(必传,时间粒度 )
... limit(必传,限制条数)
... param(非必传参数数量为2位依次顺序为'startTime'、'endTime'自定义时两个参数必须都有如果没有就使用timeNum查询)
[Arguments] ${timeNum} ${timeGranularity} ${limit} @{param}
${length} Run Keyword If ${param}!=[] Get Length ${param}
... ELSE Set Variable ${0}
${startTime} ${endTime} Run Keyword If ${length}==${0} GetFormateTime ${timeNum}
... ELSE IF ${length}>${0} Set Variable ${param[0]} ${param[1]}
${logType} Set Variable security_event_hits_log
#${timeGranularity} Set Variable 300
#${limit} Set Variable 5
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} trafficBFRequest ${url1} ${data}
@{actionCountList} Set Variable ${bfResponse['data']['actionCount']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
${sql} Set Variable select sum(default_in_bytes+default_out_bytes) as default_bytes, sum(allow_in_bytes+allow_out_bytes) as allow_bytes, sum(deny_in_bytes+deny_out_bytes) as deny_bytes, sum(monitor_in_bytes+monitor_out_bytes) as monitor_bytes, sum(intercept_in_bytes+intercept_out_bytes) as intercept_bytes 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
@{list} Set Variable ${response['data']}
Run Keyword If ${actionCountList}!=[] and ${list}!=[] ForToSecurityActionBytes ${actionCountList} ${list[0]}
SecurityEventActionHit-packets
# dashboard界面 安全策略各动作命中计数 packets bifang和bigData对比
[Documentation]
... 描述Security-Action-packets
... 参数timeNum(必传,查询的时间范围类型 1 当前时间前一小时 2 当前时间前一天 3 当前时间前一周)
... timeGranularity(必传,时间粒度 )
... limit(必传,限制条数)
... param(非必传参数数量为2位依次顺序为'startTime'、'endTime'自定义时两个参数必须都有如果没有就使用timeNum查询)
[Arguments] ${timeNum} ${timeGranularity} ${limit} @{param}
${length} Run Keyword If ${param}!=[] Get Length ${param}
... ELSE Set Variable ${0}
${startTime} ${endTime} Run Keyword If ${length}==${0} GetFormateTime ${timeNum}
... ELSE IF ${length}>${0} Set Variable ${param[0]} ${param[1]}
${logType} Set Variable security_event_hits_log
#${timeGranularity} Set Variable 300
#${limit} Set Variable 5
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} trafficBFRequest ${url1} ${data}
@{actionCountList} Set Variable ${bfResponse['data']['actionCount']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
${sql} Set Variable select \ sum(default_in_packets+default_out_packets) as default_packets, sum(allow_in_packets+allow_out_packets) as allow_packets, sum(deny_in_packets+deny_out_packets) as deny_packets, sum(monitor_in_packets+monitor_out_packets) as monitor_packets, sum(intercept_in_packets+intercept_out_packets) as intercept_packets from traffic_metrics_log \ where \ \ __time >= '${startTime}' and __time < '${endTime}' 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
@{list} Set Variable ${response['data']}
Run Keyword If ${actionCountList}!=[] and ${list}!=[] ForToSecurityActionPackets ${actionCountList} ${list[0]}
SecurityEventActionHit-sessions
# dashboard界面 安全策略各动作命中计数 sessions bifang和bigData对比
[Documentation]
... 描述Security-Action-sessions
... 参数timeNum(必传,查询的时间范围类型 1 当前时间前一小时 2 当前时间前一天 3 当前时间前一周)
... timeGranularity(必传,时间粒度 )
... limit(必传,限制条数)
... param(非必传参数数量为2位依次顺序为'startTime'、'endTime'自定义时两个参数必须都有如果没有就使用timeNum查询)
[Arguments] ${timeNum} ${timeGranularity} ${limit} @{param}
${length} Run Keyword If ${param}!=[] Get Length ${param}
... ELSE Set Variable ${0}
${startTime} ${endTime} Run Keyword If ${length}==${0} GetFormateTime ${timeNum}
... ELSE IF ${length}>${0} Set Variable ${param[0]} ${param[1]}
${logType} Set Variable security_event_hits_log
#${timeGranularity} Set Variable 300
#${limit} Set Variable 5
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} trafficBFRequest ${url1} ${data}
@{actionCountList} Set Variable ${bfResponse['data']['actionCount']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
${sql} Set Variable select sum(default_conn_num) as default_sessions, sum(allow_conn_num) as allow_sessions, sum(deny_conn_num) as deny_sessions, sum(monitor_conn_num) as monitor_sessions, sum(intercept_conn_num) as intercept_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
@{list} Set Variable ${response['data']}
Run Keyword If ${actionCountList}!=[] and ${list}!=[] ForToSecurityActionSessions ${actionCountList} ${list[0]}
SecurityEventActionHit-thrend-bytes
# dashboard界面 安全策略各动作命中计数趋势 bytes bifang和bigData对比
[Documentation]
... 描述Security-Action-thrend-bytes
... 参数timeNum(必传,查询的时间范围类型 1 当前时间前一小时 2 当前时间前一天 3 当前时间前一周)
... timeGranularity(必传,时间粒度 )
... limit(必传,限制条数)
... param(非必传参数数量为2位依次顺序为'startTime'、'endTime'自定义时两个参数必须都有如果没有就使用timeNum查询)
[Arguments] ${timeNum} ${timeGranularity} ${limit} @{param}
${length} Run Keyword If ${param}!=[] Get Length ${param}
... ELSE Set Variable ${0}
${startTime} ${endTime} Run Keyword If ${length}==${0} GetFormateTime ${timeNum}
... ELSE IF ${length}>${0} Set Variable ${param[0]} ${param[1]}
${logType} Set Variable security_event_hits_log
#${timeGranularity} Set Variable 300
#${limit} Set Variable 5
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} trafficBFRequest ${url1} ${data}
@{actionTrendList} Set Variable ${bfResponse['data']['trendList']}
${type} Set Variable bytes
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, 'default_bytes' as type, \ sum(default_in_bytes+default_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'allow_bytes' as type, \ sum(allow_in_bytes+allow_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'deny_bytes' as type, \ sum(deny_in_bytes+deny_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'monitor_bytes' as type, \ sum(monitor_in_bytes+monitor_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'intercept_bytes' as type, \ sum(intercept_in_bytes+intercept_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
@{list} Set Variable ${response['data']}
#${types} Set Variable bytes
Run Keyword If ${actionTrendList}!=[] and ${list}!=[] ForToSecurityAtionTrendOne ${actionTrendList} ${type} @{list}
SecurityEventActionHit-thrend-packets
# dashboard界面 安全策略各动作命中计数趋势 packets bifang和bigData对比
[Documentation]
... 描述Security-Action-thrend-packets
... 参数timeNum(必传,查询的时间范围类型 1 当前时间前一小时 2 当前时间前一天 3 当前时间前一周)
... timeGranularity(必传时间粒度300s )
... limit(必传,限制条数)
... param(非必传参数数量为2位依次顺序为'startTime'、'endTime'自定义时两个参数必须都有如果没有就使用timeNum查询)
[Arguments] ${timeNum} ${timeGranularity} ${limit} @{param}
${length} Run Keyword If ${param}!=[] Get Length ${param}
... ELSE Set Variable ${0}
${startTime} ${endTime} Run Keyword If ${length}==${0} GetFormateTime ${timeNum}
... ELSE IF ${length}>${0} Set Variable ${param[0]} ${param[1]}
${logType} Set Variable security_event_hits_log
#${timeGranularity} Set Variable 300
#${limit} Set Variable 5
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} trafficBFRequest ${url1} ${data}
@{actionTrendList} Set Variable ${bfResponse['data']['trendList']}
${type} Set Variable packets
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, 'default_packets' as type, \ sum(default_in_packets+default_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'allow_packets' as type, sum(allow_in_packets+allow_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'deny_packets' as type, sum(deny_in_packets+deny_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'monitor_packets' as type, sum(monitor_in_packets+monitor_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'intercept_packets' as type, sum(intercept_in_packets+intercept_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
@{list} Set Variable ${response['data']}
#${types} Set Variable packets
Run Keyword If ${actionTrendList}!=[] and ${list}!=[] ForToSecurityAtionTrendOne ${actionTrendList} ${type} @{list}
SecurityEventActionHit-thrend-sessions
# dashboard界面 安全策略各动作命中计数趋势 sessions bifang和bigData对比
[Documentation]
... 描述Security-Action-thrend-packets
... 参数timeNum(必传,查询的时间范围类型 1 当前时间前一小时 2 当前时间前一天 3 当前时间前一周)
... timeGranularity(必传时间粒度300s )
... limit(必传,限制条数)
... param(非必传参数数量为2位依次顺序为'startTime'、'endTime'自定义时两个参数必须都有如果没有就使用timeNum查询)
[Arguments] ${timeNum} ${timeGranularity} ${limit} @{param}
${length} Run Keyword If ${param}!=[] Get Length ${param}
... ELSE Set Variable ${0}
${startTime} ${endTime} Run Keyword If ${length}==${0} GetFormateTime ${timeNum}
... ELSE IF ${length}>${0} Set Variable ${param[0]} ${param[1]}
${logType} Set Variable security_event_hits_log
#${timeGranularity} Set Variable 300
#${limit} Set Variable 5
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} trafficBFRequest ${url1} ${data}
@{actionTrendList} Set Variable ${bfResponse['data']['trendList']}
${type} Set Variable sessions
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, 'default_conn_num' as type, sum(default_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'allow_conn_num' as type, sum(allow_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'deny_conn_num' as type, sum(deny_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'monitor_conn_num' as type, sum(monitor_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}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'intercept_conn_num' as type, sum(intercept_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
@{list} Set Variable ${response['data']}
#${types} Set Variable sessions
Run Keyword If ${actionTrendList}!=[] and ${list}!=[] ForToSecurityAtionTrendOne ${actionTrendList} ${type} @{list}
ProxyEventActionHit-sessions
# dashboard界面 代理策略各动作命中计数 sessions bifang和bigData对比
[Documentation]
... 描述Proxy-Action-sessions
... 参数timeNum(必传,查询的时间范围类型 1 当前时间前一小时 2 当前时间前一天 3 当前时间前一周)
... timeGranularity(必传时间粒度300s )
... limit(必传,限制条数)
... param(非必传参数数量为2位依次顺序为'startTime'、'endTime'自定义时两个参数必须都有如果没有就使用timeNum查询)
[Arguments] ${timeNum} ${timeGranularity} ${limit} @{param}
${length} Run Keyword If ${param}!=[] Get Length ${param}
... ELSE Set Variable ${0}
${startTime} ${endTime} Run Keyword If ${length}==${0} GetFormateTime ${timeNum}
... ELSE IF ${length}>${0} Set Variable ${param[0]} ${param[1]}
${logType} Set Variable proxy_event_hits_log
#${timeGranularity} Set Variable 300
#${limit} Set Variable 5
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} trafficBFRequest ${url1} ${data}
@{actionCountList} Set Variable ${bfResponse['data']['actionCount']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
${sql} Set Variable select sub_action as action, sum(hits) as hits from proxy_event_hits_log where \ __time >= '${startTime}' and __time < '${endTime}' \ group by \ sub_action
${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
@{list} Set Variable ${response['data']}
Run Keyword If ${actionCountList}!=[] and ${list}!=[] ForToProxyAtionSession ${actionCountList} ${list}
ProxyEventActionHit-trend-sessions
# dashboard界面 代理策略各动作命中计数趋势 sessions bifang和bigData对比
[Documentation]
... 描述Proxy-Action-trend-sessions
... 参数timeNum(必传,查询的时间范围类型 1 当前时间前一小时 2 当前时间前一天 3 当前时间前一周)
... timeGranularity(必传时间粒度300s )
... limit(必传,限制条数)
... param(非必传参数数量为2位依次顺序为'startTime'、'endTime'自定义时两个参数必须都有如果没有就使用timeNum查询)
[Arguments] ${timeNum} ${timeGranularity} ${limit} @{param}
${length} Run Keyword If ${param}!=[] Get Length ${param}
... ELSE Set Variable ${0}
${startTime} ${endTime} Run Keyword If ${length}==${0} GetFormateTime ${timeNum}
... ELSE IF ${length}>${0} Set Variable ${param[0]} ${param[1]}
${logType} Set Variable proxy_event_hits_log
#${timeGranularity} Set Variable 300
#${limit} Set Variable 5
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} trafficBFRequest ${url1} ${data}
@{trendList} Set Variable ${bfResponse['data']['trendList']}
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, sub_action \ as action, sum(hits) as hits from proxy_event_hits_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'), sub_action \ 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
${list} Set Variable ${response['data']}
Run Keyword If ${trendList}!=[] and ${list}!=[] ForToProxyAtionTrendSession ${trendList} ${list}