User Tools

Site Tools


doc:appunti:linux:sa:icinga

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:icinga [2017/10/23 17:00] niccolodoc:appunti:linux:sa:icinga [2017/12/21 11:34] (current) – [Icinga] niccolo
Line 3: Line 3:
 In **Debian 9 Stretch** non c'è il pacchetto Nagios, esiste piuttosto **Icinga**, un progetto derivato da Nagios che può condividere gran parte delle sonde e plugin già sviluppati. In **Debian 9 Stretch** non c'è il pacchetto Nagios, esiste piuttosto **Icinga**, un progetto derivato da Nagios che può condividere gran parte delle sonde e plugin già sviluppati.
  
 +===== Uso dei Plugin Nagios =====
 +
 +Nella configurazione predefinita di Debian 9 Stretch in **/etc/icinga/icinga.cfg** c'è la seguente direttiva:
 +
 +<file>
 +cfg_dir=/etc/nagios-plugins/config
 +</file>
 +
 +quindi valgono tutte le definizioni eventualmente ereditate da una installazione Nagios. Ad esempio il comando **check-host-alive** eseguito per ogni host da Icinga prende la sua definizione da **/etc/nagios-plugins/config/ping.cfg**.
 ===== Performance data e grafici ===== ===== Performance data e grafici =====
  
-È possibile sfruttare il meccanismo dei **[[https://www.icinga.com/docs/icinga1/latest/en/perfdata.html|performance data]]** per far generare dei grafici relativi ai servizi monitorati con Icinga.+È possibile sfruttare il meccanismo dei **[[https://www.icinga.com/docs/icinga1/latest/en/perfdata.html|performance data]]** per far generare dei grafici relativi ai servizi monitorati con Icinga. Vediamo ad esempio come generare i grafici relativi al ping, cioè i valori di **Round-Trip Average** e di **Packet Loss**. 
 + 
 +Anzitutto conviene attivare l'analisi dei //performance data// solo sul servizio in questione, verificare ad esempio che il template **generic-service** abbia la direttiva disabilitata. Le direttive sono **process_perf_data** e **action_url**: 
 + 
 +<file> 
 +define service { 
 +    hostgroup_name        ping-servers 
 +    service_description   Ping 
 +    check_command         check_ping!1000.0,20%!3000.0,60% 
 +    process_perf_data     1 
 +    action_url            /rrd4icinga/action_url_graph.php?host=$HOSTNAME$ 
 +    use                   generic-service 
 +
 +</file> 
 + 
 +Vedremo il parametro **action_url** tra breve, per il momento facciamo in modo che esista uno script che riceve i performance data e li memorizzi da qualche parte. Il comando **process-service-perfdata** è definito per default in **/etc/icinga/commands.cfg** e scrive tutti i dati nel file ''/var/cache/icinga/service-perfdata.out''. Noi predisponiamo uno script più sofisticato che alimenta un archivio RRD: 
 + 
 +<file> 
 +define command { 
 +  command_name process-service-perfdata 
 +  command_line /opt/rrd-update "$LASTSERVICECHECK$" "$HOSTNAME$" "$SERVICEDESC$" "$SERVICEPERFDATA$" 
 +
 +</file> 
 + 
 +Il parametro **%%$LASTSERVICECHECK$%%** viene sostituito dal timestamp (i secondi trascorsi dallo Unix Epoch), mentre il parametro **%%$SERVICEPERFDATA$%%** contiene i dati veri e propri, ecco un esempio: 
 + 
 +<code> 
 +rta=32.287998ms;1000.000000;2000.000000;0.000000 pl=0%;20;60;
 +</code> 
 + 
 +Per ogni grandezza abbiamo: **nome**=**valore_unità_di_misura**;**soglia_warning**;**soglia_critica**;**???**. Lo script deve ovviamente gestire tutto il necessario, ad esempio creare l'archivio RRD se questo non esiste, gestire host diversi, ecc. In pratica farà le chiamate necessarie a **rrdtool** passando i parametri **create** o **update** con i necessari valori. 
 + 
 +==== Presentazione del grafico ==== 
 + 
 +La presenza del parametro **action_url** fa comparire una icona (predefinita quella a forma di ingranaggio) accanto al servizio per cui è disponibile il dato. Sarà necessario predisporre una pagina opportuna che generi al volo i grafici a partire dall'archivio RRD. 
 + 
 +Qui un archivio con tutto il necessario: **{{icinga-performance-data-ping-graph.tgz}}**.
doc/appunti/linux/sa/icinga.1508770823.txt.gz · Last modified: 2017/10/23 17:00 by niccolo