Installer et configurer Centreon Entreprise Server

Article publié le 25 Mai 2013

Mis à jour publié le 24 Mai 2016

Ce tutoriel a été mis à jour pour la sortie de la  version 3.x

 

Nagios/Centreon est pour moi le meilleur système de supervision qui existe. Il est puissant, gratuit avec une énorme communauté qui le maintient.

Maintenant sa mise en place est plus ou moins fastidieuse.

J’ai découvert par hasard que Centreon proposait une édition Entreprise.

La version standard est entièrement gratuite est présente de nombreux avantage

– Téléchargeable sous forme d’ISO centreon Entreprise standard est livré sous forme d’OS complet (basé sur CENTOS) avec tout le  système de monitoring préinstallé. Vous installez l’ISO comme un OS Linux et il ne vous restera plus qu’à vous connecter dessus via l’interface web

– Possibilité de souscrire à un support, ce qui est très utile si votre supervision est un élément critique dans votre entreprise

– Des add ons payant comme un système de rapport poussé avec des indicateurs de qualités etc, très utile pour remettre à votre DSI des rapports complets sur la santé de votre SI 😉

En gros Centreon Entreprise Standard vous offre gratuitement une solution de monitoring Centreon clé en main!

 

I) Installation

Télécharger l’ISO depuis le site :

http://www.centreon.com/Content-Download/download-centreon-enterprise-server

En bootant sur l’image cette interface apparait:

 

Appuyez sur ENTRER pour une installation par défaut et suivez la procédure normal pour installer un OS linux.

  • Petit détail avec la version 3.3 vous pouvez choisir quelle type de serveur installer:

  •  Si c’est votre première installation, choisissez « Central server with database ».
  • « Central server without database » installera Centreon sans la base de données.
  • « Poller Server » correspond à un relais Centreon au cas ou votre infrastructure est tellement grande qu’un seul serveur de monitoring ne suffirait pas en terme de ressources.
  • « Database Server » correspond à l’installation de la base de donnée uniquement.

 

