Skip to content

Commit

Permalink
Merge pull request #4 from consiglionazionaledellericerche/2-promethe…
Browse files Browse the repository at this point in the history
…us-metrics

2 prometheus metrics
  • Loading branch information
criluc authored Nov 19, 2020
2 parents 0fef77c + eedbecd commit 40910df
Show file tree
Hide file tree
Showing 15 changed files with 282 additions and 82 deletions.
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@
!*.sh
!.env
!LICENSE
!VERSION
!CHANGELOG.md
4 changes: 4 additions & 0 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ FTP_PASSWORD=
FTP_FILE_PREFIX=
FTP_FILE_SUFFIX=

METRICS_ENABLED=
METRICS_PUSHGATEWAY_URL=
METRICS_PUSHGATEWAY_USER=
METRICS_PUSHGATEWAY_PASSWORD=

# Attenzione gli \ vanno protetti con uno \, quindi \\
#REGEX_STAMPING=^(?P<codiceSede>\\w{3})(?P<matricolaFirma>\\d{7})(?P<giorno>\\d{2})(?P<mese>\\d{2})(?P<anno>\\d{4})(?P<ora>\\d{2}):(?P<minuti>\\d{2})(?P<operazione>[E,U])(?P<nonUsato>\\d{2})$
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.1.0] - 2020-11-18
### Added
- Possibilità di monitoraggio dei job del client tramite un meccanismo di invio
delle metriche ad un PushGateway Prometheus
- File VERSION per il semantic version dell'applicazione
- File CHANGELOG.md

### Changed
- Rimossa classe stampingSender.StampingSender effettuando il _push up_ del
metodo _send_ che ne era contenuto e che è stato rinominato in _sendStamping_
- Rimossa classe client.StampingClient ed effettuato _push up_ del metodo
process\_stamping\_files
- Corretta apertura in scrittura del file da scaricare via FTP.

