Aug 212012
 

Questo è un mio articolo, pubblicato su Wazi

Ogni organizzazione deve monitorare l’uptime e le performance della sua infrastruttura. Mentre il popolare Nagios applicazione è un ottimo  programma di monotiraggio generico che si può estendere con plugin per gestire praticamente qualsiasi compito, si può fare ancora meglio con l’impiego di Cacti come front-end grafico alle funzioni di registrazione dati e funzionalità grafiche di RRDTool. Cacti è stato sviluppato appositamente per monitorare e raccogliere informazioni sulle prestazioni, mentre Nagios è più orientato verso i cambiamenti di stato, ad esempio rilevando se un demone sta funzionando o è spento.

RRDTool memorizza tutte le informazioni necessarie per creare grafici e sul come collezionare i dati in un database MySQL . Cacti fornisce modelli per raccogliere e visualizzare informazioni quali il carico del sistema (CPU, RAM, dischi), gli utenti connessi, il carico di MySQL, e Apache , ognuno dei quali può influire sulle prestazioni del tuo sito.

Il Front-end di Cacti è completamente scritto in PHP . Supporta la raccolta dei dati tramite diversi metodi, come script in qualsiasi linguaggio e SNMP.


Installazione

Per vedere come Cacti e RRDTool possono aiutare a monitorare i dispositivi in rete, useremo CentOS 6 come piattaforma server. Per funzionare correttamente, Cacti ha bisogno di uno stack LAMP completo e di aver installato RRDTool . Apache, PHP e MySQL sono disponibili nel repository standard di CentOS, mentre RRDTool è disponibile nel repository EPEL (Pacchetti Extra per Enterprise Linux), un repository che contiene pacchetti utili per distribuzioni basate su Red Hat Enterprise Linux, tra cui CentOS. Se non si dispone già di EPEL tra i sorgenti è possibile aggiungerlo facilmente. Se non si è sicuri se EPEL è installato, eseguire il comando #rpm -qa | grep -i EPEL . Se l’output è una riga vuota, probabilmente non è installato.

Il comando per aggiungere EPEL varia a seconda dell’architettura della CPU del server. Per installarlo su un sistema a 32 bit, eseguire:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm

Se avete un sistema a 64 bit, eseguite:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm

Quindi aggiornate il sistema con il comando # yum update. Ora potete usare yum come root per instalalre tutti i pacchetit necessari:

# yum -y install httpd
# chkconfig httpd on
# service httpd start

# yum -y install php php-mysql php-snmp php-xml

# yum install mysql mysql-server
# chkconfig mysqld on
# service mysqld start

# yum install -y rrdtool-php rrdtool

# yum install -y cacti net-snmp

La procedura di installazione Cacti aggiunge un file di configurazione per Apache – e cioè /etc/httpd/conf.d/cacti.conf – quindi bisogna riavviare Apache con il comando:

# service httpd restart

Prima di poter utilizzare Cacti è necessario configurare un database MySQL per esso. Creare il database con il comando:

# mysqladmin --user=root create cacti

Importare il database predefinito Cacti dalla directory progetti doc:

# mysql cacti < /usr/share/doc/cacti-0.8.7i/cacti.sql

Anche se è opzionale, è inoltre necessario creare su Mysql un nome utente e una password per Cacti. Qui di seguito ho specificato come nome utente cactiuser, ma è possibile utilizzare qualsiasi nome che vi piaccia:

# mysql --user=root mysql
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'unapassword';
mysql> flush privileges;

Ora modificare il file /usr/share/cacti/include/config.php e specificare il tipo di database, il nome, host, utente e la password per la configurazione Cacti.

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";

Successivamente, impostare le autorizzazioni appropriate sulle directory di Cacti per grafici e la generazione di log. Eseguire questo comando da dentro la directory di Cacti per cambiare i permessi:

# chown -R cactiuser rra/ log/

