Você está na página 1de 26

Trabalho de Conclusão de Curso apresentado para obtenção do título

de especialista em Data Science e Analytics – 2022

Detecção de acesso robotizado em ambiente Mainframe através análise de


agrupamento com registros de SMF

Renato Santos Barbosa¹*; Gabrielle Maria Romeiro Lombardi2


1 Analista de Suporte Técnico. Rua João de Castro Fragoso, 80 – Capela do Socorro; 04766-080 São Paulo,
São Paulo, Brasil
2 Pecege. Doutora em Genética e Melhoramento de Plantas. Rua Alexandre Herculano, 120 – Vila Monteiro;

13418-445 Piracicaba, São Paulo, Brasil


*autor correspondente: mceuphor@hotmail.com

1
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Detecção de acesso robotizado em ambiente Mainframe através análise de


agrupamento com registros de SMF

Resumo

O mundo coorporativo, impulsionado por processos de transformação digital,


constantemente busca formas de automatizar suas atividades e obter ganho de eficiência.
Tecnologia de automação, como o Hyperautomation, faz uso de inteligência artificial e
aprendizado de máquina, e se tornou tendência estratégica. Neste sentido, é presumível que,
em algum momento, alguns agentes implementam a automatização integrada à sistemas não
projetados para atender essa finalidade e, sob certas circunstâncias, isto pode gerar
degradação de performance e de recursos de máquinas, especialmente em ambiente
Mainframe, onde os picos de consumo de CPU implicam diretamente na elevação dos custos
econômicos dessa plataforma. Assim, este trabalho busca diagnosticar a presença de acesso
automatizado em perfis de transações de sistemas no ambiente Mainframe a partir de análise
de registros SMF do monitor de transação CICS. Os registros SMF foram extraídos,
convertidos e armazenados em banco de dados relacional e, posteriormente, carregados em
dataframes para manipulação em linguagem R. A análise de agrupamento, com clusters
hierárquicos e não hierárquicos, foi usada na avaliação do problema e a preservação de
outliers foi essencial para a formação dos grupos. Na etapa final foi realizada a comparação
dos resultados obtidos, e apesar de inconclusivo, verificou-se que dois casos reais constavam
entre os resultados. Em razão disso, entende-se que o uso de técnicas de análise de
agrupamento se mostrou relevante ao selecionar casos suspeitos de acesso robotizado e
contribuindo com a redução e priorização de casos a analisar.
Palavras-chave: transformação digital; cluster hierárquico; cluster não hierárquico; outliers;
transações.

Introdução

As empresas estão em constante busca de crescimento e aumento de produtividade


e para isso seguem acelerando seus processos de transformação digital. Rogers (2016)
afirma que as regras de negócios mudaram e que em todos os setores de atividade os
modelos e processos de negócios estão sendo transformados pela difusão de novas
tecnologias digitais. Ainda para Rogers (2016), as tecnologias digitais transformam a maneira
como a competição é encarada, como os dados passam a ser considerados, como as
empresas inovam. Elas também mudaram a maneira como nos conectamos aos clientes,
além de que nos forçam a pensar em formas diferentes de compreender e criar valor para
eles.
Em um cenário cada vez mais integrado, competitivo e inovador é esperado que o
mundo corporativo esteja buscando novas maneiras de automatizar tarefas e transformar
dados em conhecimento para aumento de eficiência. A nível de software para automação de
atividades e com capacidade de acesso remoto se observa uma evolução nas técnicas. Uma
das mais conhecidas é o Web Scraping, prática de coletar dados através de programa
automatizado que consulta servidor web, sem interagir com Application Programming
Interface [API], requisitando dados e os preparando para extrair as informações necessárias

2
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

(Mitchell, 2019). API é um elemento que surgiu como forma de integrar serviços de vários
softwares, promovendo a ligação entre dois elementos de software que não poderiam ser
conectados diretamente sem ela (Padilha et al., 2022).
Em um outro nível de sofisticação há o Robotic Process Automation [RPA]. O RPA
permite que robôs de software executem tarefas em um computador como um humano faria,
destacando-se na automação de tarefas manuais e repetitivas. O trabalho diário de alguém
clicando em telas de computador, inserindo dados e enviando e-mails são exemplos de ações
que o RPA ajuda a fazer (Mullakara e Asokan, 2020). Ao se referir a RPA, Lacity et al. (2015)
esclarece que não se trata tecnologias como scripts de desktop que auxiliam agentes
humanos, mas sim de automação de software que substitui parte ou todo o trabalho
anteriormente realizado por pessoas.
Como se não bastasse, a tecnologia evoluiu para grau ainda mais sofisticado.
Segundo a empresa de pesquisa Gartner, uma das principais tendências estratégicas de
tecnologia previstas para 2022 é o Hyperautomation, uma abordagem usada para identificar,
verificar e automatizar rapidamente o maior número possível de processos de negócios e de
TI, envolvendo o uso orquestrado de várias tecnologias, ferramentas ou plataformas, tais
como RPA, Artificial intelligence [AI] e Machine learning (Gartner, 2022).
Bornet et al. (2020) informa que o termo Hyperautomation também é chamado de
Intelligent Process Automation ou Intelligent Automation [IA], uma designação oficialmente
estabelecida em 2017 pelo Institute of Electrical and Electronics Engineers [IEEE]. Eles
também descrevem que IA se concentra em automatizar o trabalho feito por trabalhadores
que empregam o conhecimento humano em suas atividades. A IA visa criar programas de
automação, trabalhadores digitais, para imitar as ações de profissionais, tal como
programadores, físicos, cientistas, farmacêuticos e outros.
Pressupõe-se que todas essas tecnologias de automação configuradas geram grande
valor para o negócio de quem as contrata e implementa para atuar integradas à arquitetura
de software tanto em domínio interno quanto junto a serviços de sistemas de outras empresas.
Os sistemas externos para trocas de dados são acessados remotamente através da internet
e geralmente estão preparados para troca de dados, inclusive de forma massiva, através de
mecanismos de API, servidores de arquivos, sistemas de mensageria, dentre outros. No
entanto, é previsível que com a capacidade dessas soluções de automação, em algum
momento, queira-se construir integração com sistemas que não foram projetados para atender
demasiada demanda, em especial sistemas online web. Estes quando submetidos a acesso
massivo podem sofrer instabilidade e problema para manter a qualidade do serviço prestado.
Ademais o acesso aos sistemas web das companhias normalmente são protegidos
por módulo de autenticação que muitas vezes atuam em conjunto com outras medidas de

3
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

