GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Cacti SNMP Monitoring Tool su Debian 9

Questo tutorial ti mostrerà come installare e configurare lo strumento di monitoraggio della rete Cacti dal sorgente per assicurarti di ottenere l'ultima versione su Debian 9, nome in codice Stretch.

Cacti è uno strumento di monitoraggio della rete basato sul web, completamente open source, progettato per visualizzare la grafica di rete e di sistema tramite RRDtool. Utilizza il protocollo SNMP (Simple Network Management Protocol) per raccogliere e monitorare il traffico di rete da dispositivi di rete, come switch, router, server Linux, Unix e Windows o altri tipi di dispositivi basati su rete che supportano SNMP.

Requisiti

  • Installazione minima di Debian 9 su una macchina bare-metal o su un server privato virtuale.
  • Un indirizzo IP statico configurato per una delle schede di interfaccia di rete del tuo sistema.
  • Accesso all'account root o a un utente con privilegi dell'account root tramite sudo.

Configurazione iniziale

Prima di iniziare a installare Cacti dal sorgente, assicurati che il tuo sistema soddisfi tutti i requisiti software per la compilazione e l'installazione di Cacti. Nel primo passaggio, apri il file dell'elenco dei sorgenti Debian per la modifica con i privilegi di root e aggiungi i repository contrib e non-free come mostrato nell'estratto del file sottostante.

nano /etc/apt/sources.list

esempio di file sources.list:

deb http://ftp.ro.debian.org/debian/ stretch main contrib non libero
deb-src http://ftp.ro.debian.org/debian/ stretch main
 
deb http://security.debian.org/debian-security stretch/updates main contrib non libero
deb-src http://security.debian.org/debian-security stretch/updates main

Dopo aver terminato la modifica del file, salva e chiudi il file e aggiorna i repository di sistema e i pacchetti software per incorporare i nuovi pacchetti, eseguendo i comandi seguenti.

aggiornamento adatto
aggiornamento appropriato

 

Quindi, avvia un nuovo comando per installare alcune utilità necessarie che verranno utilizzate per gestire ulteriormente il tuo sistema dalla riga di comando.

apt install wget patch decomprimi zip bash-completamento

Cacti è uno strumento di monitoraggio basato sul Web scritto principalmente nel linguaggio di programmazione lato server PHP. Per eseguire gli script di file php di Cacti, è necessario che nel sistema siano installati e funzionanti un server Web, come il server HTTP Apache, e un interprete PHP. Per installare il server Web Apache e l'interprete PHP insieme a tutti i moduli PHP necessari per il corretto funzionamento di Cacti, immetti il ​​seguente comando nella console del tuo server.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0- zip php7.0-ldap php7.0-mcrypt

 

Dopo aver installato Apache e PHP, verifica se il server web è attivo e funzionante e in attesa di connessioni di rete sulla porta 80 eseguendo il comando seguente con privilegi di root.

netstat –tlpn

Nel caso netstat l'utilità di rete non è installata per impostazione predefinita sul tuo sistema Debian, esegui il comando seguente per installarla.

apt install net-tools

Esaminando il netstat output del comando puoi vedere che il demone Apache è in ascolto per le connessioni di rete in entrata sulla porta 80.

 

Nel caso in cui tu abbia un firewall abilitato sul tuo sistema, come l'applicazione firewall UFW, dovresti aggiungere una nuova regola per consentire al traffico HTTP di passare attraverso il firewall emettendo il seguente comando.

ufw consenti WWW

o

ufw consente 80/tcp

Infine, verifica se la pagina Web predefinita del server Web Apache può essere visualizzata nel browser del tuo client visitando l'indirizzo IP della tua macchina Debian tramite il protocollo HTTP, come mostrato nell'immagine seguente. Se non conosci l'indirizzo IP della tua macchina, esegui 'ifconfig' o 'ip a' comandi. Il mio IP in questa configurazione è:http://192.168.1.14

