Skip to content

Commit

Permalink
[GovWayCore, GovWayMonitor]
Browse files Browse the repository at this point in the history
Aggiunta possibilità di effettuare una verifica puntuale sull'aggiornamento dei dati statistici tramite il servizio di 'health check'.
Inoltre nella testata della console, lo stato di autodiagnosti riporta adesso anche l'informazione sullo stato di aggiornamento dei dati statistici.
  • Loading branch information
andreapoli committed Aug 2, 2024
1 parent d8dc6e1 commit 07ecc8c
Show file tree
Hide file tree
Showing 23 changed files with 1,004 additions and 355 deletions.
8 changes: 7 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
2024-08-02 Andrea Poli <[email protected]>
2024-08-05 Andrea Poli <[email protected]>

* Rilasciata versione 3.3.15

2024-08-02 Andrea Poli <[email protected]>

* [GovWayCore, GovWayMonitor]
Aggiunta possibilità di effettuare una verifica puntuale sull'aggiornamento dei dati statistici tramite il servizio di 'health check'.
Inoltre nella testata della console, lo stato di autodiagnosti riporta adesso anche l'informazione sullo stato di aggiornamento dei dati statistici.

2024-08-01 Andrea Poli <[email protected]>

* [GovWayCore]
Expand Down
4 changes: 4 additions & 0 deletions ant/setup/deploy/resources/core/govway_local.properties
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloOrario.verifica
org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloOrario.soglia=1
org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloGiornaliero.verifica=true
org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloGiornaliero.soglia=1
# È inoltre possibile aggiungere ai controllo di 'health check' effettuati invocando il servizio senza parametri anche l'aggiornamento dei dati statistici abilitando la proprietà seguente.
# L'abilitazione di tale proprietà è sconsigliata poichè un eventuale rilevamento di dati statistici non aggiornati potrebbe rendere indisponibile il nodo
# (es. un load balancer che utilizza il servizio di health check per individuare se un nodo è attivo o meno). Si consiglia invece di richiamare il servizio puntualmente utilizzando i parametri suddetti.
org.openspcoop2.pdd.check.healthCheck.reportStatistici.enabled=false
# ================================================

# ================================================
Expand Down
1 change: 1 addition & 0 deletions core/deploy/properties/govway.properties
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ org.openspcoop2.pdd.check.healthCheck.apiSoap.endpoint=http://localhost:8080/gov
# Quindi, ad esempio, all'ora precedente per l'orario, al giorno precedente per il giornaliero e così via.
# Se si indica '0', si vuole imporre che le statistiche siano aggiornate (anche parzialmente) all'ultimo intervallo.
# NOTA: potrebbe creare dei falsi positivi se la generazione delle statistiche avviene dopo il check.
org.openspcoop2.pdd.check.healthCheck.reportStatistici.enabled=false
org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloOrario.verifica=true
org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloOrario.soglia=1
org.openspcoop2.pdd.check.healthCheck.reportStatistici.intervalloGiornaliero.verifica=true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public class BaseStatus implements IStatus {
private String descrizione;

public BaseStatus() {

// nop
}

@Override
Expand Down
23 changes: 23 additions & 0 deletions core/src/org/openspcoop2/pdd/config/OpenSPCoop2Properties.java
Original file line number Diff line number Diff line change
Expand Up @@ -1948,6 +1948,7 @@ else if( !CostantiConfigurazione.CONFIGURAZIONE_DB.equalsIgnoreCase(getTipoConfi
this.getCheckHealthCheckApiSoapEndpoint()==null) {
return false;
}
this.isCheckHealthCheckStatsEnabled(); // le verifiche sotto vengono fatte lo stesso poichè la verifica della statistica può essere fatta on demand
if(this.isCheckHealthCheckStatsHourlyEnabled() &&
this.getCheckHealthCheckStatsHourlyThreshold()<0) {
return false;
Expand Down Expand Up @@ -20618,6 +20619,28 @@ public String getCheckHealthCheckApiSoapEndpoint() {
return this.getCheckHealthCheckApiSoapEndpoint;
}

private Boolean isCheckHealthCheckStatsEnabled = null;
public boolean isCheckHealthCheckStatsEnabled() {
if(this.isCheckHealthCheckStatsEnabled==null){
String pName = "org.openspcoop2.pdd.check.healthCheck.reportStatistici.enabled";
try{
String name = null;
name = this.reader.getValueConvertEnvProperties(pName);
if(name==null){
this.logWarn(getMessaggioProprietaNonImpostata(pName, false));
name="false";
}
name = name.trim();
this.isCheckHealthCheckStatsEnabled = Boolean.parseBoolean(name);
} catch(java.lang.Exception e) {
this.logError("Riscontrato errore durante la lettura della proprieta' di openspcoop '"+pName+"': "+e.getMessage(),e);
this.isCheckHealthCheckStatsEnabled = false;
}
}

return this.isCheckHealthCheckStatsEnabled;
}

private Boolean isCheckHealthCheckStatsHourlyEnabled = null;
public boolean isCheckHealthCheckStatsHourlyEnabled() {
if(this.isCheckHealthCheckStatsHourlyEnabled==null){
Expand Down
11 changes: 10 additions & 1 deletion core/src/org/openspcoop2/pdd/core/CostantiPdD.java
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,16 @@ public static String getOpenspcoop2LoggerFactoryName(String protocol) {

public static final MapKey<String> BUSTA_RISPOSTA = Map.newMapKey("BustaProprietaHeaderIntegrazione");


public static final String CHECK_STATO_PDD_EXECUTE_HEALTH_CHECK_STATS = "executeHealthCheckStats";
public static final String CHECK_STATO_PDD_EXECUTE_HOURLY_HEALTH_CHECK_STATS = "executeHourlyHealthCheckStats";
public static final String CHECK_STATO_PDD_EXECUTE_DAILY_HEALTH_CHECK_STATS = "executeDailyHealthCheckStats";
public static final String CHECK_STATO_PDD_EXECUTE_WEEKLY_HEALTH_CHECK_STATS = "executeWeeklyHealthCheckStats";
public static final String CHECK_STATO_PDD_EXECUTE_MONTHLY_HEALTH_CHECK_STATS = "executeMonthlyHealthCheckStats";

public static final String CHECK_STATO_PDD_EXECUTE_HOURLY_HEALTH_CHECK_STATS_THRESHOLD = "hourlyHealthCheckStatsThreshold";
public static final String CHECK_STATO_PDD_EXECUTE_DAILY_HEALTH_CHECK_STATS_THRESHOLD = "dailyHealthCheckStatsThreshold";
public static final String CHECK_STATO_PDD_EXECUTE_WEEKLY_HEALTH_CHECK_STATS_THRESHOLD = "weeklyHealthCheckStatsThreshold";
public static final String CHECK_STATO_PDD_EXECUTE_MONTHLY_HEALTH_CHECK_STATS_THRESHOLD = "monthlyHealthCheckStatsThreshold";

public static final String CHECK_STATO_PDD_METHOD_NAME = "methodName";
public static final String CHECK_STATO_PDD_ATTRIBUTE_NAME = "attributeName";
Expand Down
Loading

0 comments on commit 07ecc8c

Please sign in to comment.