Consulenze tecnologiche e informatiche

Con l’uso di Autotask Endpoint Managment (AEM) esistono delle situazioni in cui è necessario eseguire dei componenti di manutenzione in modo automatico e con delle schedulazioni flessibili che ne garantiscano l’esecuzione.

La pianificazione standard dei Job permette tuttavia di lavorare solo su delle basi precise di orari, rendendo quindi necessario creare più istanze nel corso della giornata, che comunque non garantisce che il componente venga eseguito, per il semplice fatto che il computer potrebbe essere accesso solo nel periodo che intercorre tra due pianificazioni, ma non nel momento previsto.

Quindi che fare?
Il monitor al servizio dei componenti!

 

Cosa c’entra il monitor con i componenti

 

AEM - Monitor response

AEM – Monitor response

Oltre alla possibilità di creare e usare dei componenti monitor, questa funzione di AEM permette anche di rispondere ad un allarme di un monitor con un componente, opzione che viene configurata nella sezione Response Detail, insieme all’invio delle email di segnalazione.

Questo meccanismo ci permette di creare un monitor specifico per operare in base a degli eventi temporali e quindi attivare i componenti in giorni specifici e con tentativi svincolati dall’orario. In questo modo possiamo avere un monitor che si ripete ogni dieci minuti e fino a quando lo specifico componente è stato eseguito.

Vediamo come funziona questo monitor.

 

Date trigger monitor

 

AEM - Componente schedulatore

AEM – Componente schedulatore

Il componente monitor che abbiamo creato si limita ad acquisire il giorno del mese dal computer su cui sta operando e quindi a confrontarlo con quattro date impostate nella sua configurazione di esecuzione, la corrispondenza di una delle date crea un allarme, che viene risolto automaticamente con l’esecuzione del componente che desideriamo eseguire.

Nello stesso momento salva un file di segnalazione nel percorso C:\ProgramData\CentraStage del disco, il file è vuoto e ha il nome specificato nelle variabili di configurazione e senza spazi.
La presenza di questo file impedisce al monitor di generare ulteriori allarmi nel corso della giornata e quindi esecuzioni inutili del componente.
Il file viene successivamente rimosso nel giorno inserito attraverso le variabili di configurazione.
Trattandosi di un monitor che ha la funzione di schedulatore il livello di alert può essere di tipo Informativo, non trattandosi di un evento che segnala dei malfunzionamenti.

 

Qualche informazione sullo script del componente monitor

 

Il componente di tipo monitor è interamente basato sui comandi batch di Microsoft Windows, quindi adattabili a qualsiasi versione di sistema operativo.

@echo off

for /F “usebackq tokens=1,2 delims==” %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if ‘.%%i.’==’.LocalDateTime.’  set ldt=%%j

set ldt=%ldt:~6,2%

Per prima cosa utilizziamo un ciclo for per estrarre dal output del comando wcim la data in formato internazionale, dalla quale estraiamo esclusivamente il giorno del mese, che è il valore che ci serve in questa versione del monitor.

for %%i in (%DAY1% %DAY2% %DAY3% %DAY4%) do if %ldt% == %%i (goto WORK) ELSE (goto END)

Usando di nuovo il ciclo for verifichiamo che il giorno ottenuto sia presente in una delle variabili impostate per il monitor come date di esecuzione, quindi in caso positivo passiamo alla sezione WORK ed in caso negativo alla sezione END e all’uscita dallo script.

:WORK
if exist C:\ProgramData\CentraStage\%FLAG_FILE% (goto END)
echo. 2>C:\ProgramData\CentraStage\%FLAG_FILE%
echo ^<-Start Result-^>
echo CSMon_Result=%ldt% Eseguire pulizia echo ^<-End Result-^>
exit /B 1

La sezione WORK verifica la presenza del file di segnalazione definito nelle variabili e se lo trova passa alla sezione END senza innescare l’allarme, questo perché l’evento è già stato eseguito nella giornata. Al primo passaggio il file non esiste e quindi viene creato e generato il messaggio di errore per il monitor. L’allarme viene innescato dall’uscita con il comando exit /B 1, ovvero uscita con errore.

:END
for %%x in (%DAYEND1% %DAYEND2% %DAYEND3% %DAYEND4%) do if %ldt% == %%x (
IF exist C:\ProgramData\CentraStage\%FLAG_FILE% (
del C:\ProgramData\CentraStage\%FLAG_FILE%
))
exit /B 0

La sezione END verifica se la data corrente è presente nelle variabili per la cancellazione del file di segnalazione e se il file esiste, in tal caso lo rimuove ed esce senza errore con il comando exit /B 0, ovvero uscita senza errore.

 

Le variabili del componente

 

AEM - Le variabili del componente

AEM – Le variabili del componente

Le variabili usate nel componente devono essere definite al suo interno, in questo tipo di elemento ci troviamo a dover usare sia le variabili di input e obbligatoriamente quelle di output.
Le variabili DAY*DAYEND* e FLAG_FILE devono essere definite nel componente come variabili di input di tipo value, mentre la variabile CSMon_Result deve essere definita nel componente come variabile di output di tipo string,

 

Scarica il componente di base

 

Categorie
Archivi
Count per Day
  • 80Questo articolo:
  • 172849Totale letture:
  • 28Letture odierne:
  • 281Letture di ieri:
  • 21 novembre 2016Dal:
Iscriviti alla Newsletter
Iscriviti alla nostra newsletter ed unisciti ai nostri iscritti.

Seleziona lista (o più di una):




Trattamento dei dati