4.5. Strumenti di amministrazione: agentinfo

4.5.1. Introduzione

E’ possibile interagire con un agente di monitoraggio attraverso il comando:

agentinfo [opzioni] [ <comando> [ <parametri> ]]

Il comando permette di inviare comandi/richieste all’agente e ricevere il risultato.

In assenza di parametri, il comando e’ equivalente a:

foo@localhost:/$ agentinfo get_info

Warning

Il comando “agentinfo” comunica via rete con l’agente utilizzando dei timeout. Se l’agente e’ lento la risposta viene persa, ma questo non signifca l’agente non stia funzionado correttamente.

4.5.2. Opzioni

Le opzioni disponibili sono:

--tenant=<TENANT>

Permette di specificare il tenant di riferimento.

IMPORTANTE: se non specificato, viene considerato il tenant primario.

--agent=<AGENT>

Permete di specificare l’agente che si vuole interrogare.

IMPORTANTE: se non specificato viene interrogato l’agente primario del tenant selezionato.

--timeout=TIMEOUT

Permette di forzare un timeout in secondi sull’invio/ricezione della risposta.

4.5.3. Elenco Comandi

4.5.3.1. info

agentinfo info

4.5.3.2. when_is

agentinfo when_is <datagroup path>-

Restituisce informazioni sull’orario di scheduli previsto per il datagroup indicato.

Esempio:

foo@localhost:/$ agentinfo when_is  'localhost;;icmp-reachability'

4.5.3.3. echo

agentinfo echo <string>

Semplice comando echo”. Invia la stringa di testo *string e attende la risposta identica dall’agente.

Esempio:

foo@localhost:/$ agentinfo echo "Salve mondo"

4.5.3.4. set_log_level

agentinfo set_log_level <num>

Modifica il livello di log (su file) dell’agente. Il valore di default e’ 20.

La scala di valori e’ la seguente:

1-19  DEBUG
20-29 INFO
30-39 WARNING
40-49 ERROR
50-59 CRITICAL
60-   FATAL

Esempio:

foo@localhost:/$ agentinfo set_log_level 10

IMPORTANTE: impostare il livello di DEBUG puo’ comportare un rallentamente molto importante delle prestazioni dell’agente.

4.5.3.5. show_schedule

agentinfo show_schedule <num>

Mostra i prossimi num datagroup che verrano eseguiti dall’agente, in ordine temporale.

Esempio:

foo@localhost:/$ agentinfo show_schedule 10

4.5.3.6. check_in

agentinfo check_in <path> <seconds>

Riorganizza lo scheduling di esecuizione dei datagroup per forzare l’esecuzione del datagroup path dopo seconds secondi dal momento di invio del comando.

IMPORTANTE: Il comando comporta una riorganizzazione dell’ordine di scheduling ed e’ molto costoso in termini di elaborazione. NON UTILIZZARE QUESTO COMANDO PER FORZARE AGGIORNAMENTI MASSIVI.

IMPORTANTE: Sanet non e’ un sistema realtime. L’esecuzione di un datagroup e’ garantita, ma potrebbe essere ritardata a causa del carico di elaborazione da parte dell’agente.

Esempio:

foo@localhost:/$ agentinfo check_in  'localhost;;icmp-reachability'  30

4.5.3.7. check_now

agentinfo check_now <path>

Riorganizza lo scheduling di esecuizione dei datagroup per forzare l’esecuzione del datagroup path immediatamente.

Esempio:

foo@localhost:/$ agentinfo check_now  'localhost;;icmp-reachability'

4.5.4. Opzioni Speciali

4.5.4.1. Stato di tutti gli agenti

E’ possibile avere lo stato di tutti gli agenti con il comando:

agent-info --checkall

Per ogni agente viene restituita una riga con:

<nome tenant>:<agente>:<stato>

Dove stato puo’ essere “RUNNING” o “ERROR”.

Esempio:

# agentinfo --checkall
site:main-agent:RUNNING

E’ possibile avere un maggiore dettaglio utilizzando:

agent-info --checkall-details

Esempio:

# agentinfo --checkall-details
site:main-agent:RUNNING conditions=278;critical_problems=;datagroups=317;datasources=369;devices=0;dgrate=4.38732394366;ifaces=49;nodes=49;rmemory=36577280;services=7;squeuelen=0;storages=8;vmemory=521895936;wqueuelen=0

I dettagli contengono informazioni sul numero di risorse monitorate, stato delle code, ecc.

Important

i dettagli interni potrebbero cambiare nome/posizione nel tempo.