Catégories
Blog Open-source Planet-libre Systeme

Résultats du sondage sur les systèmes d’exploitation

Je viens de clôturer le sondage que j’avais mis en ligne dimanche dernier et qui avait pour objectif de connaître les systèmes d’exploitation que vous, lecteurs du blog, utilisez au quotidien.

Quelques 638 réponses plus tard, voici le résultat des courses !

Question 1: Quel système d’exploitation utilisez vous chez vous ?

Pas de grosses surprise, les distributions basées sur Debian (Ubuntu/Debian/Mint) arrive en tête pour le monde GNU/Linux. Windows est encore bien présent mais souvent en deuxième machine (c’est pour cela que la somme des réponses dépassent les 100%). A noter que Mac OS X arrive en 4em place.

Les lecteurs de ce blog sont donc bien équipés avec une moyenne de 2.06 OS par domicile.

Question 2: Quel système d’exploitation utilisez vous au boulot ?

Le lobbying|vente forcée de Microsoft marche encore bien dans nos entreprises puisque Windows arrive en deuxième position (419) derrière les « Debian like » (492).  Il est par contre assez étonnant de voir le relatif faible score de la distribution Redhat pour qui l’entreprise est clairement la cible. Il faut cependant relativiser ces chiffres par le fait que les lecteurs de ce blog ne sont pas des utilisateurs lambda…

L’utilisation de plusieurs systèmes est aussi important (2.02 OS par utilisateur).

Question 3: Si vous êtes sous GNU/Linux, quel est votre environnement graphique ?

Question un peu à part, mais d’actualité, sur l’utilisation des environnements graphiques GNU/Linux. Gnome 2 (le classique) arrive en tête mais il est suivi le prêt par Gnome 3 (Shell) qui semble enfin prendre son envol. Unity qui a pas mal fait parlé de lui arrive en 3em place alors qu’il est seulement pré-installé sur les dernières distributions Ubuntu.

Question 4: Sur quel système d’exploitation installez vous vos serveurs (dédiés ou virtuels) ?

Il est intéressant de voir que pour vos serveurs, Debian largement en tête des votes. La stabilité de ce système est rassurante pour des machines qui sont critiques. Ubuntu Server arrive en deuxième place devant Fedora/Redhat.

Que pensez-vous de ces résultats ? Des surprises ?

Vous pouvez consulter les résultats complets sur cette page.

Catégories
Open-source Planet-libre Systeme

Présentation complète de Glances

Il y a quelques jours, je vous avez présenté la première version de Glances, mon logiciel pour surveiller simplement ses systèmes en mode texte à partir d’une console ou d’un terminal. Quelques versions plus tard (Glances est actuellement disponible en version 1.3.7), il était temps pour moi de vous en faire une présentation un peu plus complète.

Introduction

Glances est un logiciel libre (distribué sous licence LGPL) permettant de surveiller votre système d’exploitation GNU/Linux ou BSD à partir d’une interface texte. Glances utilise la librairie libstatgrab pour récupérer les informations de  votre système. Il est développé en langage Python.

Installation

Depuis le gestionnaire de paquet de votre système

Des paquets existent pour plusieurs distributions: Arch, Fedora/Redhat…

Le processus de packaging est actuellement en cours sur d’autres distribs, je vous conseille donc de rechercher Glances (avec un s !) sur votre gestionnaire de package avant de faire une installation depuis les sources.

Merci de laisser un commentaire dans ce billet si vous trouvez Glances sur votre système 🙂

Depuis le PPA

Pour les distributions Ubuntu (et dérivées) depuis la 9.10 jusqu’à la 12.04, il est possible d’utiliser le PPA généreusement maintenu par Arnaud Hartmann.

[cc lang=bash »]

sudo add-apt-repository ppa:arnaud-hartmann/glances-stable

sudo apt-get update

sudo apt-get install glances

[/cc]

Depuis les sources

Le projet Glances est hébergé sur GitHUB.

Pour l’installer, il suffit de suivre les instructions suivantes depuis un terminal.

Récupération de la dernière version (1.3.7):

[cc]

$ wget https://github.com/downloads/nicolargo/glances/glances-1.3.7.tar.gz

[/cc]

Procédez ensuite à l’installation:

[cc]

$ tar zxvf glances-1.3.7.tar.gz
$ cd glances-1.3.7
$ ./configure
$ make
$ sudo make install

[/cc]