segurança, como o Completely Automated Public Turing test to tell Computers and Humans
Apart [CAPTCHA] ou o reCAPTCHA, cujo propósito é mitigar o acesso automatizado através
mecanismos que o diferenciam do acesso feito por humanos (Google, 2022). Os sistemas
web em si são projetados com diversos campos para o preenchimento e envio de dados, e a
apresentação de resultados, mensagens ou relatórios. Estas aplicações armazenam e
recuperam dados mantidos em bancos de dados, e no meio do percurso há tantos outros
softwares e equipamentos garantindo a comunicação e segurança.
O objetivo deste trabalho é diagnosticar a presença de acesso automatizado em perfis
de transações de sistemas no ambiente Mainframe a partir de análise de registros System
Management Facilities [SMF] do monitor de transação Customer Information Control System
[CICS].

Material e Métodos

A partir desta visão geral, este trabalho foi realizado com dados de uma companhia
brasileira do setor de TI que notou ao longo dos últimos anos o crescimento de acessos
automatizados a seus sistemas, ao qual chamam de acesso robotizado.
Através do seu ambiente computacional Mainframe, também conhecido como
plataforma alta ou grande porte, que tem grande capacidade de aferição, observou-se que
houve mudança na carga de trabalho e aumento do consumo de CPU. Inspeções realizadas
outrora identificaram que acessos robotizados produzem um padrão composto de acessos
repetitivos e em grande frequência e, consequentemente, provocam degradação de
performance dos sistemas e reflexos ao ambiente.
Tal situação, além dos problemas tecnológicos, implica também em desafio financeiro
porque o consumo de CPU é uma variável importante nos custos do ambiente Mainframe.
Mainframe é um computador geralmente projetado para propósitos de negócios e ideal para
gerenciar transações em escala. Ele apresenta grande recurso de I/O e geralmente lida com
operações de missão crítica (Taulli, 2022).
No centro de dados da empresa o Mainframe está integrado aos demais servidores de
ambiente distribuído e Big Data e as transações mencionadas são originadas nos sistemas
web do próprio Mainframe ou de qualquer outra plataforma. Os dados usados neste trabalho
foram autorizados pela gerência de Performance e Plano de Capacidade e se limitam a
análise de registros SMF do ano de 2021.

4
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Conceituação e origem dos dados

O SMF é um componente do z/OS, principal sistema operacional do Mainframe, que


coleta e registra dados estatísticos de eventos ou recursos do sistema para cada tarefa
enquanto elas ocorrem (Rogers e Salla, 2010). O SMF formata as informações que ele coleta
e coloca em registros relacionados ao sistema ou relacionados a job, com o carimbo de data
e hora e agrupado por subsistemas. As informações SMF são usadas para gerar relatórios
como, por exemplo, de gerenciamento de desempenho, gerenciamento de armazenamento,
violações de segurança, desempenho de banco de dados, utilização de recursos, relatórios
de eventos do sistema, além outras possibilidades (Kyne et al., 2011). Um subsistema é um
provedor de serviços que pode executar uma ou várias funções enquanto for solicitado
(Cosimo e Kuehner, 2018).
O CICS é um subsistema de processamento de transações para o sistema operacional
z/OS que fornece serviços para executar um aplicativo online por requisição e interfaces para
acesso a arquivos ou banco de dados. Um aplicativo CICS é uma coleção de programas
relacionados que é acionada por uma transação. Cada tipo de transação é descrito para o
CICS com uma definição de recurso de transação. Essa definição dá um nome ao tipo de
transação, o identificador de transação [TRANSID], com a especificação de 1 a de 4
caracteres, e informa ao CICS várias coisas sobre o trabalho a ser feito, como qual programa
chamar primeiro. Uma transação é executada enviando seu TRANSID ao CICS. O CICS usa
as informações registradas na definição de transação para estabelecer o ambiente de
execução correto e inicia o primeiro programa (Ebbers et al., 2011).
Todos os registros SMF são identificados exclusivamente por um tipo e opcionalmente
por um subtipo. O CICS Transaction Server para z/OS [CICS TS] grava o tipo de registro 110
(IBM, 2021). Os dados usados neste trabalho são do subtipo 1, identificados como CICS
monitoring. Seus dados são produzidos pelo CICS monitoring facility [CMF], que coleta dados
de todas as transações no CICS durante o processamento online e grava em data sets SMF
(IBM, 2015).

Extração dos dados

Os dados foram selecionados e extraídos pelo software Tivoli Decision Support for
z/OS [TDS] 1.8.2, que a partir da versão 1.9.0 foi renomeado para IBM Z Decision Support
[IZDS]. Este software mantém uma cópia atualizada da estruturação de campos dos registros
SMF e através de codificação de programas é possível criar filtros para selecionar os campos
que se deseja de cada registro. Jobs disparam a execução desses programas que fazem

5
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

descompressão e conversão de dados, a formatação e o carregamento em tabelas de banco


de dados. O DB2 for z/OS versão 11 é o servidor de banco de dados usado para esta
finalidade.
Dos diversos campos que compõem o registro SMF 110, a seleção extraída se resume
a uma pequena quantidade de campos, mas que são essenciais para analisar o
comportamento das transações. Assim, este trabalho também usou os mesmos campos,
demonstrados na Tabela 1.

Tabela 1. Relação entre campos do registro 110 SMF e as colunas na tabela DB2
Coluna no DB2 Tipo de Localização Campos no SMF Descrição
coluna no SMF
DIA DATE SMF header SMFMNDTE Data em que o registro foi movido
para o SMF
HORA TIME SMF header SMFMNTME Hora em que o registro foi movido
para SMF
MVS CHAR (4) SMF header SMFMNSID Identificação do sistema
CICS CHAR(8) SMF product SMFMNPRN Nome do produto (GENERIC
section APPLID)
TRANSACAO CHAR(4) CICS data TRAN(C001) Identificação da transação
section, grupo
DFHTASK
TURNO CHAR(8) SMF header SMFMNSID, No DB2 campo com conteúdo
SMFMNDTE, rotulado conforme a combinação
SMFMNTME dos três campos SMF
QTDE_TRANS_TOT INTEGER CICS data START(T005) Usada a contagem de START.
section, grupo No DB2 campo quantificar o
DFHCICS número de chamadas de uma
transação
TMP_RESPOSTA_TOT FLOAT CICS data STOP(T006)- Tempo de resposta da transação
section, grupo START(T005) dado pela subtração STOP-
DFHCICS START
TMP_CPU_TOT FLOAT CICS data USRCPUT(S008) No TDS/IZDS USRCPUT é
section, rotulado como USRCPUT_TOD e
DFHTASK corresponde a soma do tempo de
processador. No DB2
corresponde a operação
SUM(USRCPUT_TOD/4096E6)
Fonte: Dados originais da pesquisa