Nel passaggio successivo, dobbiamo apportare ulteriori modifiche al file di configurazione predefinito di PHP per garantire che file_uploads è abilitata e il PHP fuso orario l'impostazione è configurata correttamente e corrisponde alla posizione fisica del sistema. Apri /etc/php/7.0/apache2/php.ini file per la modifica e assicurarsi che le seguenti righe siano impostate come segue.

file_uploads =Attivo
date.timezone =Europa/Londra

Sostituisci la variabile timezone in base al tuo fuso orario fisico consultando l'elenco dei fusi orari fornito dai documenti PHP al seguente link http://php.net/manual/en/timezones.php

Dopo aver apportato le modifiche richieste, crea un file di informazioni php e riavvia il demone Apache per applicare le modifiche emettendo i seguenti comandi.

eco ''| tee /var/www/html/info.php
systemctl riavvia apache2

  Verifica se il fuso orario PHP è stato configurato correttamente visitando lo script info php da un browser al seguente URL (come illustrato nell'immagine sottostante). Scorri verso il basso fino all'impostazione della data per controllare l'impostazione del fuso orario php.

http://192.168.1.14/info.php

Lo strumento di monitoraggio Cacti memorizza le configurazioni e i dati raccolti in un database RDBMS. In questo tutorial, configureremo Cacti con il backend del database MariaDB. Emetti il ​​comando seguente per installare il database MariaDB e il modulo PHP necessario per accedere al database mysql.

apt install mariadb-server php7.0-mysql

Dopo aver installato MariaDB, verifica che il demone sia in esecuzione e sia in ascolto delle connessioni di rete su localhost, porta 3306, eseguendo netstat comando.

netstat –tlpn | grep mysql

Quindi accedi alla console MySQL e proteggi MariaDB root account eseguendo i seguenti comandi.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privilegi;
exit

 

Nel passaggio successivo, proteggi MariaDB eseguendo lo script mysql_secure_installation fornito dal pacchetto di installazione dal repository Debian Stretch. Durante l'esecuzione, lo script porrà una serie di domande per proteggere il database MariaDB, come ad esempio:modificare la password di root di MySQL, rimuovere utenti anonimi, disabilitare gli accessi root remoti ed eliminare il database di test. Esegui lo script emettendo il comando seguente e assicurati di digitare yes a tutte le domande poste al fine di proteggere completamente il demone MySQL. Usa l'output dello script seguente tranne che come guida.

sudo mysql_secure_installation
NOTA:ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT È RACCOMANDATO PER TUTTI MariaDB
      SERVER IN USO DI PRODUZIONE! SI PREGA DI LEGGERE ATTENTAMENTE OGNI PASSO!
 
Per poter accedere a MariaDB per proteggerlo, avremo bisogno della corrente
password per l'utente root. Se hai appena installato MariaDB, e
non hai ancora impostato la password di root, la password sarà vuota
quindi dovresti semplicemente premere invio qui.
 
Inserisci la password corrente per root (inserisci per nessuno):
OK, password utilizzata con successo, vado avanti...
 
L'impostazione della password di root assicura che nessuno possa accedere a MariaDB
utente root senza la corretta autorizzazione.
 
Hai già impostato una password di root, quindi puoi rispondere in sicurezza 'n'.
 
Cambiare la password di root? [S/n] y 
Nuova password:
Reinserire la nuova password:
Password aggiornata correttamente!
Ricaricamento delle tabelle dei privilegi..
 ... Successo!
 
 
Per impostazione predefinita, un'installazione di MariaDB ha un utente anonimo, che consente a chiunque
per accedere a MariaDB senza dover creare un account utente per
loro. Questo è inteso solo per il test e per effettuare l'installazione
vai un po' più fluido. Dovresti rimuoverli prima di passare a un
ambiente di produzione.
 
Rimuovere utenti anonimi? [S/n] y 
 ... Successo!
 
Normalmente, root dovrebbe essere autorizzato a connettersi solo da 'localhost'. Questo
assicura che qualcuno non possa indovinare la password di root dalla rete.
 
Non consentire l'accesso root in remoto? [S/n] y 
 ... Successo!
 
Per impostazione predefinita, MariaDB viene fornito con un database chiamato 'test' che chiunque può
accesso. Anche questo è inteso solo per il test e dovrebbe essere rimosso
prima di entrare in un ambiente di produzione.
 
Rimuovere il database dei test e accedervi? [S/n] y 
 - Eliminazione del database dei test...
 ... Successo!
 - Rimozione dei privilegi sul database di prova...
 ... Successo!
 
Ricaricare le tabelle dei privilegi assicurerà che tutte le modifiche apportate finora
entrerà in vigore immediatamente.
 
Ricaricare ora le tabelle dei privilegi? [S/n] e
 ... Successo!
Pulizia...
 
Tutto fatto! Se hai completato tutti i passaggi precedenti, il tuo MariaDB
l'installazione ora dovrebbe essere sicura.
 
Grazie per aver utilizzato MariaDB!

Per testare la sicurezza di MariaDB, prova ad accedere al database dalla console senza root parola d'ordine. L'accesso al database dovrebbe essere negato se non viene fornita alcuna password per la root account. Se viene fornita la password, il processo di accesso deve essere concesso alla console MySQL, come mostrato nello screenshot seguente.

mysql -h localhost -u root
mysql -h localhost -u root –p

Dopo aver effettuato l'accesso al database MariaDB, vai avanti e crea un database per l'installazione di Cacti e crea l'utente che verrà utilizzato per gestire cacti database, eseguendo i seguenti comandi. Sostituisci i cactus utente del database e password di conseguenza.

crea database cacti;
concedi tutto su cacti.* a 'cacti_user'@'localhost' identificato da 'cacti_pass';
privilegi di svuotamento;
exit

Inoltre, concedi le autorizzazioni di selezione all'utente del database di cactus per il fuso orario di MySQL emettendo i comandi seguenti. Questo è un nuovo requisito per installare ed eseguire l'ultima versione di Cacti.

mysql -u root -p mysql  
mysql -u root -p -e 'concedi la selezione su mysql.time_zone_name a [email protetta]'

Nel passaggio successivo, apri il file di configurazione predefinito del server MySQL e aggiungi le seguenti righe come mostrato nell'esempio seguente.

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Aggiungi le seguenti righe in fondo a 50-server.cnf file:

; />innodb_read_io_threads    =32
innodb_write_io_threads   =16

Per applicare tutte le modifiche apportate finora, riavvia i demoni MySQL e Apache e verifica che i demoni siano in esecuzione eseguendo i seguenti comandi.

systemctl riavvia mysql apache2
stato systemctl mysql apache2

Configura servizio SNMP

Il servizio di monitoraggio web Cacti utilizza il protocollo SNMP per raccogliere dati e statistiche sul dispositivo. Per installare il programma SNMP, il servizio demone SNMP e MIBS SNMP nel tuo sistema Debian 9 locale, immetti il ​​seguente comando con privilegi di root.

apt install snmp snmpd snmp-mibs-downloader

Inoltre, installa lo strumento di registrazione dei dati standard del settore RRDtool, utilizzato da Cacti per visualizzare la funzionalità grafica.

apt install rrdtool

Quindi, modifica il file di configurazione SNMP /etc/snmp/snmp.conf e commenta "mibs" riga aggiungendo un hashtag (#) davanti alla riga come descritto nell'immagine sottostante.

Configura anche l'accesso remoto e localhost del demone SNMP, aprendo snmpd.conf file  per modificare e cercare e aggiornare le righe seguenti come segue:

nano /etc/snmp/snmpd.conf

Decommenta la riga per ascoltare le connessioni su tutte le interfacce

agentAddress udp:161,udp6:[::1]:161

Aggiungi le seguenti righe per consentire la query SNMP per la tua rete locale tramite snmp_string parola d'ordine. Sostituisci la stringa della community snmp snmp_string password e il tuo indirizzo CIDR di rete di conseguenza.

rocommunity snmp_string localhost
rocommunity snmp_string 192.168.1.0/25

 

Facoltativamente, puoi anche modificare il contatto e la variabile di posizione per fornire informazioni sul tuo server. Queste informazioni vengono visualizzate nell'area di notifica di Cacti quando controlli i dettagli del tuo server. Inoltre, il nome host del sistema, la versione del kernel e il tempo di attività del sistema vengono visualizzati nell'area di notifica di Cacti.

Per modificare queste informazioni, modifica sysLocation e sysContact righe nella sezione delle informazioni di sistema e aggiungere i propri valori. Per impostazione predefinita, i seguenti valori sono configurati per sysLocation e sysContact .

sysLocation Seduto sul Dock of the Bay
sysContact Me <[email protected]>

Dopo aver apportato le modifiche appropriate a snmpd.conf file, salva e chiudi il file e riavvia il demone snmp per riflettere le modifiche emettendo i comandi seguenti. Quindi controlla lo stato del demone snmpd e le porte di proprietà in stato di ascolto.

systemctl riavvia snmpd.service
stato systemctl snmpd.service
netstat -tulpn| grep snmp

Apri la porta del firewall per SNMP:

ufw consentire 161/udp

Per verificare che il demone SNMP funzioni come previsto e recuperi tutti i valori SNMP nell'albero della memoria per localhost, eseguire il comando seguente.

snmpwalk -v 2c -c snmp_string memoria localhost

Installa Cacti-Spine

Cacti-Spine è un sostituto del poller predefinito cmd.php, scritto in C per tempi di esecuzione più rapidi. Per compilare e installare Cacti-Spine pooler dai sorgenti in Debian 9, eseguire prima il comando seguente per installare tutte le dipendenze richieste nel sistema.

apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev libmariadb-dev libmariadbclient-dev librrds-perl libsnmp-dev

Quindi, scarica l'ultima versione dell'archivio compresso Cacti-Spine tar con wget utilità, estrarre l'archivio tarball ed entrare nella directory estratta cacti-spine eseguendo i seguenti comandi.

wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tar xfz cacti-spine-latest.tar.gz
cd cacti-spine-1.1.24/

Ora, compila e installa l'utilità Cacti-Spine dai sorgenti emettendo i comandi seguenti.

./bootstrap
./configura
crea
fai installazione

Cacti-Spine verrà installato in /usr/local/spine/ percorso di sistema. Spine consiglia di impostare il bit SUID per il binario della colonna vertebrale per supportare le richieste ping ICMP.

radice chown:root /usr/local/spine/bin/spine
chmod +s /usr/local/spine/bin/spine

Devi anche connettere Spine al database dei cactus modificando il file di configurazione con come mostrato nell'estratto del file sottostante.

nano /usr/local/spine/etc/spine.conf

spine.conf campione di file. Sostituire le credenziali di conseguenza. Utilizza le stesse credenziali del database configurate per Cacti.

DB_Host localhost
DB_Database cacti
DB_User user_cacti
DB_Pass pass_cacti
DB_Port 3306
DB_PreG 0

Installa Cacti

Per installare Cacti dai sorgenti in Debian 9, prima scarica ed estrai l'ultima versione dell'archivio compresso Cacti tarball, quindi copia tutti i file estratti nel percorso di root web di Apache, eseguendo i seguenti comandi.

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar xfz cacti-latest.tar.gz
cp -rf cactus-1.1.24/* /var/www/html/

Nel passaggio successivo, apri il file di configurazione di cactus e aggiorna le seguenti righe per riflettere il nome utente, la password, l'host e il percorso dell'URL del database MySQL di conseguenza, come illustrato nell'esempio seguente.

nano /var/www/html/include/config.php

  Cactus config.php esempio di file:

$database_type     ='mysql';
$database_default  ='cactus';
$database_hostname ='localhost';
$database_username ='cacti_user';
$database_password ='cacti_pass';
$porta_database     ='3306';
$database_ssl      =falso;

Scorri verso il basso e cambia la variabile del percorso da “/cacti ” a “/

$url_path ='/'; 

Successivamente, devi popolare il database dei cactus caricando il cacti.sql script che si trova nella posizione principale del documento del tuo server web e verifica le tabelle di cacti mysql eseguendo i comandi seguenti.

mysql -u cacti_user cacti -p   
mysql -u cacti_user cacti -p -e 'mostra tabelle'

Infine, prima di iniziare a installare Cacti dall'interfaccia web, eseguire i comandi seguenti per rimuovere il file index.html predefinito installato dal server web Apache, creare il file di registro per Cacti e consentire all'utente di runtime Apache con i permessi di scrittura completi sul percorso di installazione di cacti .

rm /var/www/html/index.html
tocca /var/www/html/log/cacti.log
chown -R www-data:www-data /var/www/html/

  Inizia a installare Cacti tramite l'interfaccia web visitando l'indirizzo IP del tuo sistema o il nome di dominio da un browser e aprendo il seguente URL.

http://192.168.1.14/installa

Nella prima schermata, seleziona Accetta il contratto di licenza GPL e premi il pulsante Avanti per continuare come mostrato nello screenshot qui sotto.

Nella schermata successiva, scorri verso il basso e verifica se tutti i requisiti di sistema sono stati soddisfatti dal programma di installazione e premi il pulsante Avanti per andare avanti con il processo di installazione.

Quindi, scegli Nuovo server primario come tipo di installazione e fare clic sul pulsante Avanti per continuare.

Ora verifica se tutte le posizioni e le versioni binarie critiche sono state rilevate correttamente dal programma di installazione di cactus. Inoltre, dovresti aggiornare il percorso binario della colonna vertebrale a /usr/local/spine/bin/spine . Puoi scegliere il tema Classico e premere il pulsante Avanti per continuare.

Nella schermata successiva, il programma di installazione verificherà i permessi della directory radice Web di Apache per verificare se il server Web è autorizzato a eseguire scritture nel percorso di installazione di cactus. Se tutti i percorsi richiesti sono scrivibili, premi il pulsante Avanti per continuare.

Seleziona tutti i modelli dall'elenco fornito e premi il pulsante Fine per completare l'installazione.

Al termine del processo di installazione, accedi all'interfaccia web di Cacti con le seguenti credenziali predefinite e sostituisci la password predefinita dell'amministratore con una nuova password complessa, come illustrato nelle schermate seguenti.

Nome utente:admin
Password:amministratore

Dopo aver effettuato l'accesso all'interfaccia web di Cacti, vai a Console -> Configurazione -> Impostazioni -> Sondaggio e cambia il tipo di poller da cmd.php a spine binario, come mostrato nell'immagine sottostante. Scorri verso il basso e clicca su Salva pulsante per applicare le modifiche.

Quindi vai su Console -> Configurazione -> Impostazioni -> Percorsi e aggiorna Cacti-Spine e imposta il percorso del file di configurazione sul seguente percorso /usr/local/spine/etc/spine.conf e premi sul pulsante Salva per applicare la configurazione, come illustrato nell'immagine sottostante.

Per aggiungere un nuovo dispositivo da monitorare tramite SNMP, vai su Console -> Gestione -> Dispositivi e premi su + icona, come illustrato nell'immagine sottostante. A scopo dimostrativo, aggiungeremo la macchina localhost da monitorare da Cacti tramite protocollo SNMP.

Per il dispositivo Linux appena aggiunto che verrà monitorato tramite SNMP, aggiungi una descrizione per il dispositivo, il nome host, FQDN o l'indirizzo IP del dispositivo monitorato e seleziona Macchina Linux locale come modello di dispositivo. Nelle opzioni SNMP, seleziona la versione SNMP corretta (in questo caso useremo la versione 2) e scrivi la stringa della community SNMP del tuo dispositivo, come descritto nelle immagini seguenti. Nel caso in cui la porta SNMP non sia stata modificata, lascia il valore della porta come predefinito e, al termine, scorri verso il basso e premi il pulsante Crea per aggiungere il dispositivo al database Cacti per essere monitorato.

Dopo che il dispositivo è stato aggiunto al database Cacti, verrà visualizzato un riepilogo SNMP nella parte superiore della pagina del dispositivo nel caso in cui il dispositivo sia stato rilevato e interrogato correttamente. Per creare grafici SNMP RRDTool per questo dispositivo, fare clic su Crea grafici per questo dispositivo link, controlla i modelli di grafico che desideri esaminare ulteriormente e premi il pulsante Crea per passare alla schermata successiva, quindi premi di nuovo il pulsante Crea per terminare, come illustrato nelle immagini seguenti.

Per visualizzare i grafici, vai su Console -> Gestione -> Dispositivi, seleziona il dispositivo su cui desideri eseguire ulteriormente un'azione e seleziona Posiziona su un albero (Albero predefinito) dal menu delle azioni.

Nella nuova schermata, lascia il ramo di destinazione come predefinito e premi il pulsante Continua per completare il processo, come descritto nell'immagine sottostante.

Infine, affinché Cacti poller possa iniziare a raccogliere dati sui dispositivi monitorati, è necessario aggiungere un nuovo lavoro cron che interrogherà i dispositivi tramite SNMP ogni 5 minuti. Aggiungi il lavoro pianificato che deve essere posseduto ed eseguito dall'utente di runtime Apache eseguendo il comando seguente.

crontab –u www-data –e

Linea di lavoro Crontab:

*/5 * * * * /usr/bin/php /var/www/html/poller.php>
 /var/www/html/log/cron.log 2>&1

Dopo aver aggiunto il cronjob del pooler, attendi circa mezz'ora per dare a Cacti il ​​tempo di raccogliere i dati, quindi vai alla scheda Grafici nell'interfaccia web di Cacti. Espandi l'albero predefinito e i grafici raccolti dalla tua macchina monitorata dovrebbero essere visualizzati come illustrato nella schermata seguente.

Per ora, è possibile accedere all'interfaccia di Cacti dai browser dei client in modo non protetto tramite il protocollo HTTP. Tutte le informazioni sensibili sui tuoi dispositivi, così come le credenziali di accesso ai cactus, vengono inviate in chiaro. Per crittografare il traffico tra i browser del client e l'interfaccia web di Cacti, immetti i seguenti comandi con privilegi di root per abilitare la configurazione SSL di Apache.

a2enmod ssl
a2ensite default-ssl.conf
systemctl riavvia apache2

Successivamente, vai all'interfaccia web di Cacti tramite il protocollo HTTPS. Poiché il server Web Apache utilizza un certificato autofirmato per crittografare la connessione, nel browser dovrebbe essere visualizzato un messaggio di errore. Accetta l'errore e ora puoi accedere in modo sicuro all'interfaccia web di Cacti come mostrato nella schermata seguente.

È tutto! Hai installato e configurato correttamente Cacti dai sorgenti in Debian 9. Per altre impostazioni personalizzate relative a Cacti, visita le pagine della documentazione al seguente link https://docs.cacti.net/manual:100


Debian
  1. Come installare lo strumento di monitoraggio di Nagios 4.3.x su Debian 9

  2. Come installare lo strumento di monitoraggio Icinga 2 su Debian 9.2

  3. Come installare PHP 7.4 / 7.3 / 7.2 / 7.1 su Debian 10 / Debian 9

  4. Come installare lo strumento di monitoraggio della rete Cacti su un Centos VPS

  5. Come installare PHP 7.3 su Debian 9

Come installare Cacti su Debian 10 / Debian 9 – Uno strumento di monitoraggio

Come installare Cactus su Debian 11

Come installare Cacti monitorando Debian 11 Bullseye

Come installare Cacti Monitoring su Debian 9

Come installare Cacti Monitoring su Debian 10

Come installare lo strumento di monitoraggio Zabbix su Debian 11/10