daily pastebin goal
17%
SHARE
TWEET

Untitled

a guest May 16th, 2018 101 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. library(readr)
  2. library(lubridate)
  3.  
  4. importData_txt <- read_table2("vpnsessions.txt",
  5.                               col_names = FALSE, col_types = cols(X3 = col_date(format = "%Y-%m-%d"),
  6.                                                                   X4 = col_time(format = "%H:%M"),
  7.                                                                   X5 = col_time(format = "%H:%M")))
  8. View(importData_txt)
  9.  
  10. cleanData <- importData_txt[ , c(1:5,7)]
  11. View(cleanData)
  12.  
  13. # NOMEAR COLUNAS
  14. colnames(cleanData) <- c("Servidor",
  15.                          "ProtocoloVPN",
  16.                          "DataInicioSessao",
  17.                          "HoraInicioSessao",
  18.                          "HoraFimSessao",
  19.                          "acesso.d")
  20.  
  21. View(cleanData)
  22. # ORDENAR POR DATA INICIO SESSAO
  23.  
  24.  
  25.  
  26. # Funções
  27. # (1)
  28. concatenarDateHour <- function(dataAnoMesDia,horaMinutos){
  29.   ## chamada => concatenarDateHour(datainicial$DataInicioSessao,horainicial)
  30.   horaDoDia <- seconds_to_period(horaMinutos)
  31.   dataConc = paste(dataAnoMesDia,
  32.                    sprintf('%02d:%02d:%02d', horaDoDia@hour, minute(horaDoDia), second(horaDoDia)),
  33.                    sep="T")
  34.   dateFinal = as.POSIXlt(dataConc,format="%Y-%m-%dT%H:%M:%S")
  35.   return(dateFinal)
  36. }
  37. ##Teste Funcional
  38. #datainicial= cleanData[1,3]
  39. #print(datainicial)
  40. #horainicial = cleanData[1,5]
  41. #print(horainicial)
  42. #a=concatenarDateHour(datainicial$DataInicioSessao,horainicial)
  43. #print(a)
  44. #------------------
  45. # adicionar coluna com data e hora de inicio
  46. #"2018-02-22 16:24:00 GMT"
  47. novaColuna<-.POSIXct(integer(nrow(cleanData)))
  48.  
  49. for(i in 1:nrow(cleanData)){
  50.   datainicial= cleanData[i,3]
  51.   horainicial = cleanData[i,4]
  52.   novaColuna[i] = concatenarDateHour(datainicial$DataInicioSessao,horainicial)
  53. }
  54.  
  55. cleanData["data&horaInicio"]<-novaColuna
  56. cleanData_1<-cleanData[order(cleanData$`data&horaInicio`),]
  57. View(cleanData_1)
  58.  
  59. # definir tabela
  60. # Servidor||ProtocoloVPN||acesso.i||acesso.f||acesso.d
  61.  
  62. cleanData_1["acesso.i"]<-integer(nrow(cleanData_1))
  63. cleanData_1["acesso.f"]<-integer(nrow(cleanData_1))
  64. horaZero = cleanData_1$`data&horaInicio`[1]
  65. for(i in 1:nrow(cleanData_1)){
  66.   tempoDecorrido = difftime(cleanData_1$`data&horaInicio`[i],horaZero,units="mins")
  67.   cleanData_1$acesso.i[i] = tempoDecorrido
  68.   cleanData_1$acesso.f[i] = cleanData_1$acesso.i[i]+cleanData_1$acesso.d[i]
  69. }
  70.  
  71. finalData <- cleanData_1[ , c(1:2,8,9,6)] # Servidor||ProtocoloVPN||acesso.i||acesso.f||acesso.d
  72. View (finalData)
  73. vpnsessions<-finalData
  74. ##########
  75. # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  76. #   F1 - Criar sub Listas...
  77. #...por servidor
  78. geraListaServidor <- function(finalData,servidor){
  79.   lista = finalData [ which(finalData$Servidor==servidor),]
  80.   return(lista)
  81. }
  82. #... por protocolo
  83. geraListaProtocolo <- function(finalData,protocolo){
  84.   lista = finalData [ which(finalData$ProtocoloVPN==protocolo),]
  85.   return(lista)
  86. }
  87.  
  88. #   F2 - Falhas
  89. eliminarFalhas <- function(finalData){
  90.   lista = finalData[which(finalData$acesso.d>1),]
  91.   return(lista)
  92. }
  93.  
  94. identificarFalhas <- function(finalData){
  95.   lista = finalData[which(finalData$acesso.d<=1),]
  96.   return(lista)
  97. }
  98. # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  99. # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  100.  
  101. ##########
  102. # LISTAS # (2)
  103. ##########_______________________________________________________
  104.  
  105. # LISTAS de servidores --------------------------------------
  106. SERV_vsrv8 <- geraListaServidor(vpnsessions,"vsrv8")
  107. SERV_vsrv10 <- geraListaServidor(vpnsessions,"vsrv10")
  108. SERV_vsrv11 <- geraListaServidor(vpnsessions,"vsrv11")
  109. SERV_vsrv16 <- geraListaServidor(vpnsessions,"vsrv16")
  110. SERV_vsrv17 <- geraListaServidor(vpnsessions,"vsrv17")
  111.  
  112. # LISTAS de protocolos -----------------------------------------
  113. PROT_PPTP <- geraListaProtocolo(vpnsessions,"PPTP")
  114. PROT_SSTP <- geraListaProtocolo(vpnsessions,"SSTP")
  115. PROT_SOFTETHER <- geraListaProtocolo(vpnsessions,"SOFTETHER")
  116. PROT_OPENVPN_L2 <- geraListaProtocolo(vpnsessions,"OPENVPN_L2")
  117. PROT_OPENVPN_L3 <- geraListaProtocolo(vpnsessions,"OPENVPN_L3")
  118.  
  119. # LISTAS de protocolos por servidor ------------------------------
  120. # Servidor vsrv8
  121. vsrv8_PPTP <- geraListaProtocolo(SERV_vsrv8,"PPTP")
  122. vsrv8_SSTP <- geraListaProtocolo(SERV_vsrv8,"SSTP")
  123. vsrv8_SOFTETHER <- geraListaProtocolo(SERV_vsrv8,"SOFTETHER")
  124. vsrv8_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv8,"OPENVPN_L2")
  125. vsrv8_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv8,"OPENVPN_L3")
  126. # Servidor vsrv10
  127. vsrv10_PPTP <- geraListaProtocolo(SERV_vsrv10,"PPTP")
  128. vsrv10_SSTP <- geraListaProtocolo(SERV_vsrv10,"SSTP")
  129. vsrv10_SOFTETHER <- geraListaProtocolo(SERV_vsrv10,"SOFTETHER")
  130. vsrv10_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv10,"OPENVPN_L2")
  131. vsrv10_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv10,"OPENVPN_L3")
  132. # Servidor vsrv11
  133. vsrv11_PPTP <- geraListaProtocolo(SERV_vsrv11,"PPTP")
  134. vsrv11_SSTP <- geraListaProtocolo(SERV_vsrv11,"SSTP")
  135. vsrv11_SOFTETHER <- geraListaProtocolo(SERV_vsrv11,"SOFTETHER")
  136. vsrv11_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv11,"OPENVPN_L2")
  137. vsrv11_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv11,"OPENVPN_L3")
  138. # Servidor vsrv16
  139. vsrv16_PPTP <- geraListaProtocolo(SERV_vsrv16,"PPTP")
  140. vsrv16_SSTP <- geraListaProtocolo(SERV_vsrv16,"SSTP")
  141. vsrv16_SOFTETHER <- geraListaProtocolo(SERV_vsrv16,"SOFTETHER")
  142. vsrv16_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv16,"OPENVPN_L2")
  143. vsrv16_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv16,"OPENVPN_L3")
  144. # Servidor vsrv17
  145. vsrv17_PPTP <- geraListaProtocolo(SERV_vsrv17,"PPTP")
  146. vsrv17_SSTP <- geraListaProtocolo(SERV_vsrv17,"SSTP")
  147. vsrv17_SOFTETHER <- geraListaProtocolo(SERV_vsrv17,"SOFTETHER")
  148. vsrv17_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv17,"OPENVPN_L2")
  149. vsrv17_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv17,"OPENVPN_L3")
  150. #---------
  151. #RESOLUÇÃO (3)
  152. #---------
  153. ##########
  154. # PONTO UM
  155. ##########_______________________________________________________
  156.  
  157. ##########
  158. #FUNÇÕES #
  159. ##########
  160. # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  161. #   F1 - Medidas Localização(min,máx,media, desvio padrão)
  162. imprimirMedidasLocalizacao <- function(sourceData,legenda){
  163.  
  164.   maximo <- max(sourceData[,5])
  165.   minimo <- min(sourceData[,5])
  166.   media <- mean(sourceData[,5])
  167.   desvioPadrao=sd(sourceData[,5])
  168.  
  169.   cat(" # ")
  170.   cat(legenda)
  171.   cat(" => ")
  172.   cat("   * Mínimo: ",minimo,"min")
  173.   cat("   * Máximo: ",maximo,"min")
  174.   cat("   * Média: ",media,"min")
  175.   cat("   * Desvio Padrão: ",desvioPadrao)
  176. }
  177.  
  178. #     F2 - Estimativa Falhas
  179. estimativaFalhas <- function(sourceData,legenda){
  180.   nFalhas <- nrow(identificarFalhas(sourceData))
  181.   tempoDeOperacao <- 0
  182.  
  183.   for(i in 1:nrow(sourceData)){
  184.     tempoDeOperacao = tempoDeOperacao+sourceData[i,5]
  185.   }
  186.   taxaDeFalhas = nFalhas/(tempoDeOperacao/60)
  187.   cat(legenda)
  188.   cat(" => \n")
  189.   cat (" * Nº de falhas: ",nFalhas,"\n")
  190.   cat (" * Tempo Operação (horas): ",tempoDeOperacao,"\n")
  191.   cat (" * Taxa Real de Falhas (nFalhas/Hora): ",taxaDeFalhas,"\n")
  192. }
  193.  
  194. # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  195. #-------------
  196. # INDICADORES |
  197. #-------------
  198. # INDICADOR 1: Número de sessões simultâneas.
  199. # valor mínimo
  200. # valor máximo
  201. # valor médio
  202. # desvio padrão
  203. # outras formas de apresentação e organização dos dados
  204. # determinar uma estimativa da taxa de falhas.
  205.  
  206. # INDICADOR 2: Duração das sessões (excluindo sessões classificadaa como falhas)
  207.  
  208. #       (ind2.1) valor mínimo | valor máximo | valor médio| desvio padrão
  209.  
  210.  
  211.  
  212. #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv8),"SERV_vsrv8")
  213. #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv10),"SERV_vsrv10")
  214. #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv11),"SERV_vsrv11")
  215. #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv16),"SERV_vsrv16")
  216. #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv17),"SERV_vsrv17")
  217. # (.....)
  218.  
  219.  
  220. #      (ind2.2) outras formas de apresentação e organização dos dados
  221. #boxplot(vpnsessions$Duracao ~ vpnsessions$Servidor,xlab="Protocolo VPN",ylim=c(0,200),ylab="Duracao da Ligacao (min)")
  222. #(.....)
  223.  
  224. #      (ind2.3) Determinar uma estimativa da taxa de falhas.
  225. #estimativaFalhas(vpnsessions,"Todos os servidores")
  226. #Servidores
  227. #estimativaFalhas(SERV_vsrv8,"SERV_vsrv8")
  228. #estimativaFalhas(SERV_vsrv10,"SERV_vsrv10")
  229. #estimativaFalhas(SERV_vsrv11,"SERV_vsrv11")
  230. #estimativaFalhas(SERV_vsrv16,"SERV_vsrv16")
  231. #estimativaFalhas(SERV_vsrv17,"SERV_vsrv17")
  232.  
  233. # Protocolo
  234. #estimativaFalhas(PROT_PPTP,"PROT_PPTP")
  235. #estimativaFalhas(PROT_PPTP,"PROT_PPTP")
  236. #estimativaFalhas(PROT_SOFTETHER,"PROT_SOFTETHER")
  237. #estimativaFalhas(PROT_OPENVPN_L2,"PROT_OPENVPN_L2")
  238. #estimativaFalhas(PROT_OPENVPN_L3,"PROT_OPENVPN_L3")
  239. # (...........)
  240.  
  241. # INDICADOR 3: Tempo entre falhas consecutivas num mesmo servidor.
  242.  
  243.  
  244. ##geraListaServidor <- function(sourceData,legenda){
  245.  
  246.   ##j=1
  247.  
  248. cont=0
  249. j=1
  250.  
  251. for(i in 0:nrow(finalData)){
  252.  
  253.     if(is.na(finalData$acesso.f))
  254.     {
  255.       print("xxx")
  256.     }
  257.  
  258.  
  259.     if(finalData$acesso.f[j] > finalData$acesso.i[i+1]){
  260.      
  261.       cont=cont+1
  262.      
  263.     }else{
  264.       cat(j,"\n")
  265.       j=j+1
  266.       j=j+cont
  267.     }
  268.  
  269.    
  270. }
  271.  
  272. cat(cont)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top