O DB2 for z/OS é um sistema gerenciador de banco de dados mais restritivo do que o
DB2 em Linux ou Windows, por exemplo, e devido limitações encontradas não foi possível
estabelecer conexão usando pacotes para linguagem de programação R versão 4.1.1, como
ibmdbR, RODBC e RJDBC. Desta maneira, optou-se em descarregar os dados como arquivos
Comma-separated values [CSV] através de utilitário de Unload do DB2 acionados por Job
Control Language [JCL] e com instruções Structured Query Language [SQL] embutidas.
O SQL foi escrito para selecionar somente as transações de CICS em ambiente de
produção, excluindo as transações configuradas nos CICS de mesmo ambiente de servidores
Web e transações iniciadas com a letra C, pois se referem a transações internas do CICS e
que são criadas durante processo de instalação do produto. Além disso, o script SQL foi
programado para selecionar dados do dia primeiro ao último de 2021, unicamente das

6
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

transações que executaram todos os 365 dias do ano. Por solicitação da empresa foi
adicionado no SQL um mecanismo de mascaramento dos dados sobre a coluna
TRANSACAO, visto que é um dado sensível para a empresa.
O RStudio 2021.09.0 foi usado para a manipulação e análise dos dados. Para isso
empregou-se bibliotecas R como tidyverse, ggplot2, cluster, dendrograma, factoextra, fpc e
stats.

Resultados e Discussão

O arquivo CSV importado no R resultou em um dataframe de 8199811 observações,


9 variáveis e nenhum dado missing. A variável HORA possui valores do intervalo de tempo
compreendido entre 00h e 23h, onde qualquer evento que tenha ocorrido durante qualquer
minuto da hora, por exemplo entre 10:00h e 10:59h, está classificado apenas como a hora,
isto é, 10h. A variável DIA tem cada dia dos 365 dias do ano de 2021. A variável MVS identifica
a Logical partition [LPAR], isto é o ambiente onde se encontra configurado o CICS.
TURNO, como mostrado na Tabela 1, é somente uma rotulação definida com base no
dia, horário e ambiente em que a transação processou. As variáveis QTDE_TRANS_TOT,
TMP_RESPOSTA_TOT e TMP_CPU_TOT são, respectivamente, o número de vezes em que
a transação foi chamada, o tempo de decorrido entre início e fim da transação dentro de um
intervalo temporal, e o tempo consumido de CPU pela transação.
Uma característica importante a destacar é que um CICS pode ter uma ou mais
transações e uma transação pode estar configurada em um ou mais CICS.
A Tabela 2 demonstra os dados do dataframe com 7 amostras para apresentar
algumas características mencionadas acima. As 5 primeiras variáveis correspondem a chave
primária na tabela de origem, isto é, no banco de dados DB2. A Tabela 3 mostra dados
estatísticos para as variáveis quantitativas, onde se nota que as médias nas três variáveis são
superiores aos valores do terceiro quartil, possivelmente indicando a presença de outliers e
produzidos em momentos de estresse de processamento da transação.

Tabela 2. Dados após carregamento do arquivo CSV


DIA HORA MVS CICS TRANSAC TURNO QTDE_TR TMP_RESPO TMP_CPU_T
AO ANS_TOT STA_TOT OT
unidade segundos segundos
<date> <time> <chr> <chr> <chr> <chr> <int> <dbl> <dbl>
2021-11-06 03:00:00 G20F GACICF51 X177 BATCHRIO 72855 139.867162 21.097196
2021-01-20 08:00:00 G20F GACICA36 R10A ONLINERJ 10030 16388.970897 1.841840
2021-08-17 20:00:00 KX4D KACICDL5 W172 DIASIDED 102918 987.317035 64.043995
2021-10-08 14:00:00 K42A KACICK00 R10D ONLINE2 20 100.693984 0.054877
2021-11-25 15:00:00 K42A KACICA8D S123 ONLINE2 48011 6.618561 2.721552
2021-01-24 03:00:00 K42A KACICA17 S123 FIM_SEMN 2484 0.170691 0.095295
2021-04-21 03:00:00 KX4D KACICDL5 T143 FERIADO 13830 112.559604 23.037651
Fonte: Resultados originais da pesquisa

7
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Tabela 3. Dados estatísticos após o carregamento do arquivo CSV


Variável Mínimo 1º Quartil Mediana Média 3º Quartil Máximo
QTDE_TRANS_TOT 1 14 167 12856 2825 6471870
TMP_RESPOSTA_TOT 0 0 2 3322 77 241057727
TMP_CPU_TOT 0.000 0.008 0.098 15.641 2.013 24163.376
Fonte: Resultados originais da pesquisa

A partir de um recorte usando a variável TMP_CPU_TOT para as 100 maiores


ocorrências, a Tabela 4 apresenta a frequência absoluta obtida para os valores agrupados
por transação, adiciona a soma do tempo de CPU que a transação teve, a média e o desvio
padrão desta seleção. Da mesma maneira, a variável QTDE_TRANS_TOT foi usada para
capturar as transações com os 100 maiores números de chamadas a processamento e é
mostrado na Tabela 5.
É interessante notar que as transações W16F e D009 aparecem em ambas as tabelas.
Estas se apresentam como fortes candidatas a serem investigadas, pois presume-se que o
acesso robotizado produz elevado número de execuções de transação, acompanhado do
aumento no consumo de CPU.

Tabela 4. Transações obtidas entre os 100 maiores picos de tempo de CPU no intervalo DIA,
HORA, CICS
Transação Frequência Total Média Desvio Padrão
Absoluta
Q0DD 33 310241.039 9401.244 5314.9717
W16F 23 87858.282 3819.925 216.6114
D009 16 78099.305 4881.207 1595.3201
M05E 10 34385.335 3438.534 276.1126
P065 7 30124.472 4303.496 1214.6533
Q098 4 17079.676 4269.919 926.7870
Z182 3 13202.105 4400.702 1380.2492
S122 2 27085.452 13542.726 7830.5378
Q0AC 1 5273.917 5273.917 NA
T155 1 4436.151 4436.151 NA
Fonte: Resultados originais da pesquisa

Tabela 5. Transações obtidas entre os 100 maiores números de chamadas no intervalo DIA,
HORA, CICS
Transação Frequência Total Média Desvio Padrão
Absoluta
W16F 77 180728785 2347127 137071.71
S136 13 40459142 3112242 1096464.94
D009 4 9260836 2315209 89644.28
S121 4 11956886 2989222 541475.24
E026 2 6575976 3287988 1309771.06
Fonte: Resultados originais da pesquisa

Na intenção de observar a variabilidade em relação à média tanto na quantidade de


chamadas quanto no tempo gasto com CPU, calculou-se o desvio padrão agrupado por

8
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

transação para todo o dataframe. Nas Figuras 1 e 2 tem-se um recorte com os dez maiores
valores obtidos.
Ao comparar as duas figuras nota-se que 5 transações aparecem em ambas, que são:
P065, Q07E, Q0C0, S121 e W16F. De certa forma é esperado que isso ocorra porque o uso
intenso da transação aciona um conjunto de programas para realizarem tarefas, que na
maioria das vezes, de forma equivalente, reflete no tempo dedicado de CPU para esses
programas. Por outro lado, o baixo uso de transações e alto consumo de CPU demonstra,
empiricamente, que os programas carregam uma lógica complexa e muitas vezes ineficiência
no uso dos recursos.
Para melhor apresentação da Figura 1 a os valores do desvio padrão foram divididos
por 1000.

