28 Juin

Nagios 4.0.x sur Debian & Nginx

Nagios est un logiciel de supervision destiné à contrôler un ou plusieurs serveurs afin de remonter d’éventuels problèmes avant que les clients, utilisateurs, etc. ne le fassent. Il peut envoyer des notifications de différentes façons (email, SMS, messagerie instantanée, etc…). Les informations d’état courants, les historiques et les rapports peuvent être consultés à partir d’un simple navigateur.

Nagios est capable entre autre de :

    vérifier les services réseau (SMTP, HTTP, FTP, etc.)
    surveiller les ressources des hôtes (charge CPU, RAM, espace disque, etc.)
    contrôler les équipements (CPU, ventilateurs, etc.)

Cet article, le premier de la série, présente l’installation de Nagios Core, le moteur du service accompagné d’une interface web, sur Debian 7.5 et un serveur Nginx. Il s’inscrit dans la continuité de la série des Outils Web d’Administration et en reprend donc la logique de configuration (zone d’admin ssl, etc.). N’hésitez pas à relire l’introduction pour plus de détails.
Lire la suite

21 Juin

Debian : Mises à Jour Automatiques

Un des gros problèmes souvent rencontré dans l’administration d’un système est la mise à jour. Combien de fois peut-on voir sur les forums quelqu’un se plaindre de s’être fait hacker son serveur et, dans le même temps, avouer benoîtement ne pas en avoir passé une seule depuis l’installation ! Les différentes distributions mettent pourtant en place des système de gestion des packages (yum ou apt), mais on n’a pas forcément toujours le temps de régulièrement se connecter sur son ou (surtout) ses serveurs pour s’en occuper.

Pour résoudre ce problème, Debian, mais aussi Ubuntu, proposent un package, unattended-upgrade, permettant d’automatiser les mises à jour. Ce n’est pas la panacée, une mise à jour présente toujours le risque de casser quelque chose et mieux vaut toujours les passer manuellement, mais c’est toujours mieux que de rien faire.
Lire la suite

16 Juin

Outils Web d’Administration – GateOne

Cet article présente l’installation de GateOne, un client SSH écrit 100% en HTML5. Mais quel est l’intérêt? Deux cas de figures sont possibles.

1er cas, on se trouve dans un environnement restrictif, par exemple derrière un proxy avec authent ntlm qui ne laisse passer que le http/https, ou sur un windows sans possibilité d’installer un client SSH. GateOne ne requiert qu’un navigateur en html5 et une connexion https standard, pas besoin de plugin, jvm ou autre.

2ème cas, on souhaite permettre un accès externe à une zone privée (intranet, etc.) sans pour autant ouvrir les accès SSH à travers sa DMZ. On peut monter GateOne derrière un reverse proxy en frontal sans compromettre sa sécurité.
Lire la suite

10 Juin

Test en Charge de son Serveur Web

Je viens de tomber sur LoadImpact, un site sympa pour tester en charge son serveur web. La version gratuite mise à disposition est bien sûr limitée, mais elle permet déjà de se faire une idée. Le résultat complet est disponible en ligne et c’était l’occasion de voir la solidité de mes optimisations.

Résultat d'un test Load Imapct sur ce blog
Malheureusement, sans s’enregistrer et/ou payer il n’est pas possible de monter la charge ou de mener des tests plus fins. Mais j’ai pu constater que :

  • le site encaisse sans soucis 50 clients actifs simultanés/li>
  • les temps de chargements des utilisateurs restent plats à 300ms
  • la charge cpu de Nginx et php-fpm (mesurée avec htop) n’a jamais dépassé 1%

Nginx peut donc certainement encore encaisser une charge très supérieure. Vu le trafic de mon blog, j’ai de quoi voir venir !

08 Juin

Backup de son ESX

Cet article cherche à répondre à une question qui m’a été adressée sur ce site sur une solution de backup d’ESX sur un serveur SYS. Malheureusement, après 4 ans d’hébergement gracieux en datacenter, j’ai dû récemment rendre l’espace et de-commissionner mon ESXi 4.1. Je n’ai donc pas les moyens, contrairement aux autres articles, de monter rapidement et à peu de frais une infrastructure de test et il s’agit plus d’une présentation de quelques idées pour améliorer le backup d’un ESX en standalone.
Lire la suite

06 Juin

Méfiance avec les CDN de librairies JS

Quand on cherche à optimiser son site web, on se voit souvent conseiller d’utiliser des CDN de librairies JavaScript, par exemple Google Hosted Libraries. C’est une bonne idée, a priori, elles permettent :

  • de diminuer la charge sur son serveur
  • d’améliorer le temps de chargement pour les clients distants du serveur
  • avec un peu de chance, la librairie a déjà été chargée par le navigateur du client

C’est du moins la théorie. Dans la pratique, conserver les librairies sur son propre serveur permet d’être certain qu’elles seront toujours disponibles, en tous cas, au moins autant que son propre site. J’utilise HighCharts intensivement pour un autre WordPress et aujourd’hui mauvaise surprise, quelques uns de mes graphiques ne fonctionnaient plus… Après vérification du code, j’avais oublié de remplacer les url des libraires highcharts par celles hébergées sur mon serveur.

Je ne sais pas très bien pourquoi, mais l’url de la ligne 6 ne fonctionne plus depuis 2 jours (au moins) et renvoie le message d’erreur  » The chart could not be found.  » au lieu du JS. Et pourtant, cette url était utilisée par le site cloud.highcharts.com dans ses templates !

Bref, je ne suis pas en train de dire qu’il ne faut pas utiliser ces CDN de librairies. Comme toutes optimisations, elles ont leurs avantages et inconvénients, mais les utiliser à l’aveugle, sans s’être demandé si son site pouvait en bénéficier réellement, est absurde.

02 Juin

Nginx – default server

Comment configurer le serveur par défaut sous nginx surtout dans un environnement de « virtual host » ? Généralement, on attend de son serveur web le comportement suivant :

  1. toutes les requêtes mal formatées sont récupérées par le serveur www.domaine.com
  2. ces dernières sont alors ré-écrites en www.domaine.com (au lieu de 192.168.1.102 par ex.)

Lire la suite