*** Settings *** Test Teardown TeardownDelete ${reportId} ${report_url} ${chartId} ${chart_url} ${datasetId} ${dataset_url} ${resultId} ${result_url} Force Tags tsg_bf_api chartlibrary_create report 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 *** Variables *** ${dataset_url} /${version}/report/dataset ${datasetId} ${EMPTY} ${reportId} ${EMPTY} ${report_url} /${version}/report/offlinejob ${chartId} ${EMPTY} ${chart_url} /${version}/report/chart ${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} ${2} ${5} str2sec ${endtime} log ${4} log ${5} ${6} evaluate (int(${5})-int(${4}))*86400 ${7} evaluate int(${6})+int(${2}) ${3} evaluate int(${7})-int(${1}) log ${3} [Return] ${3} Dashboard-Traffic-new # Traffics-带宽统计 统计类型:总:bytes packets sessions bifang和report对比 [Documentation] ... 描述:Traffic-Bytes统计 ... 参数:starttime(必传,开始时间紧) ... endtime(必传,结束时间 ... 返回:对比结果 [Arguments] ${starttime} ${endtime} ${name} ${data} Set Variable startTime=${startTime}&endTime=${endTime} ${url1} Set Variable report/traffic/statisticsbyunit ${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data} ${trafficpackets} Set Variable ${bfResponse['data']['trafficTotalPackets']} ${trafficbytes} Set Variable ${bfResponse['data']['trafficTotalBytes']} ${trafficsession} Set Variable ${bfResponse['data']['sessions']} #新建DataSet #${name} Set Variable Report_Result-001 BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_recv_time"}],"queryColumnList":[{"name":"common_recv_time","expression":"","label":"Receive Time"},{"name":"common_s2c_pkt_num,common_c2s_pkt_num","expression":"sum","label":"Packets Received+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_byte_num,common_c2s_byte_num","expression":"sum","label":"Bytes Received+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_log_id","expression":"count","label":"sessions","expressionList":[]}],"filterConditionList":[],"havingConditionList":[]}} #根据name查询出该Dataset的id ${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":"line","dataTop":0,"orderBy":"","orderDesc":0,"drilldownTop":0,"includeOther":false,"timeline":{"dataBinding":"Receive Time","label":"","format":"Time"},"line":[{"dataBinding":"Packets Received+Packets Sent","type":"Line Up","format":"Default","legend":"Packets Received+Packets Sent"},{"dataBinding":"Bytes Received+Bytes Sent","type":"Line Up","format":"Default","legend":"Bytes Received+Bytes Sent"},{"dataBinding":"sessions","type":"Line Up","format":"Default","legend":"sessions"}],"groupBy":null}} #根据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":1,"rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":5,"timeUnit":"minute","disabled":false}],"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} resultId=${resultId}&jobId=${reportId} ${startTime1} Set Variable ${response1}[data][list][0][startTime] ${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][total_bytes_transferred] #${Time-granularity} Time-granularity ${starttime} ${endtime} ${packets} Set Variable ${response2}[data][list][0][total_packets_transferred] ${number} evaluate (int(${sessions})-int(${trafficsession}))/int(${sessions}) ${number1} evaluate (int(${bytes})-int(${trafficbytes}))/int(${bytes}) ${number2} evaluate (int(${packets})-int(${trafficpackets}))/int(${packets}) Should Be True ${number}<=${contrast} Should Be True ${number1}<=${contrast} Should Be True ${number2}<=${contrast} [Return] OK SessionStatistics-NewLive-new # dashboard界面新建和活跃连接数统计 bifang和bigData对比 [Documentation] ... 描述:Session-NewLive统计(新建和存活的链接数) ... 参数:starttime(必传,开始时间紧) ... endtime(必传,结束时间 ... 返回:对比结果 [Arguments] ${starttime} ${endtime} ${name} ${data} Set Variable startTime=${startTime}&endTime=${endTime} ${url1} Set Variable report/traffic/sessions/statisticsbytype ${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data} ${newCount} Set Variable ${bfResponse['data']['newCount']} ${liveCount} Set Variable ${bfResponse['data']['liveCount']} #新建DataSet #${name} Set Variable Report_Result-001 BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_recv_time"}],"queryColumnList":[{"name":"common_recv_time","expression":"","label":"Receive Time"},{"name":"common_s2c_pkt_num,common_c2s_pkt_num","expression":"sum","label":"Packets Received+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_byte_num,common_c2s_byte_num","expression":"sum","label":"Bytes Received+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_log_id","expression":"count","label":"sessions","expressionList":[]}],"filterConditionList":[],"havingConditionList":[]}} #根据name查询出该Dataset的id ${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":"line","dataTop":0,"orderBy":"","orderDesc":0,"drilldownTop":0,"includeOther":false,"timeline":{"dataBinding":"Receive Time","label":"","format":"Time"},"line":[{"dataBinding":"Packets Received+Packets Sent","type":"Line Up","format":"Default","legend":"Packets Received+Packets Sent"},{"dataBinding":"Bytes Received+Bytes Sent","type":"Line Up","format":"Default","legend":"Bytes Received+Bytes Sent"},{"dataBinding":"sessions","type":"Line Up","format":"Default","legend":"sessions"}],"groupBy":null}} #根据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":1,"rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":5,"timeUnit":"minute","disabled":false}],"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} resultId=${resultId}&jobId=${reportId} log 11111111111111${response1}[data][list][0] ${startTime1} Set Variable ${response1}[data][list][0][startTime] ${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] ${number} evaluate (int(${sessions})-int(${newCount}))/int(${sessions}) Should Be True ${number}<=${contrast} [Return] OK SecurityEventActionHit-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 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} 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 ${list2} create list ${list3} create list ${list4} create list ${list5} create list ${list6} create list ${list7} create list ${list8} create list ${list9} create list ${responselist} create list {list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9} [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] ... 描述: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/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" SecurityEventpolicyidtopHit-new # dashboard界面 安全策略各动作命中计数 bifang和report对比 [Documentation] ... 描述:Security-Action-packets ... 参数:starttime(必传,开始时间紧) ... 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 ${list2} create list ${list3} create list ${responselist} create list ${list2} ${list3} [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] ... 描述: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/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" DomainsTopN-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/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}