Glances a besoin des dépendances suivantes:

  • Python 2.6+ (non testé avec Python 3+)
  • libstatgrab 0.16+
  • python-statgrab 0.5+ (ne marchera PAS avec python-statgrab 0.4)

Notes specifiques pour une installation sous Debian 6.

Debian Squeeze met à disposition la version 0.4 de python-statgrab. Il faut donc installer la version 0.5 à la main:

[cc]

$ sudo apt-get install libstatgrab-dev pkg-config python-dev make
$ wget http://ftp.uk.i-scream.org/sites/ftp.i-scream.org/pub/i-scream/pystatgrab/pystatgrab-0.5.tar.gz
$ tar zxvf pystatgrab-0.5.tar.gz
$ cd pystatgrab-0.5/
$ ./setup.py build
$ sudo ./setup.py install

[/cc]

Notes specifiques pour une installation sous Ubuntu 10.04 et 10.10.

Ces versions d’Ubuntu mettent à disposition la version 0.4 de python-statgrab. Il faut donc installer la version 0.5 à la main:

[cc]

$ sudo apt-get update
$ sudo apt-get install pkg-config build-essential autoconf automake python libstatgrab-dev python-all-dev
$ sudo apt-get remove python-statgrab
$ wget http://ftp.uk.i-scream.org/sites/ftp.i-scream.org/pub/i-scream/pystatgrab/pystatgrab-0.5.tar.gz
$ tar zxvf pystatgrab-0.5.tar.gz
$ cd pystatgrab-0.5/
$ ./setup.py build
$ sudo ./setup.py install

[/cc]

Lancement de Glances

Il suffit de saisir la commande suivante dans une console ou un terminal:

[cc]

$ glances.py

[/cc]

Note: sur certaines distributions, il faut saisir glances en lieu et place de glances.py.

Guide d’utilisation

Par défaut, l’affichage des statistiques est rafraichi toute les secondes.

Il est possible de changer cette valeur en utilisant l’option -t. Par exemple pour fixer un taux de rafraichissement à 5 secondes:

[cc]

$ glances.py -t 5

[/cc]

Les statistiques jugées importantes sont affichées en couleur:

  • VERT: la statistique est « OK »
  • BLEU: la statistique est « CAREFUL » (à surveiller)
  • VIOLET: la statistique est « WARNING » (en alerte)
  • ROUGE: la statistique est « CRITICAL » (critique)

Quand Glances est lancé, il est possible d’utiliser les touches suivantes:

a‘ pour trier la liste des processus de manière automatique:

  • Si la CPU totale > 70% alors le tri se fait pas consommation CPU
  • si la mémoire total > 70% alors le tri se fait pas consommation MEMOIRE

c‘ pour forcer le tri par consommation CPU

d‘ pour desactiver ou activer l’affichage des entrées/sorties disques

f‘ pour desactiver ou activer l’affichage de l’occupation des FS

h‘ pour afficher ou cacher l’aide en ligne

m‘ pour forcer le tri par consommation MEMOIRE

n‘ pour desactiver ou activer l’affichage des interfaces réseau

q‘ pour quitter Glances (il est également possible d’utiliser CTRL-C)

Passons ensuite à la description de la fenêtre de Glances:

En-tête

L’en-tête montre la version de Glances, le nom de la machine (FQND) ainsi qu’une information sur le système d’exploitation (nom, version).

CPU

L’état de la CPU est affiché par un pourcentage de l’utilisation globale.

  • Si user|kernel|nice CPU est < 50%, alors le status est « OK ».
  • Si user|kernel|nice CPU est > 50%, alors le status est « CAREFUL ».
  • Si user|kernel|nice CPU est > 70%, alors le status est « WARNING ».
  • Si user|kernel|nice CPU est > 90%, alors le status est « CRITICAL ».

Charge moyenne (aka Average Load)

Il est assez difficile de donner une définition claire de la charge d’une machine (load average). Sur le blog Nosheep, Zach en donne la définition suivante:

 » C’est la somme moyenne du nombre de processus en attente dans la queue d’execution plus le nombre de processus actuellement en train d’être executés sur une période de temps de 1, 5 et 15 minutes. »

Glances permet d’afficher les alertes en tenant compte du nombre de coeurs de votre processeur. Par exemple, le seuil WARNING sera de 2 pour un processeur  Bi-Core alors qu’il sera de 4 sur un Quad-Core.

  • Si la charge moyenne est < O.7*Core, alors le status est « OK ».
  • Si la charge moyenne est > O.7*Core, alors le status est « CAREFUL ».
  • Si la charge moyenne est > 1*Core, alors le status est « WARNING ».
  • Si la charge moyenne est > 5*Core, alors le status est « CRITICAL ».

