Serviço de Atividades

Serviço que permite a busca de atividades do usuário através dos dados coletados pelo fSense nas estações de trabalho.

Exportar Atividades - Exemplo de Implementação CSV

Para exportar as atividades no formato .csv, podemos fazer da seguinte maneira.

Configuração do Arquivo Properties

Definição do Serviço

No arquivo fsense.properties, defina o serviço a ser executado ajustando a propriedade service.name para ACTIVITY_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=ACTIVITY_SERVICE

Método do Serviço

Configure o método do serviço para EXPORT_ACTIVITIES através da propriedade service.method.

    # METODO DO SERVIÇO A SER EXECUTADO
service.method=EXPORT_ACTIVITIES

Tipo de Operação

Especifique o tipo de operação desejado através da propriedade operation.type. Defina o como CSV para exportar para um arquivo CSV ou como DATABASE para exportar para um banco de dados. Para esta implementação, defina CSV.

    # TIPO DE OPERAÇÃO
operation.type=csv

Parâmetros de Exportação

É necessário definir um perÍodo de data para busca de atividades. Estes parâmetros podem ser definidos no arquivo fsense.properties através das propriedades activity.initialDate e activity.finalDate. Veja o exemplo abaixo para referência:

    # INTERVALO DE DATAS [dd/MM/yyyy] PARA SERVIÇO DE ATIVIDADES
activity.initialDate = 04/12/2023
activity.finalDate = 07/12/2023

Também é possível opcionalmente especificar a hora inicial e hora final para a busca de atividades através das propriedades activity.initialHour e activity.finalHour.

    # INTERVALO DE HORAS PARA SERVIÇO DE ATIVIDADES
# FAVOR PREENCHER NESTE FORMATO [HH:mm:ss]
# SE VAZIO SE CONSIDERA ENTRE 00:00:00 e 23:59:59
activity.initialHour = HH:mm:ss
activity.finalHour = HH:mm:ss

Execução da Aplicação

Após configurar o arquivo fsense.properties, execute a aplicação. A aplicação realizará requisições HTTP à API fSense para obter as atividades e gerará um arquivo CSV como nome calendars_{ANO_MES_DIA}.csv.

    ========================================================
SELECTED SERVICE [ACTIVITY_SERVICE]
========================================================
OPERATION TYPE: CSV
========================================================
SELECTED METHOD [EXPORT_ACTIVITIES]
checking if token is valid?: false
========================================================
Starting authentication process
Getting access token
Token received.
5ad5b6fc-76ad-4012-b8e6-da40f710a51a
========================================================
AUTHENTICATION SUCCESS
========================================================
Getting activities of day: 06-09-2024
Nº of records found: 63
Nº pages : 7
Getting activities 1/7
Getting activities 2/7
Getting activities 3/7
Getting activities 4/7
Getting activities 5/7
Getting activities 6/7
Getting activities 7/7
======================================================
GENERATING CSV FILE
======================================================
File generated: activities_2024-09-06.csv
Status: saved successfully
File saved in path: ./src/main/resources/files/export/activities_2024-09-06.csv
======================================================
EXPORT ACTIVITIES FINISHED SUCCESSFULLY
======================================================
End of execution.

Os arquivos são armazenados no diretório src/main/resources/files/export/.

Verificação da Operação

Após a execução da aplicação, abra o arquivo gerado para verificar as atividades exportadas. O arquivo exportado terá uma estrutura semelhante à do exemplo abaixo:

'date','application','login','processName','evtDurationMilliseconds','host','category','categoryName'
'2024-09-06','Google Chrome','maria_silva','chrome','4441909','localhost:3000','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','1678839','cogna.lms.ecoedu.com.br','U','Unclassified'
'2024-09-06','Google Chrome','maria_silva','chrome','781753','bitbucket.org','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','121723','app.fsense.io','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','34988','_SEARCHING_','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','214976','api.fsense.com','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','159727','login.live.com','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','129588','app.fsense.com','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','70800','instagram.com','A','Personal Use'
'2024-09-06','Google Chrome','maria_silva','chrome','12891','login.microsoftonline.com','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','77169','portal.azure.com','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','144426','github.com','B','Business Use'
'2024-09-06','Google Chrome','maria_silva','chrome','18598','id.atlassian.com','B','Business Use'

Exportar Atividades - Exemplo de Implementação de Banco de Dados

Para exportar as atividades na organização, fazendo a persistência no banco de dados, podemos fazer da seguinte maneira.

Configuração do Arquivo Properties

Definição do Serviço