Figura 1. Os 10 maiores desvios padrões por quantidade de chamada de transação


Fonte: Resultados originais da pesquisa

9
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Figura 2. Os 10 maiores desvios padrões por tempo de CPU


Fonte: Resultados originais da pesquisa

Na relação entre as transações com as 100 maiores quantidade de chamadas (Tabela


5) e as transações especificadas entre os 10 maiores desvios padrões de invocações, tem-se
as transações D009, S121 e W16F como itens em comum. A comparação das transações
envolvidas nos 100 picos superiores de CPU e as 10 transações com os maiores desvios
padrões em consumo de CPU tem como intersecção as transações M05E, P065, Q0DD,
S122, W16F e Z182. A transação W16F é a única que aparece em todos os casos.
Neste momento, como este trabalho busca a análise pelo comportamento das
transações, realizou-se a consolidação dos dados pela variável TRANSAÇÃO e desta forma
os números de observações reduziram-se a quantidade de 387. Para que isso fosse possível,
optou-se por somar os valores de cada variáveis métricas correspondente a cada transação.
Diante deste novo panorama foram criados diagramas de dispersão entre os pares de
variáveis quantitativas.
A Figura 3 representa a relação entre o número de vezes em que a transação foi
disparada e o tempo de resposta da transação. Já a Figura 4 é o gráfico de dispersão para o
número de transações e o tempo de consumo de CPU. Por fim, o Figura 5 traz a relação entre
tempo de resposta da transação e o tempo de CPU. As escalas para tempo de resposta e
tempo de CPU é o intervalo de tempo medido em segundo, mas para fins desta apresentação
foi feita a divisão por 10000 (dez mil). A escala para a quantidade de transação é a unidade,
porém para a apresentação nessas figuras foi feita a divisão 1000000 (um milhão).
Devido a alguns valores muito elevados nas três comparações, tanto no eixo X quanto
Y, os gráficos tiveram concentração de valores próximos do valor zero e para facilitar a
visualização foi traçada uma linha de tendência.

10
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Figura 3. Diagrama de dispersão da quantidade transação e o tempo de resposta


Fonte: Resultados originais da pesquisa

Figura 4. Diagrama de dispersão da quantidade transação e o tempo de CPU


Fonte: Resultados originais da pesquisa

Todas as figuras apresentam relação linear positiva. No entanto, o diagrama da Figura


4 é o único que se diferencia dos demais, pois trouxe dispersão com percepção de relação
linear positiva mais intensa que os outros dois.
Assim como notado nas Figuras 1 e 2, acredita-se que o acionamento de transações
e por consequência a chamada um ou mais programas, conforme a lógica de negócio
incumbida a cada programa, reflete de maneira mais acentuada no tempo gasto de CPU para
processar o fluxo de trabalho.

11
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Figura 5. Diagrama de dispersão do tempo de resposta transação e o tempo de CPU


Fonte: Resultados originais da pesquisa

Para melhor percepção da relação entre as variáveis, utilizou-se o coeficiente de


correlação de Pearson para criar a matriz de correção da Figura 6. Fávero e Belfiore (2017)
explicam que tal coeficiente é uma medida que varia entre -1 e 1, e que o sinal indica o tipo
de relação linear entre duas variáveis analisadas. Assim como nas figuras com os diagramas
de dispersão, a matriz com os coeficientes de correlação de Pearson indica que a relação
entre quantidade transação e o tempo de CPU é mais forte do que as demais. Ela também
deixa mais claro que a relação na Figura 5 é mais fraca do que a da Figura 3.

Figura 6. Matriz com Coeficiente de Correlação de Pearson


Fonte: Resultados originais da pesquisa

12
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Diante das informações já coletadas e sabendo que no dataframe não há variável


explicativa disponível que abra mais possibilidades, optou-se pelo uso da técnica de análise
de agrupamentos para tentar atender o objetivo deste trabalho em localizar transações que
foram impactadas por acessos robotizados.
Fávero e Belfiore (2017) informam que a análise de agrupamentos tem como principal
objetivo a criação de grupos cujas observações alocadas em cada grupo sejam relativamente
semelhantes entre si e que sejam consideravelmente diferentes das observações de outros
grupos. Eles também destacam que a partir da definição dos objetivos da pesquisa deve-se
optar por determinada medida de distância ou semelhança, além de determinar um esquema
de aglomeração, seja ele o método de cluster hierárquico ou o de cluster não hierárquico.
Contudo, ressaltam que um método pode servir de input para a realização do outro.
Em relação à existência de observações discrepantes, Fávero e Belfiore (2017) dizem
que a formação de clusters é bastante sensível à presença de outliers e que a sua exclusão
ou retenção depende do objetivo da pesquisa e da natureza dos dados.
Outro procedimento importante informado é a necessidade de previamente realizar um
procedimento de padronização dos dados quando as variáveis não tiverem a mesma unidade
de medida, a fim de eliminar arbitrariedade e fazer com que cada variável tenha a mesma
contribuição sobre a medida de distância adotada (Fávero e Belfiore, 2017).
Ferreira et al. (2020) esclarecem que em análise de agrupamentos utilizar diversos
critérios e comparar os resultados é prática comum. Também indicam que se os resultados
obtidos foram semelhantes, é possível concluir que eles apresentam elevado grau de
estabilidade, assim sendo confiáveis.
Pelo fato deste trabalho buscar situações que apontem para a percepção de mudança
de padrão no comportamento das transações, entendeu-se que nenhum outlier deveria ser
removido, pois a anomalia desses dados poderia carregar informações determinantes ao
acesso massivo procurado. Devido a poucas variáveis disponíveis, usou-se a análise
exploratória por meio da comparação de clusters hierárquicos, construídos com 3 e 4 variáveis
métricas, a adoção da medida de distância euclidiana e padronização dos dados por Z-scores.
O primeiro modelo foi criado a partir da consolidação por transações e gerado um novo
dataframe com 4 variáveis, duas delas sendo calculadas através da divisão pela quantidade
de transações, conforme Tabela 6.

Tabela 6. Componentes usados para clusters com 4 variáveis


Nova variável Função de consolidação
NUM_TRANSACOES sum(QTDE_TRANS_TOT)
TMP_MEDIO_RESPOSTA sum(TMP_RESPOSTA_TOT)/sum(QTDE_TRANS_TOT)
CONSUMO_MEDIO_CPU_TRAN sum(TMP_CPU_TOT)/sum(QTDE_TRANS_TOT)
CONSUMO_TOTAL_CPU sum(TMP_CPU_TOT)
Fonte: Resultados originais da pesquisa

13
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

