User Tools

Site Tools


doc:appunti:linux:sa:cacti

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
Next revisionBoth sides next revision
doc:appunti:linux:sa:cacti [2016/11/08 12:05] – [Problema con nsExtendOutput1Line] niccolodoc:appunti:linux:sa:cacti [2019/07/18 13:14] – [Percentuale CPU e multi-core] niccolo
Line 251: Line 251:
 </code> </code>
  
 +====== Problema con UTF-8 ======
 +
 +Alcuni caratteri speciali (ad esmempio il simbolo di grado Celsius) non vengono mostrati nei grafici RRD. Secondo questo [[http://bugs.cacti.net/view.php?id=2533|bug report]] si tratta della funzione ''escapeshellarg()'' di PHP invocata senza aver prima invocato un opportuno ''setlocale()''. Come workaround si consiglia di aggiungere tale chiamata di funzione nel file ''/usr/share/cacti/site/lib/auth.php'', ma per una installazione Debian ha più senso aggiungerlo nel file **''/etc/cacti/debian.php''**.
 +
 +====== Percentuale CPU e multi-core ======
 +
 +L'installazione predefinita di Cacti mette a disposizione il template di grafico **ucd/net - CPU Usage**, che si basa sui seguenti OIDs:
 +
 +  * 1.3.6.1.4.1.2021.11.50.0 => **ssCpuRawUser**
 +  * 1.3.6.1.4.1.2021.11.51.0 => **ssCpuRawNice**
 +  * 1.3.6.1.4.1.2021.11.52.0 => **ssCpuRawSystem**
 +
 +Il risultato è abbastanza approssimativo, anzitutto perché mancano alcune metriche (ad esempio **ssCpuRawKernel**, **ssCpuRawInterrupt**, ecc.), ma soprattutto **non tiene conto dei sitemi multiprocessore** o dei processori multicore. In effetti il valore complessivo ottenuto andrebbe diviso per il numero totale di CPU del sistema, altrimenti si ottiene un **valore sovrastimato del carico percentuale**. Vedere in proposito il post **[[https://serverfault.com/questions/441897/how-to-calculate-cpu-based-on-raw-cpu-ticks-in-snmp|How to calculate CPU % based on raw CPU ticks in SNMP]]**.
 +
 +Una soluzione è quella proposta dall'utente **Instigater** nel **[[https://forums.cacti.net/viewtopic.php?p=190739|forum di Cacti]]**, si basa sui seguenti OIDs:
 +
 +  * 1.3.6.1.4.1.2021.11.50.0 => **ssCpuRawUser**
 +  * 1.3.6.1.4.1.2021.11.51.0 => **ssCpuRawNice**
 +  * 1.3.6.1.4.1.2021.11.52.0 => **ssCpuRawSystem**
 +  * 1.3.6.1.4.1.2021.11.53.0 => **ssCpuRawIdle**
 +  * 1.3.6.1.4.1.2021.11.54.0 => **ssCpuRawWait**
 +  * 1.3.6.1.4.1.2021.11.55.0 => **ssCpuRawKernel**
 +  * 1.3.6.1.4.1.2021.11.56.0 => **ssCpuRawInterrupt**
 +  * 1.3.6.1.4.1.2021.11.61.0 => **ssCpuRawSoftIRQ**
 +
 +inoltre sono definite due funzioni CDEFs che si occupano di normalizzare il valore rispetto al numero di CPU:
 +
 +  * **Full ucd/net CPU Usage - Get percentage**
 +  * **Full ucd/net CPU Usage - Total CPU Usage**
 +
 +Il file con il template [[https://forums.cacti.net/download/file.php?id=20704|cacti_graph_template_ucdnet_-_full_cpu_usage.zip]] ha però **un bug**, l'**Item #12** usa la funzione CDEF sbagliata: //Total CPU Usage// invece di //Get percentage//.
 +
 +Il template include le seguenti **due funzioni CDEF**:
 +
 +<file>
 +Full ucd/net CPU Usage - Get percentage
 +cdef=CURRENT_DATA_SOURCE,ALL_DATA_SOURCES_NODUPS,/,100,*
 +
 +Full ucd/net CPU Usage - Total CPU Usage
 +cdef=ALL_DATA_SOURCES_NODUPS,h,-,ALL_DATA_SOURCES_NODUPS,/,100,*
 +</file>
 +
 +La prima calcola la **percentuale di ciascuna grandezza** rispetto alla somma di tutte le altre (somma che include anche //Idle//, quindi ottiene effettivamente una percentuale). La seconda funzione esegue la somma di tutte le grandezze, quindi sottrae l'ottava (contrassegnata dalla lettera **h**, si tratta del tempo //Idle//) e calcola la percentuale rispetto alla somma di tutte. Questo produce la **percentuale totale** dell'uso della CPU. Tutti i calcoli producono una **percentuale corretta rispetto al numero di CPU**.
doc/appunti/linux/sa/cacti.txt · Last modified: 2021/02/26 12:44 by niccolo