.. _installation_guide/deploy/monitoring: Monitoraggio applicativo ======================== Il framework Genropy supporta l'esportazione o l'integrazione di dati utili al monitoraggio applicativo, per diverse tecnologie. Prometheus ---------- Ogni applicativo Genropy, dalla versione 24.5.30.2 , ha integrato un data exporter per prometheus, espondendo la risorsa al percorso standard `/metrics` per lo scraping URL di Prometheus, consentendo una configurazione dei target di scraping più semplice. Attualmente la metrica esposta è `genropy_site_counters`, di tipo `counter`, con i seguenti possibili attributi: +---------------------------+------------+-------------------------------------+ | Attributo | Tipo | Descrizione | +===========================+============+=====================================+ | `users` | integer | Numero di utenti attivi | +---------------------------+------------+-------------------------------------+ | `pages` | integer | Numero di pagine attive | +---------------------------+------------+-------------------------------------+ | `connections` | integer | Numero di connessioni attive | +---------------------------+------------+-------------------------------------+ | `stable_connections_5min` | integer | Connessioni con 5 min di inattività | +---------------------------+------------+-------------------------------------+ I dati poi possono essere monitorati e visualizzati con tutti gli strumenti accessori che supportano Prometheus. Sentry ---------- Dal 10/06/2024 nel branch `develop` e nelle future versioni rilasciate dopo questa data, è introdotto in via sperimentale il supporto per Sentry Installando il pacchetto python "sentry_sdk" tramite `pip` e configurando opportunamente la installazione, è possibile attivare il tracing. La configurazione richiede l'inserimento nel `siteconfig` delle Client Keys (DSN) fornite dai progetti configurati su Sentry per monitorare il backend o il frontend di una applicazione Genropy. Questo lo scheletro di esempio della configurazione da inserire:: Gli attributi possibili dell'elemento `sentry` sono i seguenti: +--------------------------------+---------+-------------+ | Attributo | Default | Descrizione | +================================+=========+=============+ | `js` | vuoto | Url Js | +--------------------------------+---------+-------------+ | `pydsn` | vuoto | DSN Python | +--------------------------------+---------+-------------+ | `sample_rate` | 0.0 | Sampling | +--------------------------------+---------+-------------+ | `traces_sample_rate` | 1.0 | Tracing | +--------------------------------+---------+-------------+ | `profiles_sample_rate` | 1.0 | Profiling | +--------------------------------+---------+-------------+ | `replays_session_sample_rate` | 0.0 | Replays | +--------------------------------+---------+-------------+ | `replays_on_error_sample_rate` | 0.0 | Replays | +--------------------------------+---------+-------------+ Per i valori di configurazione relativi ai rate, fare riferimento alla documentazione di Sentry per individuare quelli ottimali, in quanto variabili sulla base del tipo di installazione e uso dell'applicativo. Indicano, con valore da 0.0 a 1.0, la percentuale (rate) di raccolta e invio specifici. Riferimenti ----------- * https://github.com/getsentry/sentry * https://docs.sentry.io/platforms/python/configuration/sampling/ * https://docs.sentry.io/platforms/python/profiling/ .. sectionauthor:: Christopher Gabriel