O segundo modelo foi criado com a consolidação por transações a partir da soma das
variáveis originais, assim gerando novo dataframe, ainda, com 3 variáveis como mostrado na
Tabela 7.

Tabela 7. Componentes usados para clusters com 3 variáveis


Nova variável Função de consolidação
NUM_TRANSACOES sum(QTDE_TRANS_TOT)
TMP_RESPOSTA sum(TMP_RESPOSTA_TOT)
CONSUMO_CPU sum(TMP_CPU_TOT)
Fonte: Resultados originais da pesquisa

Para ambos os modelos foram usados quatro métodos de encadeamento disponíveis


para cluster hierárquico, Single Linkage, Complete Linkage, Avarage Linkage e Ward's
Method. A comparação do dendrograma foi feita um contra o outro, usando a função
entanglement no R. Ferreira et al. (2020) comentam que esta função calcula a qualidade do
alinhamento de dois dendrogramas, resultando em medidas entre os valores 1 e 0, onde um
baixo coeficiente de entanglement corresponde a um bom alinhamento.
Na primeira situação a Figura 7 apresenta os dendrogramas gerados por cada uma
das técnicas de agrupamento usando 4 variáveis e a Figura 8 mostra os dendrogramas
criados com 3 variáveis. A Tabela 8 traz os valores obtidos na comparação entre os pares de
métodos de encadeamento nas duas situações.

Figura 7. Dendrogramas gerados a partir de 4 variáveis


Fonte: Resultados originais da pesquisa

14
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Figura 8. Dendrogramas gerados a partir de 3 variáveis


Fonte: Resultados originais da pesquisa

Tabela 8. Comparação dos dendrogramas em cada cenário


Dendrogramas Resultados com 4 Resultados com 3
variáveis variáveis
Avarage Linkage Vs Ward's Method 0.74 0.63
Single Linkage Vs Complete Linkage 0.30 0.42
Avarage Linkage Vs Complete Linkage 0.41 0.43
Avarage Linkage Vs Single Linkage 0.47 0.57
Ward's Method Vs Complete Linkage 0.75 0.61
Ward's Method Vs Single Linkage 0.67 0.50
Fonte: Resultados originais da pesquisa

Em ambos os cenários a comparação entre os métodos Single Linkage e Complete


Linkage resultaram nos menores valores. Para o cluster com 4 variáveis foi escolhido o
método Single Linkage e para o cluster com 3 variáveis foi escolhido o Complete Linkage,
pois a soma dos coeficientes gerados pela função entanglement, obtidos em cada
comparação onde eles estão presentes, resultaram nos menores valores, 1.44 e 1.46,
respectivamente.
A escolha do número de clusters foi feita inicialmente usando o método Elbow. No
entanto, devido a não remoção de outliers, um dos grupos foi formado com grande quantidade
de Transações, deixando os demais com pouca quantidade de observações. Então, decidiu-
se fazer simulações sucessivas com quantidades variando de 4 a 8 clusters para os dois
cenários, de maneira a encontrar a quantidade de clusters dentro desse intervalo, que
conseguisse retirar o máximo de observações do grupo mais populoso e que deixasse tal
cluster com valores aproximados no cenário com 3 e 4 variáveis, ao mesmo tempo em que

15
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

evitasse gerar novos clusters com apenas uma observação. A Figura 9 traz a formação do
gráfico produzido pelo método Elbow e a quantidade de clusters escolhidos para cada cenário.
No cenário usando 4 variáveis foi escolhido 7 clusters como quantidade adequada e
no cenário com 3 variáveis o número de cluster escolhido foi 5. As Tabelas 9 e 10 apresentam
a configuração dos grupos nos cenários com 4 e 3 variáveis, respectivamente. Os resultados
apresentados nas tabelas são resultantes da média de cada variável.

Figura 9.Quantidade de cluster escolhido em cada cenário


Fonte: Resultados originais da pesquisa

Tabela 9. Distribuição de grupos no cenário com 4 variáveis e uso de Single Linkage


Grupo Quantidade Número médio Tempo médio de Consumo médio Consumo médio
de de transações resposta de CPU por de CPU
observações transação
unidade segundo segundo segundo
1 376 132009424 204.75503268 0.18636089880 241965.1321
2 4 13467 3884.96535567 15.81439705468 186686.2150
3 3 5076463175 0.02458990 0.00303314975 9920255.4725
4 1 43637 41176.74694629 0.00452115865 197.2898
5 1 4263 1235.11846935 31.73329793103 135279.0491
6 1 20566371351 0.04606585 0.00004333392 891221.4153
7 1 19986180868 0.02500306 0.00028702929 5736619.2598
Fonte: Resultados originais da pesquisa

Tabela 10. Distribuição de grupos no cenário com 3 variáveis e uso de Complete Linkage
Grupo Quantidade Número médio de Tempo médio de Consumo médio de
de transações resposta CPU
observações
unidade Segundo segundo
1 373 116290579 44603783 162611.1
2 7 841008479 196569983 4343972.9
3 3 5076463175 77154668 9920255.5
4 2 186099939 3772982553 399686.2
5 2 20276276110 723561479 3313920.3
Fonte: Resultados originais da pesquisa

16
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Ao listar as transações dentro dos grupos menos adensados de cada cenário, nota-se
que muitas delas são também transações que apareceram entre os 10 maiores desvios
padrões de número chamadas (Figura 1) e tempo de CPU (Figura 2), bem como algumas das
que aparecem na lista dos 100 maiores picos de CPU (Tabela 4) e 100 maiores quantidade
de chamadas (Tabela 5).
A Tabela 11 identifica as 11 transações que compõem os grupos de 2 a 7 especificados
na Tabela 9. A Tabela 12 apresenta as 14 transações dos 4 grupos com menor quantidade
de observações divulgadas na Tabela 10.

Tabela 11. Transações nos grupos de 2 a 7 do cluster de 4 variáveis com Single Linkage
Transação Número de Tempo médio de Consumo médio Consumo médio Grupo
transações resposta de CPU por de CPU
transação
R110 2158 1725.294510530 17.04069250371 36773.8144 2
I051 6570 381.918507506 15.98752323486 105038.0277 2
R108 6578 7490.421255997 17.53289280602 115331.3689 2
Q0DD 38562 5942.227148630 12.69647967414 489601.6492 2
P065 4719869450 0.015538242 0.00191761124 9050874.7009 3
W16F 8665664842 0.007440134 0.00109466879 9486032.8870 3
M05E 1843855232 0.050791311 0.00608716923 11223858.8295 3
O063 43637 41176.746946289 0.00452115865 197.2898 4
R112 4263 1235.118469349 31.73329793103 135279.0491 5
S123 20566371351 0.046065849 0.00004333392 891221.4153 6
S124 19986180868 0.025003056 0.00028702929 5736619.2598 7
Fonte: Resultados originais da pesquisa

