GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Surveillance de serveur avec Shinken sur Ubuntu 16.04

Shinken est un framework open source de surveillance informatique et réseau écrit en python et compatible avec Nagios. Shinken peut être utilisé sur tous les systèmes d'exploitation pouvant exécuter des applications Python telles que Linux, Unix et Windows. Shinken a été écrit par Jean Gabes comme preuve de concept pour une nouvelle architecture Nagios, mais elle a été refusée par l'auteur de Nagios et est devenue un outil indépendant de surveillance du réseau et du système qui reste compatible avec Nagios.

Dans ce didacticiel, je vais vous montrer comment installer Shinken à partir de la source et ajouter un hôte Linux au système de surveillance. J'utiliserai Ubuntu 16.04 Xenial Xerus comme système d'exploitation pour le serveur Shinken et l'hôte surveillé.

Étape 1 - Installer le serveur Shinken

Shinken est un framework python, nous pouvons l'installer avec pip ou l'installer depuis la source. Dans cette étape, nous allons installer Shinken à partir de la source.

Certaines tâches doivent être terminées avant de commencer l'installation de Shinken.

Installez de nouveaux packages python et créez un utilisateur Linux avec le nom "shinken":

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

Téléchargez la source Shinken depuis le dépôt GitHub :

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

Installez ensuite Shinken avec la commande ci-dessous :

git checkout 2.4.3
python setup.py install

Ensuite, pour de meilleurs résultats, nous devons installer 'python-cherrypy3' depuis le dépôt ubuntu :

sudo apt-get install python-cherrypy3

Maintenant que Shinken est installé, nous ajoutons ensuite Shinken pour démarrer au démarrage et le démarrer :

update-rc.d shinken defaults
systemctl start shinken

Étape 2 - Installer Shinken Webui2

Webui2 est l'interface Web de Shinken disponible sur shinken.io. Le moyen le plus simple d'installer Sshinken webui2 consiste à utiliser le shinken Commande CLI (qui doit être exécutée en tant qu'utilisateur Shinken).

Connectez-vous à l'utilisateur Shinken :

su - shinken

Initialiser le fichier de configuration shinken - La commande créera une nouvelle configuration .shinken.ini :

shinken --init

Et installez webui2 avec cette commande CLI shinken :

shinken install webui2

Webui2 est installé, mais nous devons installer MongoDB et un autre package python avec pip. Exécutez la commande ci-dessous en tant que root :

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

Ensuite, allez dans le répertoire shinken et ajoutez le nouveau module webui2 en éditant le fichier 'broker-master.cfg' :

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

Ajoutez une nouvelle option dans le module à la ligne 40 :

modules     webui2

Enregistrez le fichier et quittez l'éditeur.

Allez maintenant dans le répertoire des contacts et modifiez le fichier 'admin.cfg' pour la configuration de l'administrateur.

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

Modifiez les valeurs indiquées ci-dessous :

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

Enregistrez et quittez.

Étape 3 - Installer les plugins Nagios et les packages Shinken

Dans cette étape, nous allons installer les plugins Nagios et quelques modules Perl. Installez ensuite des packages shinken supplémentaires à partir de shinken.io pour effectuer la surveillance.

Installez les plugins Nagios et cpanminus nécessaires à la construction et à l'installation des modules Perl :

sudo apt-get install nagios-plugins* cpanminus

Installez ces modules Perl avec la commande cpanm :

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

Créez maintenant un nouveau lien pour le fichier utils.pm afin de modifier le répertoire et créez un nouveau répertoire pour 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

Ensuite, installez les packages shinken ssh et linux-snmp pour surveiller les sources SSH et SNMP depuis shinken.io :

su - shinken
shinken install ssh
shinken install linux-snmp

Étape 4 - Ajouter un nouvel hôte Linux/hôte-un

Nous allons ajouter un nouvel hôte Linux qui sera surveillé à l'aide d'un serveur Ubuntu 16.04 avec l'adresse IP 192.168.1.121 et le nom d'hôte 'host-one'.

Connectez-vous à l'hôte Linux :

ssh [email protected]

Installez les packages snmp et snmpd depuis le dépôt Ubuntu :

sudo apt-get install snmp snmpd

Ensuite, éditez le fichier de configuration 'snmpd.conf' avec vim :

vim /etc/snmp/snmpd.conf

Commentez la ligne 15 et décommentez la ligne 17 :

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

Commentez les lignes 51 et 53, puis ajoutez une nouvelle configuration de ligne ci-dessous :

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

rocommunity mypass

Enregistrez et quittez.

Maintenant, démarrez le snmpd service avec la commande systemctl :

systemctl start snmpd

Allez sur le serveur shinken et définissez le nouvel hôte en créant un nouveau fichier dans le répertoire 'hosts'.

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

Collez la configuration ci-dessous :

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
    }