Mémoire

Glances affiche 3 types d’informations pour la mémoire: RAM, SWAP et réelle (un peu à la manière de la commande « free -h »).

La mémoire réelle occupée est calculée ainsi = used – cache.

La mémoire réelle libre est calculée ainsi = free + cache.

Les alertes utilisent les seuils suivants:

  • Si la mémoire est < 50%, alors le status « OK ».
  • Si la mémoire est > 50%, alors le status « CAREFUL ».
  • Si la mémoire est > 70%, alors le status « WARNING ».
  • Si la mémoire est > 90%, alors le status « CRITICAL ».

Débits des interfaces réseau

Glances affiche les débits des interfaces réseau en adaptant dynamiquement l’unité à utiliser (bits par seconde).

Les alertes ne sont affichées que pour les interfaces dont les informations sur la vitesse maximale sont disponibles (cela dépend des distributions):

  • Si le débit < 50%, alors le status est « OK ».
  • Si le débit > 50%, alors le status est « CAREFUL ».
  • Si le débit > 70%, alors le status est « WARNING ».
  • Si le débit > 90%, alors le status est « CRITICAL ».

Par exemple, sur une interface Ethernet Fast Ethernet (100 Mbps), le status passera à WARNING si le débit dépasse les 70 Mbps.

Entrées/Sorties disque

Glances permet d’afficher les débits en lecture et écriture sur les disques en adaptant dynamiquement l’unité à utiliser (octets par seconde).

Il n’y a pas d’alerte remontée pour ce type d’information.

Espace sur les systèmes de fichiers

Glances affiche par système de fichiers l’espace disque total et utilisé. L’unité est automatiquement adaptée (octets par seconde).

Les alertes sont remontées sur l’espace disque utilisé:

  • Si l’espace disque utilisé est < 50%, alors le status est « OK ».
  • Si l’espace disque utilisé est > 50%, alors le status est « CAREFUL ».
  • Si l’espace disque utilisé est > 70%, alors le status est « WARNING ».
  • Si l’espace disque utilisé est > 90%, alors le status est « CRITICAL ».

Les processus

Glances affiche un résumé sur l’état des processus ainsi qu’une liste détaillé (CPU, MEMOIRE et nom du processus).

Le nombre des processus affichés est adapté à la taille de la fenêtre.

Les logs

Nouveauté de la version 1.3.7.

Lire le billet suivant pour une description de la fonction logs.

 

Pied de page

Glances y affiche la légende (rappel des codes des couleurs) ainsi que la date et l’heure courante.

A faire…

J’ai besoin de contributeurs pour faire évoluer Glances.

Notamment:

  • Packaging pour Debian, Ubuntu, BSD et toutes autres distributions
  • Controle de la présence des librairie dans le fichier configure.ac
  • Inclure les stats de FS directement dans python-statgrab
  • Ajout d’une fenêtre d’aide
  • Optimisation du code

Pour toutes remarques, bugs, demande d’évolution sur Glances, merci d’utiliser le formulaire GitHub.

Catégories
Blog Open-source

Petit sondage pour mes lecteurs…

Cliquer ici pour voir les résultats du sondage. 

Comme vous avez pu le voir, depuis quelques temps, je n’ai pas trop le temps de bloguer régulièrement. Entre mon boulot, la vraie vie et les évolutions de Glances (mon petit logiciel de supervision système qui vient de sortir en version 1.3.2), je n’arrive pas à libérer du temps pour finaliser les billets que j’ai dans le pipe (notamment un sur la virtualisation QEMU/Libvirt).

Donc, pour une fois, je vais vous faire travailler !

Je viens de mettre en ligne un petit sondage qui me permettra de mieux cibler les articles (ou du moins les procédures) afin qu’ils s’adaptent à vos environnements de travail. Il ne devrait pas vous prendre plus de 2 minutes de votre temps.

Le sondage est disponible ici (cliquer sur ce lien pour ouvrir la page du sondage).

D’avance merci à vous !

Catégories
Open-source Planet-libre Reseau Systeme

Debian et les mails depuis la ligne de commande

Suite à l’installation d’un serveur Kimsufi 16G sous Debian 6.0 puis configuré avec mon script de post installation spécial serveur, j’ai attendu en vain la réception des premiers apports de Fail2ban qui devaient être envoyés par mail.