Tabela 12. Transações nos grupos de 2 a 5 do cluster de 3 variáveis com Complete Linkage
Transação Número de transações Tempo médio de Consumo médio de Grupo
resposta CPU
D00B 633860545 20231567 3141639.5 2
Z182 1435573830 174396470 3448950.5 2
Z17F 76940553 174244498 3676473.0 2
Q0ED 493142193 39445833 4493433.5 2
Q0C0 2093984721 387774222 4544306.3 2
W175 1030037866 61459925 4955013.2 2
Z17E 123519643 518437368 6147994.4 2
P065 4719869450 73338473 9050874.7 3
W16F 8665664842 64473708 9486032.9 3
M05E 1843855232 93651824 11223858.8 3
R111 371833947 4534919793 295967.7 4
S122 365931 3011045313 503404.8 4
S123 20566371351 947407363 891221.4 5
S124 19986180868 499715596 5736619.3 5
Fonte: Resultados originais da pesquisa

Da mesma maneira que foi realizada a verificação com cluster hierárquico, decidiu-se
pela criação de cluster não hierárquicos também, usando os mesmos dataframes com 3 e 4
variáveis, dados padronizados por Z-scores, medidas de distância euclidiana e sem a
remoção de outliers. Para tanto, adotou-se o procedimento k-means.

17
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Fávero e Belfiore (2017) informam que um esquema de aglomeração não hierárquico


requer, a priori, a estipulação da quantidade de clusters e a partir disto são definidos os
centros de aglomeração, dos quais são alocadas as observações pela proximidade a estes
centroides. Para a escolha de clusters k-means se estabeleceu a verificação entre 4 e 8
centroides em cada cenário. As Figuras 10 e 11 mostram as 5 visões gráficas geradas nos
cenários de 3 e 4 variáveis, respectivamente, e o número de centroides definidos.

Figura 10. Clusters k-means com 3 variáveis


Fonte: Resultados originais da pesquisa

Figura 11. Clusters k-means com 4 variáveis


Fonte: Resultados originais da pesquisa

18
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Assim como nos agrupamentos hierárquicos, acredita-se também aqui que os grupos
com menor homogeneidade interna, isto é, observações mais distantes dos centroides,
possam carregar mais características correlatas ao acesso robotizado.
A escolha do número de clusters permaneceu a mesma estratégia usada para os
clusters hierárquicos, evitando a criação de novos grupos com muitas observações e por isso
foi escolhido 4 clusters para ambos os cenários. A Figura 12 reproduz o gráfico gerado pelo
método Elbow e indica a quantidade de clusters escolhidos em cada cenário.

Figura 12. Quantidade de cluster k-means escolhido em cada cenário


Fonte: Resultados originais da pesquisa

As Tabelas 13 e 14 contém as médias resultantes das variáveis para as observações


de cada grupo, em cada cenário. Assim como ocorreu nos esquemas de aglomeração
hierárquicos, aqui um dos grupos concentrou quantidade de observações bem superior aos
demais. Novamente, acredita-se que seja devido a não retirada de outliers dos dataframes
usados e, da mesma forma, espera-se que os grupos com menos observações contribuam
para a detecção de transações que sofreram maiores impactos de acessos robotizados.

Tabela 13. Distribuição das observações nos cluster k-means para o cenário com 3 variáveis
Grupo Quantidade de Número médio de Tempo médio de Consumo médio de
observações transações resposta CPU
Unidade segundo Segundo
1 9 2275843148 176358036 6336326.4
2 367 109814096 16557309 168882.9
3 2 20276276110 723561479 3313920.3
4 9 453408130 2014097265 290544.7
Fonte: Resultados originais da pesquisa

19
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Tabela 14. Distribuição das observações nos cluster k-means para o cenário com 4 variáveis
Grupo Quantidade Número médio de Tempo médio de Consumo médio Consumo médio
de transações resposta de CPU por de CPU
observações transação
Unidade Segundo Segundo Segundo
1 9 2275843147.8 0.77577364 0.0139056860 6336326.4
2 10 37255.9 10900.99823606 10.7321035301 177668.4
3 366 121262496.9 70.82712724 0.1574590662 171634.6
4 2 20276276109.5 0.03553445 0.0001651816 3313920.3
Fonte: Resultados originais da pesquisa

A identificação das transações dos três grupos com menos observações é detalhada
nas duas tabelas seguintes. A Tabela 15 informa as transações referente aos grupos da
Tabela 13 e a Tabela 16 lista as transações dos três menores grupos da Tabela 14.

Tabela 15. Transações dos grupos 1, 3 e 4 do cluster k-means com 3 variáveis


Transação Número de transações Tempo médio de Consumo médio de CPU Grupo
resposta
Z182 1435573830 174396470 3448950.4507 1
Z17F 76940553 174244498 3676472.9585 1
Q0ED 493142193 39445833 4493433.4552 1
Q0C0 2093984721 387774222 4544306.2728 1
W175 1030037866 61459925 4955013.2250 1
Z17E 123519643 518437368 6147994.3916 1
P065 4719869450 73338473 9050874.7009 1
W16F 8665664842 64473708 9486032.8870 1
M05E 1843855232 93651824 11223858.8295 1
S123 20566371351 947407363 891221.4153 3
S124 19986180868 499715596 5736619.2598 3
O063 43637 1796829706 197.2898 4
T15C 58203179 1167803710 65575.2033 4
G02B 113013 1669457476 75231.1420 4
G02E 1428263 1216930030 93563.5071 4
S136 3638229272 1470300952 156702.6643 4
R111 371833947 4534919793 295967.6766 4
S122 365931 3011045313 503404.8166 4
G02C 10328345 1791580908 689207.8154 4
G030 127579 1468007500 735052.0906 4
Fonte: Resultados originais da pesquisa

Ao comparar as transações dos clusters gerados com 3 variáveis, nota-se uma


interessante relação, onde das 14 transações obtidas no cluster hierárquico (Tabela 12)
somente uma, a D00B, não está presente no cluster não hierárquico (Tabela 15).
Similarmente, quando comparado os clusters gerados com 4 variáveis, a transação
I051 foi a única do cluster hierárquico (Tabela 11) que não surgiu na relação dos grupos com
menos observações do cluster não hierárquico (Tabela 16).
Ressalta-se que, com os dataframes estabelecidos no esquema hierárquico, para se
obter maior quantidade de transações seria necessário optar por mais do que 8 clusters. No
entanto, não é previsível que se consiga alcançar nos grupos com maiores observações, de
aglomeração hierárquica e não hierárquica, resultados muito próximos.

20
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Tabela 16. Transações dos grupos 1, 2 e 4 do cluster k-means com 4 variáveis