Per fare in modo che Cacti inizi a raccogliere i dati, aggiungere una riga al file /etc/crontab simile a:

*/5 * * * * cactiuser php /usr/share/cacti/poller.php > /dev/null 2>&1

L’applicazione Cacti raccoglie i dati utilizzando un programma conosciuto come un poller. Questa linea dice a cron di usare il poller standard e raccogliere i dati ogni cinque minuti.

Ora è possibile puntare il browser all’indirizzo http://vostro-server/cacti/ per richiamare una procedura guidata che vi chiederà se si tratta di una nuova installazione, e che verifica che tutte le variabili e le impostazioni utilizzate da Cacti siano corrette (vedere la figura seguente). Una volta completata correttamente è possibile accedere a Cacti con un nome utente e una password di admin. Vi sarà richiesto di modificare la password immediatamente.

Cacti2

Si noti che durante l’installazione vi verrà chiesto quali versioni di alcuni pacchetti state usando. Per determinare quali versioni di RRDTool e net-snmp sono installate sul vostro sistema, utilizzare i comandi:

# rpm –qa net-snmp
# rpm –qa rrdtool

Configurazione di Cacti

Ora si può lavorare dall’interfaccia web per controllare i grafici e aggiungere nuovi dispositivi alla installazione di Cacti. In Cacti, un dispositivo può essere qualsiasi hardware o software che possa essere monitorato in remoto o in locale. La macchina locale dovrebbe essere già elencata, anche se la prima volta che si richiamano i grafici di Cacti potrebbe non essere pronta, quindi attendere alcuni minuti e verificare i grafici di nuovo. Si dovrebbero vedere informazioni sulla vostra macchina locale, come ad esempio l’utilizzo della CPU e il traffico di rete.

Per aggiungere un dispositivo di rete, è necessario conoscere l’indirizzo IP e le credenziali SNMP. In particolare, per i dispositivi che utilizzano SNMPv2, si deve fornire la community SNMP. Con il miglioramento della sicurezza in SNMPv3 bisogna invece fornire ulteriori informazioni .

Cactus ha una serie di modelli per i dati che definiscono la struttura per la memorizzazione dei dati dei vari oggetti, e che riconoscono l’hardware più comune, in pratica, usano il MIB hardware. Questo tipo di modello viene applicato a specifici host per creare file RRD.

Per aggiungere un nuovo dispositivo attenersi alla seguente procedura:

  • Scegliere Aggiungi un dispositivo, e specificare il nome del dispositivo, l’indirizzo IP e le informazioni SNMP.
    Cacti3

 

  • Dopo aver salvato il vostro nuovo dispositivo, si dovrebbe essere reindirizzati allo stesso form di modifica con alcune informazioni aggiuntive. Se la connessione SNMP va a buon fine si vedrà sullo schermo un nuovo dispositivo le informazioni SNMP in alto a sinistra.

    Cacti4

  • Per impostazione predefinita Cacti ha aggiunto le Statistiche dell’interfaccia SNMP del dispositivo associato alla query dei dati. È inoltre possibile verificare lo stato della SNMP Interface Statistics Data Query. Si dovrebbe vedere “success” e dovrebbe mostrare il numero di elementi e di righe. È anche possibile fare clic su Verbose Query per ottenere i dati grezzi SNMP.

Cacti utilizza anche dei modelli per i grafici, che vengono applicati a specifici host per creare i grafici con RRDTool. Se si desidera creare un grafico per un dispositivo, fare clic su Crea Grafici per questo host. Nella parte superiore dello schermo, selezionare i modelli di grafico che rappresentano le informazioni di base del dispositivo che si desidera aggiungere, e le interfacce che si desidera aggiungere al grafico (vedi figura sotto). Selezionare il tipo di grafico, se si dispone di interfacce 10/100, io suggerisco di usare In/Out bit con 95° percentile, mentre per le interfacce Gigabit Ethernet è possibile utilizzare In/Out bits (64-bit counters). Non è possibile creare grafici per le interfacce VLAN, perché non segnalano correttamente le statistiche. Dopo aver scelto le impostazioni desiderate, fare clic su Crea.