No arquivo fsense.properties, defina o serviço a ser executado ajustando a propriedade service.name para ACTIVITY_SERVICE.

    # SERVIÇO A SER EXECUTADO
service.name=ACTIVITY_SERVICE

Método do Serviço

Configure o método do serviço para EXPORT_ACTIVITIES através da propriedade service.method.

    # MÉTODO DO SERVIÇO A SER EXECUTADO
service.method=EXPORT_ACTIVITIES

Tipo de Operação

Especifique o tipo de operação desejado através da propriedade operation.type. Defina o como CSV para exportar para um arquivo CSV ou como DATABASE para exportar para um banco de dados. Para esta implementação, defina DATABASE.

    # TIPO DE OPERAÇÃO
operation.type=database
DICA

Certifique-se de que o banco de dados está devidamente configurado e a tabela previamente criada. Certifique-se de que o banco de dados está devidamente configurado e a tabela previamente criada.

Se tiver dúvidas, consulte a seção Integração com Banco de Dados.

Parâmetros de Exportação

É necessário definir um perÍodo de data para busca de atividades. Estes parâmetros podem ser definidos no arquivo fsense.properties através das propriedades activity.initialDate e activity.finalDate. Veja o exemplo abaixo para referência:

    # INTERVALO DE DATAS [dd/MM/yyyy] PARA SERVIÇO DE ATIVIDADES
activity.initialDate = 04/12/2023
activity.finalDate = 07/12/2023

Também é possível opcionalmente especificar a hora inicial e hora final para a busca de atividades através das propriedades activity.initialHour e activity.finalHour.

    # INTERVALO DE HORAS PARA SERVIÇO DE ATIVIDADES
# FAVOR PREENCHER NESTE FORMATO [HH:mm:ss]
# SE VAZIO SE CONSIDERA ENTRE 00:00:00 e 23:59:59
activity.initialHour = HH:mm:ss
activity.finalHour = HH:mm:ss

Execução da Aplicação

Após configurar o arquivo fsense.properties, execute a aplicação. A aplicação realizará requisições HTTP à API fSense para obter as atividades e em seguida, fará a persistência dos dados no banco.

    ========================================================
SELECTED SERVICE [ACTIVITY_SERVICE]
========================================================
OPERATION TYPE: DATABASE
========================================================
SELECTED METHOD [EXPORT_ACTIVITIES]
checking if token is valid?: false
========================================================
Starting authentication process
Getting access token
Token received.
5ad5b6fc-76ad-4012-b8e6-da40f710a51a
========================================================
AUTHENTICATION SUCCESS
========================================================
Getting activities of day: 06-09-2024
Nº of records found: 63
Nº pages : 7
Getting activities 1/7
Getting activities 2/7
Getting activities 3/7
Getting activities 4/7
Getting activities 5/7
Getting activities 6/7
Getting activities 7/7
==========================================
Open database connection
Saving on tb_activity
==========================================
Update Count: 63
Database connection close
==========================================
SAVING DATABASE ACTIVITIES FINISHED SUCCESSFULLY
==========================================
End of execution.

Verificação da Operação

Após a execução da aplicação, abra a ferramenta de banco de dados de sua preferência e faça uma consulta na tabela tb_activity.

    SELECT * FROM tb_activity;

A tabela terá uma estrutura semelhante à esta:

dateapplicationloginprocessNameevtDurationMillisecondshostcategorycategoryName
2024-09-06Google Chromemaria_silvachrome4441909localhost:3000BBusiness Use
2024-09-06Google Chromemaria_silvachrome1678839cogna.lms.ecoedu.com.brUUnclassified
2024-09-06Google Chromemaria_silvachrome781753bitbucket.orgBBusiness Use
2024-09-06Google Chromemaria_silvachrome121723app.fsense.ioBBusiness Use
2024-09-06Google Chromemaria_silvachrome34988SEARCHINGBBusiness Use
2024-09-06Google Chromemaria_silvachrome214976api.fsense.comBBusiness Use
2024-09-06Google Chromemaria_silvachrome159727login.live.comBBusiness Use
2024-09-06Google Chromemaria_silvachrome129588app.fsense.comBBusiness Use
2024-09-06Google Chromemaria_silvachrome70800instagram.comAPersonal Use
2024-09-06Google Chromemaria_silvachrome12891login.microsoftonline.comBBusiness Use
2024-09-06Google Chromemaria_silvachrome77169portal.azure.comBBusiness Use
2024-09-06Google Chromemaria_silvachrome144426github.comBBusiness Use
2024-09-06Google Chromemaria_silvachrome18598id.atlassian.comBBusiness Use