Transação Número de Tempo médio de Consumo médio de Consumo médio de Grupo
transações resposta CPU por transação CPU
Z182 1435573830 0.121482063 0.00240248908 3448950.4507 1
Z17F 76940553 2.264663966 0.04778329262 3676472.9585 1
Q0ED 493142193 0.079988762 0.00911184141 4493433.4552 1
Q0C0 2093984721 0.185184838 0.00217017165 4544306.2728 1
W175 1030037866 0.059667636 0.00481051560 4955013.2250 1
Z17E 123519643 4.197205851 0.04977341451 6147994.3916 1
P065 4719869450 0.015538242 0.00191761124 9050874.7009 1
W16F 8665664842 0.007440134 0.00109466879 9486032.8870 1
M05E 1843855232 0.050791311 0.00608716923 11223858.8295 1
O063 43637 41176.746946289 0.00452115865 197.2898 2
Q0E0 16197 13505.415378599 0.72448134587 11734.4244 2
R110 2158 1725.294510530 17.04069250371 36773.8144 2
Q0F2 14002 11273.924944924 5.17391637359 72445.1771 2
G02B 113013 14772.260496599 0.66568573546 75231.1420 2
I051 6570 381.918507506 15.98752323486 105038.0277 2
R108 6578 7490.421255997 17.53289280602 115331.3689 2
R112 4263 1235.118469349 31.73329793103 135279.0491 2
Q0DD 38562 5942.227148630 12.69647967414 489601.6492 2
G030 127579 11506.654702211 5.76154453813 735052.0906 2
S123 20566371351 0.046065849 0.00004333392 891221.4153 4
S124 19986180868 0.025003056 0.00028702929 5736619.2598 4
Fonte: Resultados originais da pesquisa

A gerência de Performance e Capacidade, que cedeu os dados para esta pesquisa,


apesar de não possuir uma base de dados que conte com a classificação das transações e
períodos em já detectaram acesso robotizado, possui alguns relatórios de situações em que
houve atuação em análise de problemas de sistemas com transações que passaram a ter
comportamento atípico em relação ao seu histórico. Essas análises envolvem diversas
equipes da empresa, que administram recursos que atendem os sistemas em questão, tal
como responsáveis por servidores Web, Firewall, Balanceadores de carga de trabalho,
Roteadores, dentre outros. Desta forma, já houve casos em que foi possível identificar clientes
que faziam uso de acesso robotizado, inclusive entrando em contato com eles e confirmando
tal prática. Por isso, assume-se que tais relatórios são confiáveis.
Ao longo deste trabalho pediu-se que gerência de Performance e Capacidade
informasse dois casos em que houve acesso robotizado ao longo do ano de 2021. A resposta
dada foi que a transação Z17E, no período de maio a setembro de 2021, e a transação Q0C0,
no período de junho de 2021 a fevereiro de 2022, sofreram acesso robotizado. Nos dois casos,
foram tomadas medidas de contenção de acessos robotizados, o que permitiu a redução do
número de transações no Mainframe.
Esta gerência também foi questionada para exemplificação de duas transações que
não tenham sofrido com acesso robotizado no ano de 2021. A resposta apontou para a
transação W168, que mesmo com um número mensal de transações constante, apresentou
mudança no consumo de CPU a partir de março de 2022, e a transação W172, de setembro
a novembro de 2020, em que alterações no programa realizadas por demandas de negócio

21
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

fizeram que um mesmo número de transações provocasse maior consumo de CPU. Assim,
não foi obtida resposta plausível para o caso de transações que não estiveram sob acesso
robotizado no ano de 2021.
Diante desta resposta, criou-se as tabelas a seguir para facilitar a localização, no
escopo deste trabalho, onde as transações confirmadas com acesso robotizado, Z17E e
Q0C0, aparecem. A Tabela 17 lista as transações especificadas nos grupos de 2 a 7 do cluster
hierárquico de 4 variáveis (Tabela 11), nos grupos de 2 a 5 do cluster hierárquico de 3
variáveis (Tabela 12), nos grupos 1, 3 e 4 do cluster k-means com 3 variáveis (Tabela 15), e
nos grupos 1, 2 e 4 do cluster k-means com 4 variáveis (Tabela 16).

Tabela 17. Lista de transações propensas a acesso robotizado nos resultados dos clusters
produzidos
Tabela 11 Tabela 12 Tabela 15 Tabela 16
D00B
G02B G02B
G02C
G02E
G030 G030
I051 I051
M05E M05E M05E M05E
O063 O063 O063
P065 P065 P065 P065
Q0C0 Q0C0 Q0C0
Q0DD Q0DD
Q0E0
Q0ED Q0ED Q0ED
Q0F2
R108 R108
R110 R110
R111 R111
R112 R112
S122 S122
S123 S123 S123 S123
S124 S124 S124 S124
S136
T15C
W16F W16F W16F W16F
W175 W175 W175
Z17E Z17E Z17E
Z17F Z17F Z17F
Z182 Z182 Z182
Fonte: Resultados originais da pesquisa

Com o mesmo intuito de facilitar a visualização e comparação dos resultados da


análise exploratória anterior aos cluster estabelecidos, a Tabela 18 consolida as transações
que foram selecionadas nos 100 maiores picos de tempo de CPU (Tabela 4), nos 100 maiores
números de chamadas de transação (Tabela 5), nos 10 maiores desvios padrões por

22
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

quantidade de chamada de transação (Figura 1), e nos 10 maiores desvios padrões por tempo
de CPU (Figura 2).

Tabela 18. Lista de transações propensas a acesso robotizado nos resultados das análises
exploratórias iniciais
Tabela 4 Tabela 5 Figura 1 Figura 2
D009 D009 D009
E026
G035
M05E M05E
P065 P065 P065
Q098
Q0AC
Q0C0 Q0C0
Q0DD Q0DD
Q0FE
S121 S121 S121
S122 S122
S136
T149
T155
W168
W16F W16F W16F W16F
Z17E
Z182 Z182
Fonte: Resultados originais da pesquisa

Considerações Finais

Este trabalho partiu de uma base de dados de registro SMF do Mainframe com
característica temporal, poucas variáveis métricas, correlações não tão fortes entre essas
variáveis e aparentemente sem variáveis explicativas para tentar encontrar situações de
anomalias em registros históricos de transações de sistemas. Para tanto, utilizou-se técnicas
de análise de agrupamento para a formação de clusters hierárquicos e não hierárquicos,
porém de maneira não tão comum, ao evitar retiradas de outliers da base de dados analisada.
Isto serviu para que fossem formados grupos com poucas observações, na qual se acredita
que as primeiras formações de grupos de cluster contenham as principais sugestões de
transações que foram impactadas por acessos robotizados.
Embora este procedimento seja inconclusivo, dois casos reais de transações que
sofreram com acesso robotizado foram relatados pela empresa, e estas surgiram nos
resultados obtidos pelos clusters. Isto gera a expectativa que outras transações apontadas
nos clusters sejam também investigadas. Neste sentido, o uso de técnicas de análise de
agrupamento se mostrou relevante para selecionar os prováveis casos de acesso robotizado
e, assim, reduzir a quantidade de transações a serem melhor investigadas.

