Serviço de Teclas/Mouse

Serviço que permite a busca dos dados capturados de pressionamentos de teclas e cliques de mouse sendo possível o filtro por data ou por usuários.

Exportar Teclas/Mouse - Exemplo de Implementação CSV

Configuração do Arquivo Properties

Para exportar as categorias da organização no formato CSV podemos fazer da seguinte forma

Definição do Serviço

No arquivo fsense.properties, configure o serviço que será executado ajustando a propriedade service.name para KEYSTROKES_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=KEYSTROKES_SERVICE

Método do Serviço

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

    # SERVICO A SER EXECUTADO
service.method=EXPORT_KEYSTROKES

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

É possível definir um período de data para a busca dos dados de Teclas/Mouse através da propriedades keystrokes.startDate e keystrokes.endDate.

    #PARAMETROS PARA SERVIÇO DE EXPORTAÇÃO DE TECLAS/MOUSE (KEYSTROKES)
#[dd/MM/yyyy]
keystrokes.startDate=01/06/2024
#[dd/MM/yyyy]
keystrokes.endDate=13/06/2024

Também é possível filtrar por um ou mais usuários como filtro para busca dos dados de Teclas/Mouse. Basta informar o nome do usuário que deseja filtrar no parâmetro keystrokes.usernames. Se desejar mais de um usuário, basta passar os nomes separados por vírgula, como no exemplo abaixo:

    #[EXEMPLO:John,Bob,Charlie]
keystrokes.usernames=

Execução da Aplicação

Após realizada a configuração dos parâmetros, execute a aplicação.

    ========================================================
SELECTED SERVICE [KEYSTROKES_SERVICE]
========================================================
OPERATION TYPE: CSV
========================================================
SELECTED METHOD [EXPORT_KEYSTROKES]
Executing export Keystrokes
========================================================
checking if token is valid?: false
========================================================
Starting authentication process
Getting access token
Token received.
87caa16b-f418-487d-bb43-1832dc93e2e0
========================================================
AUTHENTICATION SUCCESSFULLY
========================================================
KEYSTROKES DATA
========================================================
Getting keystrokes for day: 2024-06-03
Nº of records found: 502
Nº of pages: 6
Get keystrokes 1/6
Get keystrokes 2/6
Get keystrokes 3/6
Get keystrokes 4/6
Get keystrokes 5/6
Get keystrokes 6/6
========================================================
GENERATING CSV
========================================================
File generated: keystrokes_2024_06_04.csv
Status: saved successfully.
File saved in path: ./src/main/resources/files/export/keystrokes_2024_06_03.csv
Export keystrokes of day 2024-06-03 completed successfully.
========================================================
EXPORT KEYSTROKES FINISHED SUCCESSFULLY
========================================================
End of execution.

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

Verificação da Operação

Após a execução da aplicação, abra o arquivo gerado para verificar se as captura de teclas/mouse foram exportadas. O arquivo terá uma estrutura semelhante a do exemplo abaixo:

'machineName','userName','creationDate','personId','deviceId','keystrokesCount','mouseClicksCount','keystrokesPerMillisecond','mouseClicksPerMillisecond','start','end','duration'
'N-TEC-FSENSE_USER','fsense_user','2024-09-09T20:26:09.736Z','6744454','54285','0','7','0.0','2.4551066217732886','2024-09-09T10:59:31.487Z','2024-09-09T10:59:59.999Z','28'
'N-TEC-FSENSE_USER','fsense_user','2024-09-09T20:26:10.381Z','6744454','54285','42','6','7.280291211648466','1.0400416016640666','2024-09-09T11:00:02.309Z','2024-09-09T11:00:59.999Z','57'
'N-TEC-FSENSE_USER','fsense_user','2024-09-09T20:26:29.205Z','6744454','54285','32','3','5.342147877330929','5.0082636349977465','2024-09-09T11:01:00.098Z','2024-09-09T11:01:59.999Z','59'
'N-TEC-FSENSE_USER','fsense_user','2024-09-09T20:26:29.205Z','6744454','54285','0','0','0.0','0.0','2024-09-09T11:02:00.095Z','2024-09-09T11:02:59.999Z','59'
'N-TEC-FSENSE_USER','fsense_user','2024-09-09T20:26:49.193Z','6744454','54285','0','0','0.0','0.0','2024-09-09T11:03:00.082Z','2024-09-09T11:03:59.999Z','59'
'N-TEC-FSENSE_USER','fsense_user','2024-09-09T20:26:49.193Z','6744454','54285','32','6','5.340988750542444','1.0014353907267083','2024-09-09T11:04:00.085Z','2024-09-09T11:04:59.999Z','59'
'N-TEC-FSENSE_USER','fsense_user','2024-09-09T20:27:09.271Z','6744454','54285','0','2','0.0','3.4033863694375904','2024-09-09T11:05:01.234Z','2024-09-09T11:05:59.999Z','58'