Enregistrez et quittez.

Modifiez la configuration SNMP sur le serveur Shinken :

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

Remplacez 'public' par 'mypass' - doit être le même mot de passe que vous avez utilisé dans le fichier de configuration snmpd sur le client host-one.

$SNMPCOMMUNITYREAD$=mypass

Enregistrez et quittez.

Redémarrez maintenant les deux serveurs - le serveur Shinken et l'hôte Linux surveillé :

reboot

Le nouvel hôte Linux a été ajouté avec succès au serveur Shinken.

Étape 5 - Accéder à Shinken Webui2

Visitez le Shinken webui2 sur le port 7677 (remplacez l'IP dans l'URL par votre IP):

http://192.168.1.120:7767

Connectez-vous avec l'utilisateur admin et votre mot de passe (celui que vous avez défini dans le fichier de configuration admin.cfg).

Tableau de bord Shinken dans Webui2.

Nos 2 serveurs sont surveillés avec Shinken.

Répertorier tous les services surveillés avec linux-snmp.

Statut de tous les hôtes et services.

Étape 6 - Problèmes courants avec Shinken

- Problèmes avec le serveur NTP

Lorsque vous obtenez cette erreur avec NTP.

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

Pour résoudre ce problème, installez ntp sur tous les hôtes Linux.

sudo apt-get install ntp ntpdate

Modifiez la configuration ntp :

vim /etc/ntp.conf

Commentez tous les pools et remplacez-les par :

#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

Ensuite, ajoutez une nouvelle ligne à l'intérieur de restrict :

# 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

REMARQUE :192.168.1.120 est l'adresse IP du serveur Shinken.

Enregistrez et quittez.

Démarrez ntp et vérifiez le tableau de bord Shinken :

ntpd

- Problème check_netint.pl introuvable

Téléchargez la source du dépôt github dans le répertoire 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

- Problème d'utilisation du réseau

Il y a un message d'erreur :

ERROR : Unknown interface eth\d+

Vérifiez votre interface réseau et modifiez le modèle linux-snmp.

Sur mon serveur Ubuntu, l'interface réseau est 'enp0s8', pas eth0, donc j'ai eu cette erreur.

Modifiez les packs de modèles linux-snmp avec vim :

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

Ajoutez l'interface réseau à la ligne 24 :

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

Enregistrez et quittez.

Références

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


Ubuntu
  1. Comment installer un serveur FTP sur Ubuntu avec vsftpd

  2. Installer le serveur SSH Ubuntu 22.04

  3. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 16.04

  4. Comment installer le serveur HTTP Git avec Nginx sur Ubuntu 20.04

  5. Installez phpMyAdmin sur Ubuntu 20.04 avec Nginx

Comment installer FileRun sur Ubuntu 20.04 avec Apache/Nginx

Installez NextCloud sur Ubuntu 18.04 avec Nginx (pile LEMP)

Comment installer Plex Media Server sur un serveur/bureau Ubuntu 16.04

Installez Roundcube Webmail sur Ubuntu 18.04 avec Apache/Nginx

Comment installer Cacti Monitoring sur Ubuntu 14.04

Comment installer Ganglia Monitoring Server sur Ubuntu 18.04