Une petit visite des fichiers de logs me montre rapidement d’ou vient le problème:

… Can’t exec /usr/lib/sendmail: No such file or directory…

Par défaut, il n’y a donc pas de brique système permettant d’envoyer des mails.

Installation de Postfix

Pour résoudre cela, j’ai donc exécuté la commande suivante qui va installer le serveur de messagerie Postfix:

[cc lang= »bash »]

sudo apt-get install postfix

[/cc]

Puis configuré Postfix de la manière suivante:

Puis:

Configure le Firewall

Cette section est optionnelle et ne concerne que les serveurs qui embarque un Firewall système (Iptables).

Si vous avez un Firewall sur votre serveur (j’utilise ce script que je place dans /etc/init.d/), il faut autoriser les flux sortant sur le port SMTP (TCP/25) sous risque d’avoir le message suivant dans votre fichier syslog:

Dec 11 08:46:00 ks387949 kernel: IN= OUT=eth0 SRC=176.31.252.29 DST=217.70.184.162 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=30778 DF PROTO=TCP SPT=59718 DPT=25 WINDOW=14600 RES=0x00 SYN URGP=0

Pour cela, il faut éditer le script puis ajouter le port 25 dans la variable REMOTE_TCP_SERVICES:

REMOTE_TCP_SERVICES= »22 25 80 443″

Et enfin relancer le script:

[cc lang= »bash »]

sudo /etc/init.d/firewall.sh restart

[/cc]

On teste

Le plus simple est d’utiliser la ligne de commande et la commande mail:

[cc lang= »bash »]

$ mail contact@nicolargo.com

Subject: Test

Test de 09:27

.

[/cc]

Quelques secondes plus tard, vous devriez recevoir le mail:

A vous les rapports Fail2ban

Catégories
Developpement Open-source Planet-libre Reseau Systeme

Glances: vos stats systèmes en un clin d’oeil

Il y a quelques jours, je vous avais parlé de Saidar, un logiciel permettant de regrouper dans un terminal|console un certain nombre de statistiques sur votre machine. Après quelques heures d’utilisations, j’ai identifié des choses qui ne me convenait pas:

  • pas d’affichage de la mémoire réellement disponible (comme on peut le trouver sur la deuxième ligne de la commande free -m)
  • pas de détail au niveau des processus
  • affichage des débits réseaux en octets/sec alors que j’utilise toujours les bits/sec
  • pas d’information sur l’espace disque disponible

Comme je ne trouvais pas la « killer application » dans ce domaine (même si il existe de très bon outils comme top), j’ai décidé de repartir d’une feuille blanche et de développer le logiciel Glances (licence LGPL) dont je vais vous présenter les grandes lignes dans ce billet.

Glances screenshot

Objectifs

Ils sont multiples:

  • prises en compte de mes griefs sur Saidar
  • accès à la fois depuis un environnement graphique (terminal) qu’à distance (console)
  • mise en avant des statistiques importantes à la compréhension d’un éventuel problème
  • affichage des processus triés de manière intelligente et automatique
  • développement en langage Python (je connais assez bien, c’est portable et facile à maintenir)

Installation

Après avoir téléchargé la dernière version stable disponible , il suffit de saisir les commandes suivantes:

[cc lang= »bash »]

tar zxvf glances-version.tar.gz

cd glances-version

./configure

make

sudo make install

[/cc]

Notes: remplacer « version » par le numéro de version que vous avez téléchargé…

Glances a besoin de la librairie python-statgrab version 0.5 (ou supérieure) pour fonctionner correctement. Sous Ubuntu, il suffit de lancer la commande:

[cc lang= »bash »]

sudo apt-get install python-statgrab

[/cc]

Sous Debian Squeeze, seule la version 0.4 de python-statgrab est disponible dans les dépôts. Il faut donc installer la version 0.5:

[cc lang= »bash »]

sudo apt-get install libstatgrab-dev

wget http://ftp.uk.i-scream.org/sites/ftp.i-scream.org/pub/i-scream/pystatgrab/pystatgrab-0.5.tar.gz

tar zxvf pystatgrab-0.5.tar.gz

cd pystatgrab-0.5/

./setup.py build

sudo ./setup.py install

[/cc]

Utilisation

On lance le logiciel avec la commande:

[cc lang= »bash »]

glances.py

[/cc]