Une fois l’installation terminée connectez vous sur l’interface web  (http://<ip_du_serveur>/centreon).

Un assistant de configuration va alors s’afficher:

Cliquez sur suivant:

L’écran ci-dessous affiche comme quoi la timezone n’est pas initialisé dans le fichier php.ini (un classique)

Connectez vous sur votre machine et éditez le fichier /etc/php.ini. Modifier la ligne « ;date.timezone = » par « date.timezone = « Europe/Paris » » puis redémarrez http (service https restart).

Cliquez ensuite sur le bouton refresh pour que tout soit au vert puis, cliquez sur le bouton « Next »

Cliquez sur « Next »:

Cliquez sur « Next »:

 

Renseignez les identifiants qui vont vous permettre de vous connectez à l’interface Web ainsi que les informations demandées:

Cliquez sur « Next » après avoir renseigné les mots de passe de base de données

Attendez que l’installation termine puis cliquez sur next:


Connectez vous sur l’interface WEB avec les identifiants renseignés précédemment:

Je vais vous expliquer ci-dessous la logique  de Centreon. Rassurez vous il n’y a aucune différence avec les autres outils de monitoring disponible sur le marché!

ETAPE 1: Ajout des hosts (machines)

Ceci est la 1er étape, il faut que vous ajoutiez toutes les machines que vous voulez monitorer.

Pour cela connectez vous sur votre interface centreon via l’interface web (http://<ip_du_serveur>/centreon) puis, une fois l’authentification effectuée, cliquez sur « Configuration » et « hosts » comme vous le montre les captures d’écrans ci-dessous:

 

Une fois sur la section des gestion des hosts cliquez sur le bouton  « add »

La page suivante apparaît alors:

 

Renseignez les différents champs renseignant votre machines et validez en cliquant sur « save » en bas de la page.

 

ETAPE 2: Commandes.

Les commandes sont les scripts qui vont checker les hosts (Charge cpu,mémoire etc). Ces scripts sont situées dans /usr/lib64/nagios/plugins.

Si vous décidez de développer vos propres scripts de supervision, vous devrez les placer dans ce répertoire afin qu’il soit visible sur la page « command » de Centreon.

 

ETAPE 3: Services

Les services représentent ce qui va superviser votre machine. Un service contient une commande. C’est le service qui va exécuter votre script de supervision sur le ou les machines et vous renvoyer le résultat.

Pour configurer un service cliquez sur « configuration » puis « service ».

Une fois sur la page cliquez sur « add » pour créer un nouveau service:

 

 

Explication de quelques champs:

« Linked with Hosts »: Afin d’associer votre services aux hosts

« Description »: le nom du service tel qu’il apparaîtra sur votre interface de monitoring

« Check Period »: La période ou le service sera actif.

« Check Command »: La command (le script) qui sera effectuée.

« Args »: si le script contient des arguments des champs apparaîtront. Généralement les arguments correspondent aux seuils d’alerte

« Max Check Attempts »: le nombre de check que va faire le service en cas de problème avant de se mettre en alerte (nombre d’essai). (status autre que « OK »)

« Normal Check Interval »: le temps séparant 2 checks. Par exemple si vous spécifier « 1 », le script sera exécuté toutes les minutes. L’avantage d’avoir un interval minimum est que vous serez alerté très vite en cas de problème. Cependant cela demandera plus de ressources réseau et machine.

« Retry Check Interval »: le temps que met le service à rechercker une machine ayant un statut autre que « OK ».

 » Notification Type »: Le type de notification qui sera afficheée par le service.

Cliquez sur « save » une fois votre sélection terminée.

 

ETAPE 4: Commiter la configuration

 

Il ne reste plus qu’à faire en sorte que votre configuration soit pris en compte (écriture sur les fichiers de configuration NAGIOS).

Pour cela cliquez sur « configuration » et « pollers »:

Cliquez ensuite sur l’icône d’engrenage en dessous de « Action »:

Cochez « Generate Configuration Files », « Restart Monitoring Engine » et « Move Export Files ».

La « méthod » correspond à l’action effectué pour la prise en compte de votre nouvelle configuration: « reload » ou « restart » le service.

Il ne vous reste plus qu’à cliquez sur export pour que la configuration soit écrite en dur sur les fichiers de configuration Nagios.

Cliquez ensuite sur l’onglet « monitoring » en haut de la page puis sur « host » ou « service » en fonction de la vue que vous voulez avoir.

Il ne reste plus qu’à admirer l’état de vos machines!!

 

Ce tutoriel reprend juste les grandes lignes de l’administration de Centreon. Le nombre de fonctionnalité possible sur Centreon est énorme (liste de contact, notification SMS, etc…) .

L’interface étant assez intuitive, je trouve que la prise en main est rapide.

Comme je l’ai expliqué plus haut Centreon Entreprise Server Standard et la version « gratuite » (très complète). Des éditions payantes  contenant des extensions propriétaires sont disponibles sur le site. Ces extensions vous permettent par exemple de générer des rapport pointues,  des vues plus poussées, etc…

Je vous conseil également ce site:  http://nagios.manubulon.com/

Ce site contient une multitude de scripts de supervision (command) que vous pourrez rajouter.

 

 

 




Testez la configuration SSL de vos serveurs avec ssllabs

Article publiée le 23 Mai 2016

 

Depuis pas mal de temps je bosse sur la configuration SSL des serveurs web. Ayant rejoint une entreprise dont la préoccupation sur la sécurité est forte j’ai pu connaitre l’existence de petits outils permettant de faire un check complet de la configuration SSL (HTTPS) de votre site Web.

Cet outil est vraiment bien et peu notamment vous servir en cas d’audit pour prouver que la configuration de vos serveurs web est sérieuse.

1) Qualys SSL LABs

Le plus connu et réputé Qualys SSLLABS. Via cette page web vous pouvez avoir un diagnostic complet de votre site avec une note ainsi que des indications sur ce qui peut être amélioré:

2) API SSL Labs

Pour ceux qui sont vraiment à fond dans la configuration SSL de leurs serveurs web, je leur propose une petite solution afin d’automatiser les checks de leurs site. Pour ma part un script va vérifier chaque jour que les serveurs webs de mon employeur aient la note A+.

Afin d’éviter de réinventer la roue, un petit outil opensource en ligne de commande existe:

https://github.com/ssllabs/ssllabs-scan

