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: ./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:
| 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 |