Par défaut, le rafraîchissement des données se fait toutes les secondes. Il est possible de l’augmenter avec l’option -t. Par exemple pour avoir un taux de rafraîchissement de 5 secondes:

[cc lang= »bash »]

glances.py -t 5

[/cc]

Une fois lancé, les touches suivantes sont actives:

  • ‘a’: passer le tri des processus en automatique (c’est le mode par défaut). Glances utilisera par défaut un tri décroissant sur l’utilisation CPU. Si une alerte sur la mémoire globale apparaît (mémoire occupé > 70%), le tri se fera alors par occupation mémoire.
  • ‘c’: forcer le tri des processus en fonction de leurs utilisations de la CPU.
  • ‘m’: forcer le tri des processus en fonction de leurs occupations mémoire.
  • ‘q’: quitter le programme (on peut également utiliser CTRL-C).

Si votre terminal|console est compatible avec un affichage couleur, alors les statistiques importantes (à mes yeux…) sont mises en avant de la manière suivante:

  • VERT: le compteur est < 50%
  • BLEU: le compteur est > 50% et < 70%
  • VIOLET: le compteur est > 70% et < 90%
  • ROUGE: le compteur est > 90%

Limitations

L’API python-statgrab comporte actuellement un bug pour la récupération des statistiques sur les espaces disques. Dès que ce dernier sera corrigé, je pense inclure ces statistiques dans l’espace libre en bas à gauche de la fenêtre de Glances.

Un problème ?

Si vous rencontrez un problème lors de l’installation ou de l’utilisation de Glances:

  1. Vérifié que le problème n’est pas référencé
  2. Saisir le nouveau bug dans le tracker GitHub

Lors de la saisie du bug merci de fournir les informations suivantes:

  • Système d’exploitation (nom, version)
  • version de Python (python -v)
  • version de la librairie statgrab (apt-cache show statgrab)
  • version de la librairie python-statgrab (apt-cache show python-statgrab)

Contribuer ?

Le logiciel est distribué sous licence libre LGPL. Il est disponible dans le GitHub suivant: https://github.com/nicolargo/glances

Si vous trouvé ce logiciel intéressant et que vous souhaitez vous impliquer, j’ai besoin de vous sur les sujet suivants:

  • packaging de Glances pour Debian, Ubuntu (PPA), Fedora, Redhat, Free|Open|NetBSD…
  • amélioration/optimisation du code (lire le billet contribuer à un projet hébérgé sur GitHub)
  • inclure la vérification de la présence de la librairie python-statgrab lors du .configure (j’ai un bug dans le configure.ac)
  • ‘Man’ page
  • Afficher une fenêtre d’aide avec les touches disponibles quand on clique sur F1
  • Corriger le bug de python-statgrab afin que l’on puisse inclure les statistiques sur les systèmes de fichiers

J’attends vos retours. 🙂

Catégories
Developpement Open-source Web

Epitech Innovative Project 2012

Ce matin, dans ma boîte au lettre (la vraie pas la virtuelle), j’ai eu le plaisir de découvrir le catalogue des projets innovants développés par les étudiants de la promotion 2012 de l’école de l’innovation et de l’expertise informatique Epitech. Sous une très belle présentation graphique se cache 52 projets utilisant un panel très varié de technologies informatiques. Contrairement à pas mal de projets de fins d’études qui débouchent rarement sur des choses intéressantes, le projet EIP  fait partie intégrante du cursus de l’école et ceci dès la 4ém année.

Pour la version 2012, les projets sont répartis en 5 catégories:

  1. Améliorer le bien être des individus et des collectivités
  2. Mieux diffuser le progrès technologique
  3. Rendre plus efficaces les outils au profit des entreprises
  4. Ouvrir de nouveaux horizons aux passions
  5. Innover, année après année, team après team

Pour chaque projet, une double page  permet de se faire une idée générale du sujet, de mettre en avant les technologie utilisées puis de présenter l’équipe et les éventuels partenaires industriels.

A titre personnel, voici quelques projets dont je trouve les sujets intéressants:

  • Rawmarket: Relier équitablement acheteurs et fournisseurs
  • Syshome: Solution de domotique écologique et durable
  • Comeet: Un espace de Visioconférence basée sous XMPP
  • Defuze.me: Régler sa station de radio sur le succès
  • Skuld: Centre d’imagerie médicale de poche (accès à un serveur PACS depuis un mobile)

La liste complète des projets est disponible sur cette page.

Merci encore à l’équipe pédagogique de l’Epitech pour ce très beau catalogue.