Monitoraggio Server · 5 min read · Oct 20, 2025

Monitoraggio del Server con Shinken su Ubuntu 16.04

Shinken è un framework di monitoraggio di computer e reti open source scritto in python e compatibile con Nagios. Shinken può essere utilizzato su tutti i sistemi operativi che possono eseguire applicazioni python come Linux, Unix e Windows. Shinken è stato scritto da Jean Gabes come prova di concetto per una nuova architettura di Nagios, ma è stato rifiutato dall’autore di Nagios ed è diventato uno strumento indipendente di monitoraggio di rete e sistema che rimane compatibile con Nagios.

In questo tutorial, ti mostrerò come installare Shinken da sorgente e aggiungere un host Linux al sistema di monitoraggio. Utilizzerò Ubuntu 16.04 Xenial Xerus come sistema operativo per il server Shinken e l’host monitorato.

Passo 1 - Installare il Server Shinken

Shinken è un framework python, possiamo installarlo con pip o installarlo da sorgente. In questo passo, installeremo Shinken da sorgente.

Ci sono alcune attività che devono essere completate prima di iniziare a installare Shinken.

Installa alcuni nuovi pacchetti python e crea un utente Linux con il nome “shinken”:

sudo apt-get install python-setuptools python-pip python-pycurl  
useradd -m -s /bin/bash shinken

Scarica la sorgente di Shinken dal repository di GitHub:

git clone https://github.com/naparuba/shinken.git  
cd shinken/

Poi installa Shinken con il comando qui sotto:

git checkout 2.4.3  
python setup.py install

Successivamente, per migliori risultati, dobbiamo installare ‘python-cherrypy3’ dal repository di ubuntu:

sudo apt-get install python-cherrypy3

Ora Shinken è installato, successivamente aggiungiamo Shinken per avviarsi all’avvio e avviarlo:

update-rc.d shinken defaults  
systemctl start shinken

Passo 2 - Installare Shinken Webui2

Webui2 è l’interfaccia web di Shinken disponibile su shinken.io. Il modo più semplice per installare Sshinken webui2 è utilizzare il comando shinken CLI (che deve essere eseguito come utente shinken).

Accedi come utente shinken:

su - shinken

Inizializza il file di configurazione di shinken - Il comando creerà un nuovo file di configurazione .shinken.ini:

shinken --init

E installa webui2 con questo comando CLI di shinken:

shinken install webui2

Webui2 è installato, ma dobbiamo installare MongoDB e un altro pacchetto python con pip. Esegui il comando qui sotto come root:

sudo apt-get install mongodb  
pip install pymongo>=3.0.3 requests arrow bottle==0.12.8

Successivamente, vai nella directory di shinken e aggiungi il nuovo modulo webui2 modificando il file ‘broker-master.cfg’:

cd /etc/shinken/brokers/  
vim broker-master.cfg

Aggiungi una nuova opzione all’interno del modulo alla riga 40:

modules     webui2

Salva il file ed esci dall’editor.

Ora vai nella directory dei contatti e modifica il file ‘admin.cfg’ per la configurazione dell’amministratore.

cd /etc/shinken/contacts/  
vim admin.cfg

Cambia i valori mostrati qui sotto:

contact_name    admin       # Nome utente 'admin'  
password        yourpass    # Pass 'mypass'

Salva ed esci.

Passo 3 - Installare i pacchetti Nagios-plugins e Shinken

In questo passo, installeremo i Nagios-plugins e alcuni moduli Perl. Poi installeremo pacchetti shinken aggiuntivi da shinken.io per eseguire il monitoraggio.

Installa i Nagios-plugins e cpanminus che è richiesto per costruire e installare i moduli Perl:

sudo apt-get install nagios-plugins* cpanminus

Installa questi moduli Perl con il comando cpanm:

cpanm Net::SNMP  
cpanm Time::HiRes  
cpanm DBI

Ora crea un nuovo link per il file utils.pm nella directory shinken e crea una nuova directory per Log_File_Health:

chmod u+s /usr/lib/nagios/plugins/check_icmp  
ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/  
mkdir -p /var/log/rhosts/  
touch /var/log/rhosts/remote-hosts.log

Successivamente, installa i pacchetti shinken ssh e linux-snmp per monitorare le fonti SSH e SNMP da shinken.io:

su - shinken  
shinken install ssh  
shinken install linux-snmp

Passo 4 - Aggiungere un Nuovo Host Linux/host-one

Aggiungeremo un nuovo host Linux che sarà monitorato utilizzando un server Ubuntu 16.04 con indirizzo IP 192.168.1.121 e nome host ‘host-one’.