## [1.0.0] - 2020-11-10
### Added
- First public open source release
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,13 @@ I passi da compiere sono:
| FTP_SERVER_DIR | Directory del servizio ftp/sftp contenente le timbrature | NO | . |
| FTP_FILE_PREFIX | Prefisso del nome dei file da cui prelevare le timbrature. Tutti i file il cui nome non inizia con questo prefisso verranno scartati. | NO | 20 |
| FTP_FILE_SUFFIX | Suffisso del nome dei file da cui prelevare le timbrature. Tutti i file il cui nome non termina con questo prefisso verranno scartati. | NO | vuoto, nessun suffix |
| REGEX_STAMPING | Espressione regolare utilizzata per effettuare il parsing delle righe contenenti le timbrature. La regex di default è per SmartClock ed è la seguente: `^(?P<operazione>[0,E,U,T])(?P<tipo>\w{1})(?P<giornoSettimana>\d{1})(?P<matricolaFirma>\d{6})(?P<causale>\d{4})(?P<ora>\d{2})(?P<minuti>\d{2})(?P<secondi>\d{2})(?P<giorno>\d{2})(?P<mese>\d{2})(?P<anno>\d{2})(?P<lettore>\d{2})$`. Nel caso il file contenente le timbrature utilizzi un tracciato record diverso è necessario scrivere la propria _regex_ che rappresenti la timbratura e permetta di estrarre i _gruppi_ della _regex_ presenti nell'esempio sopra riportato relativo al formato utilizzato dagli Smartclock. Per facilitare a scrivere la *regex* potete utilizzare un sistema online come questo [https://regex101.com/](https://regex101.com/) | NO | `^(?P<operazione>[0,E,U,T])(?P<tipo>\w{1})(?P<giornoSettimana>\d{1})(?P<matricolaFirma>\d{6})(?P<causale>\d{4})(?P<ora>\d{2})(?P<minuti>\d{2})(?P<secondi>\d{2})(?P<giorno>\d{2})(?P<mese>\d{2})(?P<anno>\d{2})(?P<lettore>\d{2})$` |
| REGEX_STAMPING | Espressione regolare utilizzata per effettuare il parsing delle righe contenenti le timbrature. La regex di default è per SmartClock ed è la seguente: `^(?P<operazione>[0,E,U,T])(?P<tipo>\w{1})(?P<giornoSettimana>\d{1})(?P<matricolaFirma>\d{6})(?P<causale>\d{4})(?P<ora>\d{2})(?P<minuti>\d{2})(?P<secondi>\d{2})(?P<giorno>\d{2})(?P<mese>\d{2})(?P<anno>\d{2})(?P<lettore>\d{2})$`. Nel caso il file contenente le timbrature utilizzi un tracciato record diverso è necessario scrivere la propria _regex_ che rappresenti la timbratura e permetta di estrarre i _gruppi_ della _regex_ presenti nell'esempio sopra riportato relativo al formato utilizzato dagli Smartclock. Per facilitare a scrivere la *regex* potete utilizzare un sistema online come questo [https://regex101.com/](https://regex101.com/) | NO | `^(?P<operazione>[0,E,U,T])(?P<tipo>\w{1})(?P<giornoSettimana>\d{1})(?P<matricolaFirma>\d{6})(?P<causale>\d{4})(?P<ora>\d{2})(?P<minuti>\d{2})(?P<secondi>\d{2})(?P<giorno>\d{2})(?P<mese>\d{2})(?P<anno>\d{2})(?P<lettore>\d{2})$` |
| | | | |
| | **PARAMETRI PER LA CONFIGURAZIONE DELL'INVIO DELLE METRICHE** | |
| METRICS_ENABLED | Attiva l'invio delle metriche di un client ad un Pushgateway Prometheus | NO | False |
| METRICS_PUSHGATEWAY_URL | Url del PushGateway a cui inviare le metriche | SI se attivate le metriche | |
| METRICS_PUSHGATEWAY_USER | Utente per l'autenticazione con il PushGateway | NO | |
| METRICS_PUSHGATEWAY_PASSWORD | Password per l'autenticazione con il PushGateway | NO | |
| | | | |
| | **Parametri generici generalmente da non impostare** | | |
| OFFSET_ANNO_BADGE | Nel tracciato record delle timbrature spesso l'anno è indicato con le sole due cifre finale (es. 20 per 2020). Questo parametro permette di riportare la data nel formato completo a quattro cifre, il software somma questo offset all'anno estratto dal tracciato record delle timbrature. | NO | 2000 |
Expand Down
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.1.0
9 changes: 9 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,15 @@ services:
# Attenzione che se ci sono $ e la regex è scritta nel docker-compose allora vanno scritti com $$
# - REGEX_STAMPING=${REGEX_STAMPING} # Default: ^(?P<operazione>[0,E,U,T])(?P<tipo>\w{1})(?P<giornoSettimana>\d{1})(?P<matricolaFirma>\d{6})(?P<causale>\d{4})(?P<ora>\d{2})(?P<minuti>\d{2})(?P<secondi>\d{2})(?P<giorno>\d{2})(?P<mese>\d{2})(?P<anno>\d{2})(?P<lettore>\d{2})$

################# PARAMETRI PER L'INVIO DELLE METRICHE AD UN PUSHGATEWAY ###################

# - METRICS_ENABLED=${METRICS_ENABLED} # Default: False. Possibili valori {True, False}
# Attiva l'invio delle metriche di un client ad un Pushgateway Prometheus.

# - METRICS_PUSHGATEWAY_URL=${METRICS_PUSHGATEWAY_URL} # Url del PushGateway a cui inviare le metriche
# - METRICS_PUSHGATEWAY_USER=${METRICS_PUSHGATEWAY_USER} # Utente per l'autenticazione con il PushGateway
# - METRICS_PUSHGATEWAY_PASSWORD=${METRICS_PUSHGATEWAY_PASSWORD} # Password per l'autenticazione con il PushGateway

################### PARAMETRI GENERICI GENERALMENTE DA NON IMPOSTARE #######################

# - OFFSET_ANNO_BADGE= # Default: 2000
Expand Down
Loading

0 comments on commit 40910df

Please sign in to comment.