Exportar Teclas/Mouse - Exemplo de Implementação de Banco de Dados

Para exportar os dados de Teclas/Mouse, fazendo a persistência das informações no banco de dados, podemos fazer da seguinte forma:

Configuração do Arquivo Properties

Definição do Serviço

No arquivo fsense.properties, configure o serviço que será executado definindo a propriedade service.name para KEYSTROKES_SERVICE.

    # SERVICO A SER EXECUTADO
service.name=KEYSTROKES_SERVICE

Método do Serviço

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

    # SERVICO A SER EXECUTADO
service.method=EXPORT_KEYSTROKES

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

Parâmetros de Exportação

É possível definir um período de data para a busca dos dados de Teclas/Mouse através da propriedades keystrokes.startDate e keystrokes.endDate.

    #PARAMETROS PARA SERVIÇO DE EXPORTAÇÃO DE TECLAS/MOUSE (KEYSTROKES)
#[dd/MM/yyyy]
keystrokes.startDate=01/06/2024
#[dd/MM/yyyy]
keystrokes.endDate=13/06/2024

Também é possível filtrar por um ou mais usuários como filtro para busca dos dados de Teclas/Mouse. Basta informar o nome do usuário que deseja filtrar no parâmetro keystrokes.usernames. Se desejar mais de um usuário, basta passar os nomes separados por vírgula, como no exemplo abaixo:

    #[EXEMPLO:John,Bob,Charlie]
keystrokes.usernames=

Execução da Aplicação

Após realizada a configuração dos parâmetros, execute a aplicação.

    ========================================================
SELECTED SERVICE [KEYSTROKES_SERVICE]
========================================================
OPERATION TYPE: DATABASE
========================================================
SELECTED METHOD [EXPORT_KEYSTROKES]
Executing export Keystrokes
========================================================
checking if token is valid?: false
========================================================
Starting authentication process
Getting access token
Token received.
87caa16b-f418-487d-bb43-1832dc93e2e0
========================================================
AUTHENTICATION SUCCESSFULLY
========================================================
KEYSTROKES DATA
========================================================
Getting keystrokes for day: 2024-06-03
Nº of records found: 502
Nº of pages: 6
Get keystrokes 1/6
Get keystrokes 2/6
Get keystrokes 3/6
Get keystrokes 4/6
Get keystrokes 5/6
Get keystrokes 6/6
========================================================
SAVING ON DATABASE
========================================================
Open database Connection
persisting on tb_keystrokes
========================================================
Update Count: 502
Database connection close
========================================================
SAVING DATABASE KEYSTROKES FINISHED SUCCESSFULLY
========================================================
End of execution.

A aplicação fará requisições para a API fSense para obter os dados. Posteriormente, os dados serão persistidos no banco.

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_keystrokes.

    SELECT * FROM tb_keystrokes

A tabela terá uma estrutura semelhante à esta:

machineNameuserNamecreationDatepersonIddeviceIdkeystrokesCountmouseClicksCountkeystrokesPerMillisecondmouseClicksPerMillisecondstartendduration
N-TEC-FSENSE_USERfsense_user2024-09-09T20:26:09.736Z674445454285070.02.45510662177328862024-09-09T10:59:31.487Z2024-09-09T10:59:59.999Z28
N-TEC-FSENSE_USERfsense_user2024-09-09T20:26:10.381Z6744454542854267.2802912116484661.04004160166406662024-09-09T11:00:02.309Z2024-09-09T11:00:59.999Z57
N-TEC-FSENSE_USERfsense_user2024-09-09T20:26:29.205Z6744454542853235.3421478773309295.00826363499774652024-09-09T11:01:00.098Z2024-09-09T11:01:59.999Z59
N-TEC-FSENSE_USERfsense_user2024-09-09T20:26:29.205Z674445454285000.00.02024-09-09T11:02:00.095Z2024-09-09T11:02:59.999Z59
N-TEC-FSENSE_USERfsense_user2024-09-09T20:26:49.193Z674445454285000.00.02024-09-09T11:03:00.082Z2024-09-09T11:03:59.999Z59
N-TEC-FSENSE_USERfsense_user2024-09-09T20:26:49.193Z6744454542853265.3409887505424441.00143539072670832024-09-09T11:04:00.085Z2024-09-09T11:04:59.999Z59
N-TEC-FSENSE_USERfsense_user2024-09-09T20:27:09.271Z674445454285020.03.40338636943759042024-09-09T11:05:01.234Z2024-09-09T11:05:59.999Z58