Cacti5

Dopo qualche tempo, una volta che Cacti ha raccolto dati sufficienti, vedrete i grafici simili a questi:

Cacti6

È possibile in Cacti aggiungere tutti i dispositivi di rete che dispongono di un demone SNMP attivo, quindi creare grafici diversi per ogni dispositivo di rete.

Quando si aggiunge un dispositivo si può facoltativamente scegliere un modello di host per esso. Modelli di host hanno uno scopo diverso dai modelli per dati e grafici. Invece di astrarre i campi di un host, un modello di host permette di associare modelli di tipo grafico e query di dati con un tipo di dato host. In altre parole, un modello host è un insieme predefinito di grafici e/o query di dati che possono essere assegnati ai dispositivi. L’utilizzo di un modello di host per i dispositivi complessi riduce l’attività amministrativa per l’aggiunta di dispositivi, è possibile definire un modello appropriato una volta e assegnarlo più volte.

Best Practice

Spero che possiate vedere come è semplice utilizzare Cacti per ottenere informazioni sui dispositivi di rete. Utilizza il protocollo SNMP per ottenere e conservare nel tempo tutte le informazioni sui dispositivi di rete e le relative interfaccie. Io uso Cacti sia per l’analisi dei dati in tempo reale, e per vedere lo storico di utilizzo di una scheda di rete specifica. RRD è in grado di memorizzare informazioni per un lungo periodo di tempo, quindi è possibile vedere facilmente se qualcosa è cambiato nella vostra rete.

Mentre la rete è di solito l’obiettivo di Cacti, è anche possibile utilizzare Cacti per ottenere informazioni su host Windows e Linux. Basta attivare il protocollo SNMP su ogni host che si desidera monitorare e scrivere il proprio modello di host, o scaricarne uno dalla pagine dei contributi al progetto .

Cacti ha anche alcuni plugin che estendono l’uso di questo software. Vi suggerisco di provare Mactrack , che analizza i dispositivi di rete e individua e associa automaticamente gli indirizzi MAC con i loro indirizzi IP specifici. Raccoglie e memorizza le informazioni sulle interfaccia di rete, quali contatori di errore e di utilizzo di banda, in tutti gli apparati di rete.

Infine, se si desidera ottenere qualcosa in più, è possibile integrare Cacti con Nagios. Per esempio, è possibile utilizzare Cacti per memorizzare le informazioni sulle prestazioni di tutta la vostra rete e dispositivi host e utilizzare Nagios per controllare soglie e inviare notifiche. Infatti, il plugin NPC fornisce una completa interfaccia utente web-based per sostituirla a quella di Nagios e nel contempo integrarla pienamento in Cacti mediante l’architettura dei plugin Cacti. Questo potrebbe essere un ottimo punto di accesso per la vostra allarmistica ed analisi delle performance.

Popular Posts:

Flattr this!

  One Response to “Cacti rende semplice il monitoraggio dei dispositivi”

  1. Ciao sono nuovo, mi sto affacciando al mondo linux, più precisamente ad una macchina centos 7 sulla quale vorrei installare un sistema di monitoraggio, in passato (7 anni fa circa) ho usato la coppia nagios/nagvis, non male ma un pò macchinosa per l’implementazione di nuovi host.. Ora stavo leggendo di cacti che sembra una valida alternativa…
    Sulla tua guida che sto cercando di seguire mi blocco qui:
    # mysqladmin –user=root create cacti
    ho questo errore:
    mysqladmin: connect to server at ‘localhost’ failed
    error: ‘Access denied for user ‘root’@’localhost’ (using password: NO)’

    Tengo a precisare che alla macchina non ho fatto variazioni, installazione standard e installazione lamp… niente di più!

    Grazie per l’aiuto

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*