23
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Mais do que isso, cria-se um procedimento inicial que permite a otimização de


recursos, apontando o que se deve examinar primeiro e contribuindo para que se concentre,
então, em casos suspeitos. Desta forma, junto com a investigação de logs dos recursos que
os sistemas e transações trafegam, o uso de algoritmo de machine learning supervisionado,
em especial a análise de séries temporais, pode ajudar num segundo momento a melhor
identificar as transações e os períodos em que as transações sofreram acesso robotizados.
Por sua vez, isto pode resultar na confecção de uma base de dados mais robusta e confiável,
através da classificação de informações e inserção de variáveis explicativas, o que,
posteriormente, poderia abrir outras possibilidades de análise, tal como o uso de árvores de
decisão.

Agradecimento

Agradeço a Deus pela oportunidade de chegar até aqui. Agradeço à minha


orientadora, Gabrielle Lombardi, pelo apoio, paciência, cobranças e propostas para o
desenvolvimento do trabalho. Agradeço também às equipes do PECEGE e a todos os
professores pela dedicação e o auxílio nas minhas dúvidas e dificuldades. Finalmente,
agradeço ao Jaime Belmiro, que pacientemente dedicou muitas horas explanando sobre as
atividades da área de Performance e Plano de Capacidade e os desafios enfrentados, o que
resultou na ideia de elaboração deste trabalho.

Referências

Bollinger, T.; Eckert, A.; Wurst, M.; Blaha, C.; IBM Corporation. 2018. ibmdbR: IBM in-
Database Analytics for R. Disponível em: <https://cran.r-
project.org/web/packages/ibmdbR/index.html>. Acesso em: 17 abr. 2022.

Bornet, P.; Barkin, I.; Wirtz, J. 2020. Intelligent Automation: Learn how to harness Artificial
Intelligence to boost business & make our world more human. Independently Published.

Chapagain A. 2019. Hands-On Web Scraping with Python: Perform advanced scraping
operations using various Python libraries and tools such as Selenium, Regex, and others.
Packt Publishing, Birmingham, UK.

Cosimo, G.; Kuehner, L. 2018. ABCs of z/OS System Programming. v.2. IBM Redbooks,
Poughkeepsie, NY, USA. Disponível em:
<https://www.redbooks.ibm.com/abstracts/sg246982.html>. Acesso em: 23 jul. 2022.

Ebbers, M.; Kettner, J.; O'Brien, W.; Ogden, B. 2011. Introduction to the New Mainframe:
z/OS Basics. 3ed. IBM Redbooks, Poughkeepsie, NY, USA. Disponível em:
<https://www.redbooks.ibm.com/abstracts/sg246366.html>. Acesso em: 23 jul. 2022.

Fávero, L.P.; Belfiore, P. 2017. Manual de Análise de Dados: Estatística e Modelagem


Multivariada com Excel, SPSS e Stata. 1ed. GEN LTC, Rio de Janeiro, RJ, Brasil.

24
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Ferreira, R.R.M.; Paim, F.A.P.; Rodrigues, V.G.S.; Castro, G.S.A. 2020. Análise de cluster
não supervisionado em R: agrupamento hierárquico. 1ed. Embrapa Territorial, Campinas,
SP, Brasil. Disponível em:
<http://www.infoteca.cnptia.embrapa.br/infoteca/handle/doc/1126478>. Acesso em: 10 set.
2022.

Gartner. 2022. Gartner Glossary. Disponível em: <https://www.gartner.com/en/information-


technology/glossary/hyperautomation>. Acesso em: 17 abr. 2022.

Gartner. 2022. Gartner Forecasts Worldwide Hyperautomation-Enabling Software Market to


Reach Nearly $600 Billion by 2022. Disponível em:
<https://www.gartner.com/en/newsroom/press-releases/2021-04-28-gartner-forecasts-
worldwide-hyperautomation-enabling-software-market-to-reach-nearly-600-billion-by-2022>.
Acesso em: 17 abr. 2022.

Gartner. 2022. Gartner Top Strategic Technology Trends for 2022. Disponível em:
<https://www.gartner.com/en/information-technology/insights/top-technology-trends>. Acesso
em: 17 abr. 2022.

Google. 2022. O que é o CAPTCHA?. Disponível em:


<https://support.google.com/a/answer/1217728?hl=pt-BR>. Acesso em: 3 jul. 2022.

Google. 2022. reCAPTCHA. Disponível em: <https://www.google.com/recaptcha/about/>.


Acesso em: 3 jul. 2022.

International Business Machines Corporation [IBM]. 2011. z/OS 2.4: MVS System
Management Facilities (SMF). Disponível em: <https://www-
40.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R4sa380667/$file/ieag200_v2r4
.pdf>. Acesso em: 23 jul. 2022.

International Business Machines Corporation [IBM]. 2015. CICS Transaction Server for z/OS
Version 5 Release 3: Performance Guide. Disponível em:
<https://publibfi.dhe.ibm.com/epubs/pdf/dfht3h00.pdf>. Acesso em: 23 jul. 2022.

Kyne, F.; Fischer, D.; Girona, J.M.; Klaey, W.; Lundgren, L. 2011. SMF Logstream Mode:
Optimizing the New Paradigm. 1ed. IBM Redbooks, Poughkeepsie, NY, USA. Disponível em:
<https://www.redbooks.ibm.com/abstracts/sg247919.html>. Acesso em: 23 jul. 2022.

Lacity, M.; Willcocks, L.P.; Craig, A. 2015. Robotic process automation at Telefónica O2. The
Outsourcing Unit Working Research Paper Series (15/02). Monografia. The London School
of Economics and Political Science, London, UK.

Mitchell R. 2019. Web scraping com Python. 2ed. Novatec, São Paulo, SP, Brasil.

Mullakara N.; Asokan A.k. 2020. Robotic Process Automation Projects: Build real-world RPA
solutions using UiPath and Automation Anywhere. Packt Publishing, Birmingham, UK.

Padilha, J. 2022. Algoritmos e métodos para extração de informação da web. p. 145-147. In:
Padilha, J.; Soares, J.A; Alves, N.S.R.; Abreu, E.M.; Silva, F.R.; Morais, M.S.F; Lacerda,
P.S.P; Maitino, N.R.; Machado, V.A. Analytics para big data. SAGAH, Porto Alegre, RS,
Brasil.

25
Trabalho de Conclusão de Curso apresentado para obtenção do título
de especialista em Data Science e Analytics – 2022

Rogers, P.; Salla, A. 2010. ABCs of z/OS System Programming. v.11. 2ed. IBM Redbooks,
Poughkeepsie, NY, USA. Disponível em:
<http://www.redbooks.ibm.com/abstracts/sg246327.html>. Acesso em: 23 jul. 2022.

Taulli T. 2022. Modern Mainframe Development. 1ed. O'Reilly Media, Sebastopol, CA, USA.

26

Você também pode gostar