Ci dessous la procédure pour l’installer

  • Téléchargez le package
  • Assurez vous d’avoir les outils de compilations (make, gcc etc…), pour les utilisateurs de Debian faites un « apt-get install build-essential » et vous serez tranquille 😉
  • Assure vous également que golang-go soient installé:
    • Sous debian: apt-get install golang-go
    • RedHat/Centos: Installez les dépots EPEL  et installez le paquet golang (yum install epel-release && yum install golang)
  • Enfin il ne vous reste plus qu’à compiler avec la commande « make » à la racine du répertoire contenant les sources de ssllabs-scan
  • Enfin lancer le binaire ssllabs-scan <URL>:
  • Une fois l’exécution terminée un fichier avec le résultat complet de votre test sera créé.

3) Scripts d’automatisations

Enfin, j’ai conçu un petit script permettant de monitorer automatiquement la note et d’envoyer une alerte si jamais la note que vous désirez et inférieur.

#!/bin/bash

BASEDIR=$(dirname $(readlink -f $0))

SSL_LABS_BINARY=$BASEDIR/bin/ssllabs-scan
SSL_LABS_CONF=$BASEDIR/conf/hosts.conf
SSL_LOGS_DIR=$BASEDIR/logs

unset HTTP_PROXY

if [ ! -f $SSL_LABS_BINARY ] || [ ! -f $SSL_LABS_CONF ]; then
echo « ERREUR: Arret du script, l’un des fichiers n’est pas présent »
exit 1
fi

if [ ! -d $SSL_LOGS_BINARY ]; then
mkdir $SSL_LOGS_DIR
fi

audit_securite ()
{
LOGNAME= »`date +%Y%m%d` ».log
$SSL_LABS_BINARY –hostfile $SSL_LABS_CONF >> $SSL_LOGS_DIR/$LOGNAME
if [ $? -eq 0 ]; then
echo « Rapport de securite généré et disponible dans $SSL_LOGS_DIR/$LOGNAME »
else
echo « Erreur durant la génération du rapport » >> $SSL_LOGS_DIR/$LOGNAME
mail -a « from:ssllabs » -s « Erreur de génération du rapport SSLLABS » [email protected] <<< ‘Bonjour, une erreur a été detectée durant la génération quotidienne du rapport SSLLABS.’
exit 1
fi
}

rapport_securite ()
{
LOGNAME= »`date +%Y%m%d` ».log
RAPPORT_TEMP=$(grep ‘grade’ $SSL_LOGS_DIR/$LOGNAME | grep -v ‘gradeTrustIgnored’)
NOTE_FINALE=$(echo $RAPPORT_TEMP | cut -d « : » -f2 | cut -c3-4)

if [ « $NOTE_FINALE » != « A+ » ]; then      # Changer ici pour la note désirée
mail -a « from:ssllabs » -s « WARNING : NOTE SSLLABS INFERIEURE A A+ » [email protected] <<< ‘Bonjour, la note SSLLABS est inferieure a A+, Merci de verifier la conf Apache !’
fi
}

audit_securite
rapport_securite

Dans le fichier hosts.conf, indiquez juste l’URL du site que vous voulez monitorer

 




Tutoriel | Tuto ZFS Linux

Article publiée le 6 Mai 2016

Article mise à jour le 23 Juin 2017

 

Un petit tuto sur le système (et gestionnaire de volume) ZFS. En travaillant sur des serveurs ayant ce système de fichiers, j’ai pu voir son incroyable potentiel !

IL est courant que ZFS fasse peur à tort étant donnée que la corruption de données n’existe pas avec ce système de fichiers…En effet, avec ZFS, aurevoir fsck et compagnie!

ZFS est un système de fichiers développé à l’origine par SUN. Les caractéristiques de ZFS sont quasiment illimités:

  • 248 : le nombre d’instantanés maximal ;
  • 248 : le nombre de fichiers dans chaque système de fichiers ;
  • 16 exbioctets : la taille maximum du système de fichiers ;
  • 16 exbioctets : la taille maximum d’un seul fichier ;
  • 256 : le nombre maximal théorique de fichiers par répertoire (en réalité limité à 248 par le nombre maximal de fichiers dans un système de fichiers).

De plus ZFS possède un système de snapshots incroyablement puissant!

Ci-dessous un petit tuto expliquant comment utiliser ZFS.

1) Installation

1.1) Sous Debian/Ubuntu

ZFS est disponible dans les dépots backport.

Ajouter les dépots Backport puis installez ZFS

Installez maintenant ZFS: apt-get update && apt-get install zfs-dkms zfsutils-linux zfsutils-linux

 

1.2) Sous RedHat/Centos (Redhat7 / Centos7 ou supérieu)

 

Installez ZFS : yum install zfs-dracut

Activer le module ZFS: modprobe zfs

 

2) Création d’un volume ZFS (ZPOOL)

2.1) Création d’un ZPOOL simple

Nous allons pour cela créer un zpool. Un zpool est comparable à un VG dans LVM sauf que l’on peut directement le monter en tant que volume étant donnée qu’il est nativement en ZFS:

zpool create -f <nom de votre zpool> <votre disque>

Exemple: zpool create -f zfspool sdb

 

2.2) Création d’un RAID

zpool create -f mypool <type de raid> <vos disques>

Exemple: zpool create -f zfspool raidz sdb sdc sdd sde sdf

Vous devez renseigner l’argument <type de raid> par le RAID que vous souhaitez créer :

MIRROR: RAID1

RAIDZ: Equivalent RAID5 amélioré

RAIDZ-1: Avec un disque de parité supplémentaire.

RAIDZ-2: Avec deux disques de parité supplémentaire.

RAIDZ-3: Avec trois disques de parité supplémentaire.

2.3) Lister les ZPOOL

Nous allons maintenant lister notre ZPOOL fraîchement crée:

zpool list

Vous devriez obtenir ceci:

Vous pouvez également avoir un statut global de votre ZPOOL:

zpool status

2.4) Supprimer un ZPOOL

zfs destroy <zpool>

Exemple:

zfs destroy zfspool

2.5) démonter un ZPOOL

Vous pouvez monter votre ZPOOL avec la commande:

zfs umount <nom de votre zpool>

Exemple:

zfs umount zfspool

 

2.6) Agrandir un ZPOOL

Admettons que vous ayez besoin d’espace supplémentaire.

Après avoir rajouté votre disque où volume il suffit d’utiliser la commande suivante:

zpool add <nom de votre zpool> <nom de votre volume>

Exemple:

zpool add zfspool  sdc

 

2.6) Modifier les paramètres d’un ZPOOL

2.6.1 Changer le point de montage d’un ZPOOL

Par défaut les points de montage ZFS sont créés à la racine.

Vous pouvez modifier le point de montage avec la commande :  zfs set mountpoint= <le chemin de votre point de montage> <nom de votre zpool>

Exemple:

zfs set mountpoint=/mnt/zfs zfspool

 

3) Gestion des partitions ZFS

3.1) Créer une partition 

zfs create <nom de votre zpool><nom de votre nouvelle partition>

Exemple:

zfs create zfspool/partition1

3.2) Renommer une partition

zfs rename <zpool><votre partition> <zpool><nom de votre nouvelle partition>

Exemple:

zfs rename zfspool/partition1 zfspool/partitionnew

 

3.3) Supprimer une partition

zfs destroy <zpool><votre partition>

Exemple:

zfs destroy zfspool/partition1

4) Monter un ZPOOL

Vous pouvez monter votre ZPOOL avec la commande:

zfs mount <nom de votre zpool>

Exemple:

zfs mount zfspool

 

5) Snapshot

5.1 Créer un snapshot 

zfs snapshot <zpool ou partition>@<nom de votre snapshot>

Exemple:

zfs snapshot zfspool@07052016

 

5.2 Lister les snapshot

zfs list -t snapshot

5.3 Utiliser un snapshot

Commande: zfs rollback <nom de votre snapshot>

Exemple:

Nous allons créer un fichier:

Nous allons créer un snapshot:

Nous allons maintenant supprimer le fichier:

Nous allons utiliser notre snapshot pour le restaurer:

(enjoy ;))

5.4 Supprimer un snapshot

zfs destroy <nom de votre snapshot>

Exemple:

zfs destroy zfspool/partition2@aujourdhui

 

 

 

Autres tutoriels sur les systèmes de fichiers:

LVM: http://journaldunadminlinux.fr/tutoriel-gerez-votre-systeme-de-fichier-grace-a-lvm-logical-volume-management/

BTRFS: http://journaldunadminlinux.fr/presentation-de-btrfs-et-comment-migrer/