.. _agentinfo: ######################################################################## Strumenti di amministrazione: agentinfo ######################################################################## .. contents:: Contenuti Introduzione ==================================================== E' possibile interagire con un agente di monitoraggio attraverso il comando: :: agentinfo [opzioni] [ [ ]] 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. Opzioni ==================================================== Le opzioni disponibili sono: :: --tenant= Permette di specificare il tenant di riferimento. **IMPORTANTE**: se non specificato, viene considerato il tenant *primario*. :: --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. Elenco Comandi ==================================================== info ----------------------- :: agentinfo info .. note: le informazioni riportate sono molto specifiche e non dovrebbero essere analizzate in maniera automatica poiche' il formato dei dati puo' cambiare nel tempo. when_is ----------------------- :: agentinfo when_is - Restituisce informazioni sull'orario di scheduli previsto per il datagroup indicato. Esempio: :: foo@localhost:/$ agentinfo when_is 'localhost;;icmp-reachability' echo ----------------------- :: agentinfo echo Semplice comando *echo". Invia la stringa di testo *string* e attende la risposta identica dall'agente. Esempio: :: foo@localhost:/$ agentinfo echo "Salve mondo" set_log_level ----------------------- :: agentinfo set_log_level 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. show_schedule ----------------------- :: agentinfo show_schedule Mostra i prossimi *num* datagroup che verrano eseguiti dall'agente, in ordine temporale. Esempio: :: foo@localhost:/$ agentinfo show_schedule 10 .. _agentinfo-check-in: check_in ----------------------- :: agentinfo check_in 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 check_now ----------------------- :: agentinfo check_now Riorganizza lo scheduling di esecuizione dei datagroup per forzare l'esecuzione del datagroup *path* immediatamente. .. danger: 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**. .. note: 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_now 'localhost;;icmp-reachability' Opzioni Speciali ==================================================== 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: :: :: 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.