Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(readr)
- library(lubridate)
- importData_txt <- read_table2("vpnsessions.txt",
- col_names = FALSE, col_types = cols(X3 = col_date(format = "%Y-%m-%d"),
- X4 = col_time(format = "%H:%M"),
- X5 = col_time(format = "%H:%M")))
- View(importData_txt)
- cleanData <- importData_txt[ , c(1:5,7)]
- View(cleanData)
- # NOMEAR COLUNAS
- colnames(cleanData) <- c("Servidor",
- "ProtocoloVPN",
- "DataInicioSessao",
- "HoraInicioSessao",
- "HoraFimSessao",
- "acesso.d")
- View(cleanData)
- # ORDENAR POR DATA INICIO SESSAO
- # Funções
- # (1)
- concatenarDateHour <- function(dataAnoMesDia,horaMinutos){
- ## chamada => concatenarDateHour(datainicial$DataInicioSessao,horainicial)
- horaDoDia <- seconds_to_period(horaMinutos)
- dataConc = paste(dataAnoMesDia,
- sprintf('%02d:%02d:%02d', horaDoDia@hour, minute(horaDoDia), second(horaDoDia)),
- sep="T")
- dateFinal = as.POSIXlt(dataConc,format="%Y-%m-%dT%H:%M:%S")
- return(dateFinal)
- }
- ##Teste Funcional
- #datainicial= cleanData[1,3]
- #print(datainicial)
- #horainicial = cleanData[1,5]
- #print(horainicial)
- #a=concatenarDateHour(datainicial$DataInicioSessao,horainicial)
- #print(a)
- #------------------
- # adicionar coluna com data e hora de inicio
- #"2018-02-22 16:24:00 GMT"
- novaColuna<-.POSIXct(integer(nrow(cleanData)))
- for(i in 1:nrow(cleanData)){
- datainicial= cleanData[i,3]
- horainicial = cleanData[i,4]
- novaColuna[i] = concatenarDateHour(datainicial$DataInicioSessao,horainicial)
- }
- cleanData["data&horaInicio"]<-novaColuna
- cleanData_1<-cleanData[order(cleanData$`data&horaInicio`),]
- View(cleanData_1)
- # definir tabela
- # Servidor||ProtocoloVPN||acesso.i||acesso.f||acesso.d
- cleanData_1["acesso.i"]<-integer(nrow(cleanData_1))
- cleanData_1["acesso.f"]<-integer(nrow(cleanData_1))
- horaZero = cleanData_1$`data&horaInicio`[1]
- for(i in 1:nrow(cleanData_1)){
- tempoDecorrido = difftime(cleanData_1$`data&horaInicio`[i],horaZero,units="mins")
- cleanData_1$acesso.i[i] = tempoDecorrido
- cleanData_1$acesso.f[i] = cleanData_1$acesso.i[i]+cleanData_1$acesso.d[i]
- }
- finalData <- cleanData_1[ , c(1:2,8,9,6)] # Servidor||ProtocoloVPN||acesso.i||acesso.f||acesso.d
- View (finalData)
- vpnsessions<-finalData
- ##########
- # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- # F1 - Criar sub Listas...
- #...por servidor
- geraListaServidor <- function(finalData,servidor){
- lista = finalData [ which(finalData$Servidor==servidor),]
- return(lista)
- }
- #... por protocolo
- geraListaProtocolo <- function(finalData,protocolo){
- lista = finalData [ which(finalData$ProtocoloVPN==protocolo),]
- return(lista)
- }
- # F2 - Falhas
- eliminarFalhas <- function(finalData){
- lista = finalData[which(finalData$acesso.d>1),]
- return(lista)
- }
- identificarFalhas <- function(finalData){
- lista = finalData[which(finalData$acesso.d<=1),]
- return(lista)
- }
- # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ##########
- # LISTAS # (2)
- ##########_______________________________________________________
- # LISTAS de servidores --------------------------------------
- SERV_vsrv8 <- geraListaServidor(vpnsessions,"vsrv8")
- SERV_vsrv10 <- geraListaServidor(vpnsessions,"vsrv10")
- SERV_vsrv11 <- geraListaServidor(vpnsessions,"vsrv11")
- SERV_vsrv16 <- geraListaServidor(vpnsessions,"vsrv16")
- SERV_vsrv17 <- geraListaServidor(vpnsessions,"vsrv17")
- # LISTAS de protocolos -----------------------------------------
- PROT_PPTP <- geraListaProtocolo(vpnsessions,"PPTP")
- PROT_SSTP <- geraListaProtocolo(vpnsessions,"SSTP")
- PROT_SOFTETHER <- geraListaProtocolo(vpnsessions,"SOFTETHER")
- PROT_OPENVPN_L2 <- geraListaProtocolo(vpnsessions,"OPENVPN_L2")
- PROT_OPENVPN_L3 <- geraListaProtocolo(vpnsessions,"OPENVPN_L3")
- # LISTAS de protocolos por servidor ------------------------------
- # Servidor vsrv8
- vsrv8_PPTP <- geraListaProtocolo(SERV_vsrv8,"PPTP")
- vsrv8_SSTP <- geraListaProtocolo(SERV_vsrv8,"SSTP")
- vsrv8_SOFTETHER <- geraListaProtocolo(SERV_vsrv8,"SOFTETHER")
- vsrv8_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv8,"OPENVPN_L2")
- vsrv8_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv8,"OPENVPN_L3")
- # Servidor vsrv10
- vsrv10_PPTP <- geraListaProtocolo(SERV_vsrv10,"PPTP")
- vsrv10_SSTP <- geraListaProtocolo(SERV_vsrv10,"SSTP")
- vsrv10_SOFTETHER <- geraListaProtocolo(SERV_vsrv10,"SOFTETHER")
- vsrv10_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv10,"OPENVPN_L2")
- vsrv10_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv10,"OPENVPN_L3")
- # Servidor vsrv11
- vsrv11_PPTP <- geraListaProtocolo(SERV_vsrv11,"PPTP")
- vsrv11_SSTP <- geraListaProtocolo(SERV_vsrv11,"SSTP")
- vsrv11_SOFTETHER <- geraListaProtocolo(SERV_vsrv11,"SOFTETHER")
- vsrv11_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv11,"OPENVPN_L2")
- vsrv11_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv11,"OPENVPN_L3")
- # Servidor vsrv16
- vsrv16_PPTP <- geraListaProtocolo(SERV_vsrv16,"PPTP")
- vsrv16_SSTP <- geraListaProtocolo(SERV_vsrv16,"SSTP")
- vsrv16_SOFTETHER <- geraListaProtocolo(SERV_vsrv16,"SOFTETHER")
- vsrv16_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv16,"OPENVPN_L2")
- vsrv16_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv16,"OPENVPN_L3")
- # Servidor vsrv17
- vsrv17_PPTP <- geraListaProtocolo(SERV_vsrv17,"PPTP")
- vsrv17_SSTP <- geraListaProtocolo(SERV_vsrv17,"SSTP")
- vsrv17_SOFTETHER <- geraListaProtocolo(SERV_vsrv17,"SOFTETHER")
- vsrv17_OPENVPN_L2 <- geraListaProtocolo(SERV_vsrv17,"OPENVPN_L2")
- vsrv17_OPENVPN_L3 <- geraListaProtocolo(SERV_vsrv17,"OPENVPN_L3")
- #---------
- #RESOLUÇÃO (3)
- #---------
- ##########
- # PONTO UM
- ##########_______________________________________________________
- ##########
- #FUNÇÕES #
- ##########
- # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- # F1 - Medidas Localização(min,máx,media, desvio padrão)
- imprimirMedidasLocalizacao <- function(sourceData,legenda){
- maximo <- max(sourceData[,5])
- minimo <- min(sourceData[,5])
- media <- mean(sourceData[,5])
- desvioPadrao=sd(sourceData[,5])
- cat(" # ")
- cat(legenda)
- cat(" => ")
- cat(" * Mínimo: ",minimo,"min")
- cat(" * Máximo: ",maximo,"min")
- cat(" * Média: ",media,"min")
- cat(" * Desvio Padrão: ",desvioPadrao)
- }
- # F2 - Estimativa Falhas
- estimativaFalhas <- function(sourceData,legenda){
- nFalhas <- nrow(identificarFalhas(sourceData))
- tempoDeOperacao <- 0
- for(i in 1:nrow(sourceData)){
- tempoDeOperacao = tempoDeOperacao+sourceData[i,5]
- }
- taxaDeFalhas = nFalhas/(tempoDeOperacao/60)
- cat(legenda)
- cat(" => \n")
- cat (" * Nº de falhas: ",nFalhas,"\n")
- cat (" * Tempo Operação (horas): ",tempoDeOperacao,"\n")
- cat (" * Taxa Real de Falhas (nFalhas/Hora): ",taxaDeFalhas,"\n")
- }
- # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- #-------------
- # INDICADORES |
- #-------------
- # INDICADOR 1: Número de sessões simultâneas.
- # valor mínimo
- # valor máximo
- # valor médio
- # desvio padrão
- # outras formas de apresentação e organização dos dados
- # determinar uma estimativa da taxa de falhas.
- # INDICADOR 2: Duração das sessões (excluindo sessões classificadaa como falhas)
- # (ind2.1) valor mínimo | valor máximo | valor médio| desvio padrão
- #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv8),"SERV_vsrv8")
- #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv10),"SERV_vsrv10")
- #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv11),"SERV_vsrv11")
- #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv16),"SERV_vsrv16")
- #imprimirMedidasLocalizacao(eliminarFalhas(SERV_vsrv17),"SERV_vsrv17")
- # (.....)
- # (ind2.2) outras formas de apresentação e organização dos dados
- #boxplot(vpnsessions$Duracao ~ vpnsessions$Servidor,xlab="Protocolo VPN",ylim=c(0,200),ylab="Duracao da Ligacao (min)")
- #(.....)
- # (ind2.3) Determinar uma estimativa da taxa de falhas.
- #estimativaFalhas(vpnsessions,"Todos os servidores")
- #Servidores
- #estimativaFalhas(SERV_vsrv8,"SERV_vsrv8")
- #estimativaFalhas(SERV_vsrv10,"SERV_vsrv10")
- #estimativaFalhas(SERV_vsrv11,"SERV_vsrv11")
- #estimativaFalhas(SERV_vsrv16,"SERV_vsrv16")
- #estimativaFalhas(SERV_vsrv17,"SERV_vsrv17")
- # Protocolo
- #estimativaFalhas(PROT_PPTP,"PROT_PPTP")
- #estimativaFalhas(PROT_PPTP,"PROT_PPTP")
- #estimativaFalhas(PROT_SOFTETHER,"PROT_SOFTETHER")
- #estimativaFalhas(PROT_OPENVPN_L2,"PROT_OPENVPN_L2")
- #estimativaFalhas(PROT_OPENVPN_L3,"PROT_OPENVPN_L3")
- # (...........)
- # INDICADOR 3: Tempo entre falhas consecutivas num mesmo servidor.
- ##geraListaServidor <- function(sourceData,legenda){
- ##j=1
- cont=0
- j=1
- for(i in 0:nrow(finalData)){
- if(is.na(finalData$acesso.f))
- {
- print("xxx")
- }
- if(finalData$acesso.f[j] > finalData$acesso.i[i+1]){
- cont=cont+1
- }else{
- cat(j,"\n")
- j=j+1
- j=j+cont
- }
- }
- cat(cont)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement