feub.net

Dev web | PHP | véganisme | blahblah

Centreon: Surveiller un SAN Netapp

centreon_logo

Cet article décrit la configuration et l’installation de la supervision d’un système Netapp avec Centreon.

Le tutoriel utilise Centreon Enterprise Server de Merethis, en version 3.0.  Nous verrons comment monitorer un Netapp FAS3210, cette procédure fonctionne également sur un modèle FAS2240 et probablement d’autres, mais que je n’ai pas testé personnellement.

La première chose à faire est d’activer le SNMP ainsi que de configurer la communauté SNMP sur notre Netapp.

Vous pouvez activer ou désactiver le SNMP en ligne de commande en entrant :

options snmp.enable {on | off}

on – activera le SNMP

off – désactivera le SNMP

Maintenant, nous pouvons vérifier la liste des communautés configurées :

system snmp community show

Nous allons rajouter une communauté en Read-Only, il faut, toujours en ligne de commande, entrer :

system snmp community add «name »

Voilà qui est fait pour le coté Netapp. Cela nous permets donc de faire des requêtes SNMP en read-only depuis notre Centreon / Nagios.

Maintenant que notre Netapp est prêt à être supervisé, passons à la configuration de Centreon.

 

Téléchargez le plugin check_netapp3.pl

 

Vous devez le mettre dans le dossier des plugins (sur un OS 32bits), soit :

/usr/lib/nagios/plugins/

Puis le rendre exécutable :

chmod a+x check_netapp3.pl

Selon votre configuration, il se peut que certaines dépendances PERL manquent. Il faut les installer pour que l’exécution du script fonctionne.

Depuis l’interface Web de Centreon, allez dans « Configuration », puis « Commands », cliquez sur « Add ».

Créez les deux commandes suivantes, une pour les status, une avec les warning et critical value :

La commande simple, sans Warning et Critical :

Netapp_check_simple

Avec les Warning et Critical :

Netapp_check_complexe

En jaunes, les valeurs à changer.

 

Le plugin Netapp check_netapp3.pl nous permet de surveiller ces paramètres ci-dessous :

CACHEAGE – Cache Age

CIFSOPS – CIFS  Operations

CPBACK – Back to Back Consistency Time

CPTIME – Consistency Full Time

CPULOAD – CPU load

DISKREAD – Bytes Disk Read

DISKUSED – disk space avail

DISKUSED64 – disk space avail

DISKWRITE – Bytes Disk Write

FAILEDDISK – disk failed state

FAN – fan failed state

GLOBALSTATUS – Global Status

NDMPSESSIONS – NDMP Sessions

NETRCVD – Net In

NETSENT – Net Out

NFSOPS – NFS Operations

NVRAM – nvram battery status

PERINODE – percentage inode space avail

PERUSED – percentage space used

PS – Power Supply failed state

SNAPSHOT – volume snapshot status

TAPEREAD – Bytes Tape Read

TAPEWRITE – Bytes Tape Write

TEMP – over temperature check

UPTIME – up time

 

Nous allons voir seulement quelques exemples de ces paramètres.

Maintenant que les commandes ont été créées et que l’on connait la liste des paramètres, on va créer les « Services Templates » correspondant:

 

L’âge du cache de nos Netapp :

Netapp_check_cache

 

Le load du CPU :

Netapp_check_CPU

 

 

Avec la commande Warning et Critical :

Le status global :

Netapp_check_GlobalStatus

L’état des Alimentations :

Netapp_check_PowerSupply

 

 

Maintenant que les templates de services sont créés, nous pouvons créer nos hosts, et lier les templates. Voici un example d’host avec ses services dans Centreon :

Netapp_host

 

 

En production :

Netapp_check_monitored

 

 

J’espère que cet article vous aidera dans le monitoring d’un Netapp avec Centreon, et bien entendu, n’hésitez pas à me demander plus d’informations.

Matthieu ROBIN

Publicité

MySQL 5.6 occupe presque 500Mo de ressources

Depuis la version 5.6.17 de MySQL dans mon environnement de développement WAMP, les ressources occupées par le moteur de base de données flirtent avec les 500Mo.

Ressource avant

C’est plutôt ennuyeux. Il semble qu’il s’agisse de la valeur de la variable table_definition_cache qui est fixée par défaut à 1400, une valeur un peu trop importante pour mes besoins limités en développement local. La documentation informe que la valeur minimale est de 400, et que par défaut celle-ci est établie comme ceci : 400 + (table_open_cache / 2), plafonnée à la limite de 2000.

Cette variable n’est en principe pas présente dans le fichier de configuration de MySQL my.ini, il suffit de l’ajouter, puis de redémarrer MySQL, et le résultat est sans appel : environ 91Mo de ressources dans mon cas.

Ressource après

A noter que la documentation officielle informe que la valeur de table_definition_cache était établie à 400 jusqu’à MySQL 5.6.8

Création et ajout d’un certificat gratuit StartSSL à Nginx

J’ai longtemps utilisé des certificats auto-signés pour mes connexions SSL/TLS, bien qu’un tel certificat assure le cryptage de la liaison, elle n’assure en aucun cas la validité de celui-ci. Lorsque c’est moi qui accède à un de mes sites, aucun problème (je peux encore me faire confiance je pense ^.^), mais quid des personnes tiers utilisant mes services? Elles ne peuvent se fier qu’à mes paroles. De plus un certificat auto-signé n’étant pas reconnu par les navigateurs, ceux-ci affichent cette page flashy indiquant les dangers d’accéder à un tel site.

D’un autre coté, un certificat délivré par une autorité compétente a un prix (plus ou moins variable). La solution intermédiaire est offerte par StartSSL, une société qui possède une offre gratuite de certificat SSL appelée Class 1 SSL. C’est un vrai certificat, certe basique et pour une utilisation personnelle, mais reconnu par les navigateurs, donc plus de page d’avertissement de ceux-ci avant de naviguer sur un site sécurisé. Celui-ci est gratuit, avec toutes vos informations d’identité, mais celles-ci ne sont pas vérifiées par StartSSL, donc c’est certainement un point délicat dans le cas d’un site d’e-commerce par exemple. Mais pour simplement sécuriser des pages d’administration, un back-office, c’est amplement suffisant.

Voici décrite ci-dessous la procédure de création et mise en place d’un certificat SSL pour Nginx.

Continuer la lecture

Permissions des fichiers et répertoires d’un serveur web

Cet article établit une base de travail au niveau des permissions de répertoires et fichiers lors de la mise en place d’un serveur web. En effet un serveur HTTP peut contenir plusieurs sites, les fichiers de ceux-ci peuvent être gérés par plusieurs utilisateurs, un utilisateur A ayant accès aux fichiers du site A, mais pas à ceux du site B, alors qu’un utilisateur C, aura accès aux fichiers des site A, B et C par exemple.

Ce qui suit ne s’adresse pas à un type de serveur particulier, mais suppose une machine GNU/Linux et un serveur Nginx ou Apache.

Les permissions

Normalement sous Linux, lorsqu’un fichier est créé, il hérite du groupe de l’utilisateur qui l’a créé. Dans le cas de fichiers et répertoires relatifs à un serveur web, il est préférable que lorsqu’un fichier est créé il hérite du groupe du répertoire parent (en général /var/www), pour faire ceci il faut activer le bit SGID (Set Group ID) du répertoire parent.
Pour se rafraichir un peu les neurones au niveau du concept de permissions sous Linux, voir ce billet.

D’un autre coté, pour travailler convenablement avec ses collaborateurs, il faut prendre soin de modifier le umask, le masque de création de fichier par l’utilisateur, qui est général placé à 022 par défaut, c’est-à-dire que lorsqu’un fichier est créé il aura comme permissions 755, ce fichier n’étant pas éditable par le groupe. Changer le umask en 002 va placer les permissions d’un nouveau fichier en 775.

Continuer la lecture

Mise à jour massive multi-tables MySQL utilisant une procédure stockée

Ce billet est un pur mémo, un quasi copier-coller. Et je n’ai pas trouver un autre titre, aussi générique et banal soit-il.

Pour l’un de mes projets principaux (un système de gestion de pièces de rechange/entrepôt), un gros changement m’a été demandé. Celui-ci, parmi d’autres choses, implique une modification du format du code barre des biens dans la base de données, et ce champ est une clé primaire, donc point délicat.

Le code barre était auto-généré en utilisant les premiers 6 caractères du code fournisseur – si existant – complétés par des zéros, puis un entier incrémenté, toujours complété par des zéros. Il existe donc différentes “typographies” de codes barres, avec et sans caractères alphabétiques : 0000002598 et DMP0000666 peuvent exister.
Maintenant ce code barre est plus simple, il s’agit juste d’un entier incrémenté.

Continuer la lecture