GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Monitoraggio del server con Shinken su Ubuntu 16.04

Shinken è un framework open source per il monitoraggio di computer e reti scritto in Python e compatibile con Nagios. Shinken può essere utilizzato su tutti i sistemi operativi in ​​grado di eseguire applicazioni Python come Linux, Unix e Windows. Shinken è stato scritto da Jean Gabes come prova del concetto per una nuova architettura Nagios, ma è stata rifiutata dall'autore di Nagios ed è diventata uno strumento indipendente di monitoraggio della rete e del sistema che rimane compatibile con Nagios.

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

Passaggio 1 - Installa Shinken Server

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

Ci sono alcune attività che devono essere completate prima di iniziare l'installazione di 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 il sorgente Shinken dal repository GitHub:

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

Quindi installa Shinken con il comando seguente:

git checkout 2.4.3
python setup.py install

Successivamente, per risultati migliori, dobbiamo installare 'python-cherrypy3' dal repository di Ubuntu:

sudo apt-get install python-cherrypy3

Ora Shinken è installato, quindi aggiungiamo Shinken per avviarlo all'avvio e avviarlo:

update-rc.d shinken defaults
systemctl start shinken

Fase 2 - Installa Shinken Webui2

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

Accedi all'utente Shinken:

su - shinken

Inizializza il file di configurazione shinken - Il comando creerà una nuova configurazione .shinken.ini:

shinken --init

E installa webui2 con questo comando CLI shinken:

shinken install webui2

Webui2 è installato, ma è necessario installare MongoDB e un altro pacchetto Python con pip. Esegui il comando di seguito come root:

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

Quindi, vai alla directory 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

Modifica i valori mostrati di seguito:

contact_name    admin       # Username 'admin'
password        yourpass    # Pass 'mypass'

Salva ed esci.

Fase 3:installa Nagios-plugins e pacchetti Shinken

In questo passaggio, installeremo Nagios-plugin e alcuni moduli Perl. Quindi installa ulteriori pacchetti shinken da shinken.io per eseguire il monitoraggio.

Installa Nagios-plugins e cpanminus necessari per la creazione e l'installazione dei 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 collegamento per il file utils.pm per nascondere la directory e creare 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

Quindi, installa i pacchetti shinken ssh e linux-snmp per il monitoraggio di sorgenti SSH e SNMP da shinken.io:

su - shinken
shinken install ssh
shinken install linux-snmp

Passaggio 4:aggiungi un nuovo host/host-one Linux

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

Connettiti all'host Linux:

ssh [email protected]

Installa i pacchetti snmp e snmpd dal repository di Ubuntu:

sudo apt-get install snmp snmpd

Quindi, 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 di seguito:

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

rocommunity mypass

Salva ed esci.

Ora avvia snmpd servizio 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 di seguito:

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

Salva ed esci.

Modifica la configurazione SNMP sul server Shinken:

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

Cambia 'pubblico' in 'mypass' - deve essere la stessa password che hai usato nel file di configurazione snmpd sul client host-one.

$SNMPCOMMUNITYREAD$=mypass

Salva ed esci.

Ora riavvia entrambi i server:il server Shinken e l'host Linux monitorato:

reboot

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

Fase 5:accedi a Shinken Webui2

Visita lo 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).

Dashboard Shinken in Webui2.

I nostri 2 server sono monitorati con Shinken.

Elenca tutti i servizi monitorati con linux-snmp.

Stato di tutti gli host e servizi.

Fase 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 sostituiscilo 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

Quindi, aggiungi una nuova riga all'interno di restrizioni:

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict 192.168.1.120 #shinken server IP address
restrict ::1

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

Salva ed esci.

Avvia ntp e controlla la dashboard di Shinken:

ntpd

- Problema check_netint.pl non trovato

Scarica il sorgente dal repository github nella directory shinken lib:

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 modello linux-snmp.

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

Modifica i pacchetti di modelli 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

  • http://shinken.readthedocs.io/en/latest/
  • http://www.roblayton.com/search/label/monitoring


Ubuntu
  1. Come installare un server FTP su Ubuntu con vsftpd

  2. Installa il server SSH Ubuntu 22.04

  3. Come installare il server HTTP Git con Nginx su Ubuntu 16.04

  4. Come installare HTTP Git Server con Nginx su Ubuntu 20.04

  5. Installa phpMyAdmin su Ubuntu 20.04 con Nginx

Come installare FileRun su Ubuntu 20.04 con Apache/Nginx

Installa NextCloud su Ubuntu 18.04 con Nginx (stack LEMP)

Come installare Plex Media Server su Ubuntu 16.04 Server/Desktop

Installa Roundcube Webmail su Ubuntu 18.04 con Apache/Nginx

Come installare Cacti Monitoring su Ubuntu 14.04

Come installare Ganglia Monitoring Server su Ubuntu 18.04