Collegati all’host Linux host-one:

ssh [email protected]

Installa i pacchetti snmp e snmpd dal repository di Ubuntu:

sudo apt-get install snmp snmpd

Successivamente, modifica il file di configurazione ‘snmpd.conf’ con vim:

vim /etc/snmp/snmpd.conf

Commenta la riga 15 e decommenta la riga 17:

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

Commenta le righe 51 e 53, quindi aggiungi una nuova configurazione di riga qui sotto:

#rocommunity mypass  default    -V systemonly  
#rocommunity6 mypass  default   -V systemonly  
   
rocommunity mypass

Salva ed esci.

Ora avvia il servizio snmpd con il comando systemctl:

systemctl start snmpd

Vai al server shinken e definisci il nuovo host creando un nuovo file nella directory ‘hosts’.

cd /etc/shinken/hosts/  
vim host-one.cfg

Incolla la configurazione qui sotto:

define host{  
        use                 generic-host,linux-snmp,ssh  
        contact_groups      admins  
        host_name           host-one  
        address             192.168.1.121  
        _SNMPCOMMUNITY      mypass        # Configurazione SNMP Pass su snmpd.conf  
    }

Salva ed esci.

Modifica la configurazione SNMP sul server Shinken:

vim /etc/shinken/resource.d/snmp.cfg

Cambia ‘public’ in ‘mypass’ - deve essere la stessa password che hai usato nel file di configurazione snmpd sull’host client host-one.

$SNMPCOMMUNITYREAD$=mypass

Salva ed esci.

Ora riavvia entrambi i server - server Shinken e l’host Linux monitorato:

reboot

Il nuovo host Linux è stato aggiunto con successo al server Shinken.

Passo 5 - Accedere a Shinken Webui2

Visita Shinken webui2 sulla porta 7677 (sostituisci l’IP nell’URL con il tuo IP):

http://192.168.1.120:7767

Accedi con l’utente admin e la tua password (quella che hai impostato nel file di configurazione admin.cfg).

La pagina di accesso di Shinken

Dashboard di Shinken in Webui2.

Il dashboard di monitoraggio di Shinken

I nostri 2 server sono monitorati con Shinken.

Entrambi i server sono monitorati con Shinken

Elenco di tutti i servizi monitorati con linux-snmp.

Servizi Monitorati

Stato di tutti gli host e servizi.

Lo stato di tutti gli host

Passo 6 - Problemi Comuni con Shinken

- Problemi con il server NTP

Quando ricevi questo errore con NTP.

TimeSync - CRITICAL ( NTP CRITICAL: No response from the NTP server)  
TimeSync - CRITICAL ( NTP CRITICAL: Offset unknown )

Per risolvere questo problema, installa ntp su tutti gli host Linux.

sudo apt-get install ntp ntpdate

Modifica la configurazione ntp:

vim /etc/ntp.conf

Commenta tutti i pool e sostituiscili con:

#pool 0.ubuntu.pool.ntp.org iburst  
#pool 1.ubuntu.pool.ntp.org iburst  
#pool 2.ubuntu.pool.ntp.org iburst  
#pool 3.ubuntu.pool.ntp.org iburst  
   
pool 0.id.pool.ntp.org  
pool 1.asia.pool.ntp.org  
pool 0.asia.pool.ntp.org

Successivamente, aggiungi una nuova riga all’interno di restrict:

# Gli utenti locali possono interrogare il server ntp più da vicino.  
restrict 127.0.0.1  
restrict 192.168.1.120 #indirizzo IP del server shinken  
restrict ::1

NOTA: 192.168.1.120 è l’indirizzo IP del server Shinken.

Salva ed esci.

Avvia ntp e controlla il dashboard di Shinken:

tnpd

- Problema check_netint.pl non trovato

Scarica la sorgente dal repository github nella directory lib di shinken:

cd /var/lib/shinken/libexec/  
wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl  
chmod +x check_netint.pl  
chown shinken:shinken check_netint.pl

- Problema con NetworkUsage

C’è un messaggio di errore:

ERROR : Unknown interface eth\d+

Controlla la tua interfaccia di rete e modifica il template linux-snmp.

Sul mio server Ubuntu, l’interfaccia di rete è ‘enp0s8’, non eth0, quindi ho ricevuto questo errore.

Modifica i pacchetti del template linux-snmp con vim:

vim /etc/shinken/packs/linux-snmp/templates.cfg

Aggiungi l’interfaccia di rete alla riga 24:

_NET_IFACES         eth\d+|em\d+|enp0s8

Salva ed esci.

Riferimenti

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.