Come installare e configurare ‘Collectd’ e ‘Collectd-Web’ per monitorare le risorse del server in Linux

Collectd-web è uno strumento di monitoraggio front-end web basato su RRDtool (Round-Robin Database Tool), che interpreta e visualizza graficamente i dati raccolti dal servizio Collectd su sistemi Linux.

Collectd service viene fornito di default con una vasta raccolta di plug-in disponibili nel file di configurazione predefinito, alcuni dei quali, di default, già attivati una volta installato il pacchetto software.

Collectd-web CGI script che interpreta e genera le statistiche della pagina html grafica può essere eseguito semplicemente dal gateway Apache CGI con un minimo di configurazioni richieste sul lato del server web Apache.

Tuttavia, l’interfaccia web grafica con le statistiche generate può anche essere eseguita dal server web autonomo offerto dallo script Python CGIHTTPServer che viene pre-installato nel repository principale di Git.

Questo tutorial coprirà il processo di installazione del servizio Collectd e dell’interfaccia Collectd-web su sistemi basati su RHEL/CentOS/Fedora e Ubuntu/Debian con le configurazioni minime necessarie per eseguire i servizi e abilitare un plug-in del servizio Collectd.

Si prega di consultare i seguenti articoli della serie collectd.

Part 1: Install and Configure ‘Collectd’ and ‘Collectd-Web’ to Monitor Linux Resources

Passaggio 1: – Installare il servizio Collectd

1. Fondamentalmente, il compito del demone Collectd è raccogliere e memorizzare le statistiche dei dati sul sistema su cui viene eseguito. Il pacchetto Collectd può essere scaricato e installato dai repository predefiniti delle distribuzioni basate su Debian emettendo il seguente comando:

Su Ubuntu/Debian
# apt-get install collectd			[On Debian based Systems]
Install Collectd on Debian/Ubuntu
Su RHEL/CentOS 6.x/5.x

Sui sistemi più vecchi basati su RedHat come CentOS/Fedora, è necessario prima abilitare il repository epel nel proprio sistema, quindi è possibile installare il pacchetto collectd dal repository epel.

# yum install collectd
Su RHEL/CentOS 7.x

Nella versione più recente di RHEL/CentOS 7.x, è possibile installare e abilitare il repository epel dai repository yum predefiniti come mostrato di seguito.

# yum install epel-release
# yum install collectd
Install Collectd on CentOS/RHEL/Fedora

Nota: Per gli utenti di Fedora, non è necessario abilitare alcun repository di terze parti, basta utilizzare yum per ottenere il pacchetto collectd dai repository yum predefiniti.

2. Una volta installato il pacchetto sul proprio sistema, eseguire il seguente comando per avviare il servizio.

# service collectd start			[On Debian based Systems]
# service collectd start                        [On RHEL/CentOS 6.x/5.x Systems]
# systemctl start collectd.service              [On RHEL/CentOS 7.x Systems]

Passaggio 2: Installare Collectd-Web e le Dipendenze

3. Prima di iniziare ad importare il repository Git di Collectd-web, è necessario assicurarsi che il pacchetto software Git e le seguenti dipendenze richieste siano installate sulla propria macchina:

----------------- On Debian / Ubuntu systems -----------------
# apt-get install git
# apt-get install librrds-perl libjson-perl libhtml-parser-perl
Install Git on Debian/Ubuntu
----------------- On RedHat/CentOS/Fedora based systems -----------------
# yum install git
# yum install rrdtool rrdtool-devel rrdtool-perl perl-HTML-Parser perl-JSON
Install Git and Dependencies

Passaggio 3: Importare il Repository Git di Collectd-Web e Modificare il Server Python Standalone

4. Al passaggio successivo scegli e cambia la directory in un percorso di sistema dalla gerarchia degli alberi di Linux dove desideri importare il progetto Git (puoi utilizzare il percorso /usr/local/), quindi esegui il seguente comando per clonare il repository Git di Collectd-web:

# cd /usr/local/
# git clone https://github.com/httpdss/collectd-web.git
Git Clone Collectd-Web

5. Una volta che il repository Git è stato importato nel tuo sistema, procedi ed entra nella directory collectd-web e elenca i suoi contenuti per identificare lo script del server Python (runserver.py), che verrà modificato al passaggio successivo. Aggiungi anche i permessi di esecuzione allo script CGI seguente: graphdefs.cgi.

# cd collectd-web/
# ls
# chmod +x cgi-bin/graphdefs.cgi
Set Execute Permission

6. Lo script del server Python autonomo di Collectd-web è configurato per impostazione predefinita per eseguire e collegarsi solo all’indirizzo loopback (127.0.0.1).

Per accedere all’interfaccia di Collectd-web da un browser remoto, è necessario modificare lo script runserver.py e cambiare l’indirizzo IP 127.0.1.1 in 0.0.0.0, per collegarsi a tutti gli indirizzi IP delle interfacce di rete.

Se desideri collegarti solo a una specifica interfaccia, utilizza l’indirizzo IP di quella interfaccia (non consigliato utilizzare questa opzione nel caso in cui l’indirizzo dell’interfaccia di rete venga allocato dinamicamente da un server DHCP). Utilizza lo screenshot sottostante come estratto su come dovrebbe apparire lo script finale di runserver.py:

# nano runserver.py
Configure Collect-web

Se desideri utilizzare una porta di rete diversa da 8888, modifica il valore della variabile PORT.

Passaggio 4: Esegui il Server Standalone Python CGI e Sfoglia l’Interfaccia di Collectd-web

7. Dopo aver modificato il binding dell’indirizzo IP dello script server Python autonomo, avvia il server in background emettendo il seguente comando:

# ./runserver.py &

Opzionale, come metodo alternativo puoi chiamare l’interprete Python per avviare il server:

# python runserver.py &
Start Collect-Web Server

Source:
https://www.tecmint.com/install-collectd-and-collectd-web-to-monitor-server-resources-in-linux/