Catégories
Blog Open-source

Le panier du marché libre #10

Dixième édition du panier de liens plus ou moins intéressant que j’ai glané sur la toile.

En bonus la recette des artichauts à la barigoule, perso j’y ajoute un citron confit pendant la cuisson…

Catégories
Nagios Open-source Planet-libre Reseau

Installation pas à pas d’un serveur de supervision Icinga

Icinga est un des nombreux forks libres de Nagios qui font pas mal parler d’eux en ce moment. Il apporte son lot d’amélioration par rapport « à son père » comme une architecture distribuée, une utilisation possible des bases de données MySQL/PgSQL/Oracle ou encore une interface Web tirant partie des dernières technologies dans le domaine (cliquez ici pour tester la démonstration de l’interface Web Icinga). Pour voir une comparaison pas forcément impartiale entre Icinga et Nagios, vous pouvez consulter ce tableau.

Dans ce billet, nous allons installer et configurer un serveur de supervision Icinga sur un serveur Debian (version Lenny ou supérieure mais la procédure doit être facilement adaptable à Ubuntu Server).

Les caractéristiques du serveur Icinga seront les suivantes:

  • Icinga dernière version disponible
  • Données de surperision stockées dans une base de donnée MySQL
  • Interface Web basée sur Apache
  • Plugins Nagios 1.4.15

Cette procédure a été testé sur une machine virtuelle (VM) sous Debian 6.0 Squeeze fraichement installée.

Préparation de l’installation

Nous allons installer Icinga depuis les sources se trouvant dans le dépôt Git officiel. Nous aurons ainsi la dernière version disponible. Pour cela, il est nécessaire d’installer certaines librairies et outils sur votre système.

Note: Les commandes de ce billet ont été saisies dans un terminal administrateur. Il est également possible d’utiliser la commande sudo <cmd> pour executer certaines taches en tant qu’administrateur ou su – -c « <cmd> ».

On installe les pré-requis (à adapter si vous utilisez Ubuntu Server en lieu et place de Debian):

ETAPE 1

apt-get install apache2 build-essential libgd2-xpm-dev libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev mysql-server mysql-client libdbi0 libdbi0-dev libdbd-mysql snmp libsnmp-dev git

En cas d’erreur (par exemple paquet introuvable), il faudra faire une recherche dans les dépots et remplacer la librairie manquante par la nouvelle version.

On passe ensuite à la création du compte utilisateur et du groupe avec lesquels Icinga sera exécuté.  Je préfère personnellement utiliser le compte nagios (et le groupe nagios) plutôt que icinga comme on le trouve sur la documentation officielle. En effet, cela permet de simplifier une migration éventuelle d’un serveur Nagios vers Icinga.

ETAPE 2

groupadd nagios

useradd -g nagios -c « Nagios User » -s /bin/noshellneeded nagios

passwd nagios

usermod -a -G nagios www-data

Installation depuis les sources (Git)

On passe ensuite à la récupération de la dernière version de Icinga sur le gestionnaire de version Git officiel.

ETAPE 3

cd /usr/src

git clone git://git.icinga.org/icinga-core.git

cd /usr/src/icinga-core/

git submodule init

git submodule update

Puis on compile « la bête » avec les commandes suivantes:

ETAPE 4

./configure –with-icinga-user=nagios –with-icinga-group=nagios –with-nagios-user=nagios –with-nagios-group=nagios –with-command-user=nagios –with-command-group=nagios –prefix=/usr/local/icinga –enable-idoutils –enable-ssl

make all

make fullinstall

Si vous souhaitez protéger l’accès à l’interface Web d’Icinga avec un login/password, il faut également saisir la commande suivante. Par exemple pour définir un compte icingaadmin:

htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin

Installation des plugins Nagios

Comme Icinga est un fork de Nagios, il est possible d’utiliser directement les plugins de Nagios en version 1.4.15 au moment de la rédaction de ce billet.

Pour les installer on saisi:

ETAPE 5

cd /usr/src

wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz

tar zxvf nagios-plugins-1.4.15.tar.gz

cd nagios-plugins-1.4.15

./configure –prefix=/usr/local/icinga –with-cgiurl=/icinga/cgi-bin –with-htmurl=/icinga –with-nagios-user=nagios –with-nagios-group=nagios

make

make install

make install-root

Configuration de IDO

Arrivé à ce point de l’installation, vous devriez avoir un Icinga fonctionnel avec une base de donnée locale sous la forme de fichier texte (c’est le mode par défaut de Nagios). Pour avoir une installation évolutive et permettant d’exploiter les données issues de Nagios sur d’autres applications, il est nécessaire de configurer Icinga pour utiliser une base de donnée (MySQL dans notre exemple) en lieu et place de ces fichiers textes.

Pour cela, nous allons utiliser le module IDO qui fait l’interface entre Icinga et MySQL (ou PgSQL…). Ce module est l’équivalent du module NDO dans l’écosystème Nagios.

Le module IDO est installé par défaut suite à l’utilisation de l’option –enable-idoutils lors de la configuration de la compilation de Icinga. Il suffit donc de le configurer en suivant les indications suivantes:

ETAPE 6

cp /usr/local/icinga/etc/idomod.cfg-sample /usr/local/icinga/etc/idomod.cfg

sed -i -e « s/^use_ssl=0/use_ssl=1/g » /usr/local/icinga/etc/idomod.cfg

sed -i -e « s/^output_type=unixsocket/output_type=tcpsocket/g » /usr/local/icinga/etc/idomod.cfg

sed -i -e « s/^output=\/usr\/local\/icinga\/var\/ido.sock/output=127\.0\.0\.1/g » /usr/local/icinga/etc/idomod.cfg

cp /usr/local/icinga/etc/ido2db.cfg-sample /usr/local/icinga/etc/ido2db.cfg

sed -i -e « s/^use_ssl=0/use_ssl=1/g » /usr/local/icinga/etc/ido2db.cfg

sed -i -e « s/^socket_type=unix/socket_type=tcp/g » /usr/local/icinga/etc/ido2db.cfg

sed -i -e « s/^#broker_module=\/usr\/local\/icinga\/bin\/idomod.o\ config_file=\/usr\/local\/icinga\/etc\/idomod.cfg/broker_module=\/usr\/local\/icinga\/bin\/idomod.o\ config_file=\/usr\/local\/icinga\/etc\/idomod.cfg/g » /usr/local/icinga/etc/icinga.cfg

cat >> /usr/local/icinga/etc/modules/idoutils.cfg < EOF
define module{
module_name ido_mod
path /usr/local/icinga/bin/idomod.o
module_type neb
args config_file=/usr/local/icinga/etc/idomod.cfg
}
EOF

On doit enfin créer la base de donnée MySQL qui va stocker les données d’Icinga.

ETAPE 7

mysql -u root -p

mysql> CREATE DATABASE icinga; GRANT USAGE ON *.* TO ‘icinga’@’localhost’ IDENTIFIED BY ‘icinga’; GRANT SELECT , INSERT , UPDATE , DELETE ON icinga.* TO ‘icinga’@’localhost’;

mysql> FLUSH PRIVILEGES;

mysql> quit

mysql -u root -p icinga < /usr/src/icinga-core/module/idoutils/db/mysql/mysql.sql

Par défault, la base de donnée s’appelle icinga et elle sera accessible seulement en local (localhost) par l’utilisateur MySQL icinga avec le mot de passe icinga. (vous pouvez bien sur changer ces paramètres dans la base de donnée mais il faudra alors veiller à également les modifier dans le fichier ido2db.cfg).

Test de l’installation d’Icinga

On relance les processus pour prendre en compte notre configuration:

ETAPE 8

/etc/init.d/ido2db start

/etc/init.d/icinga start

/etc/init.d/apache2 restart

Puis on automatise le démarrage d’Icinga au prochain boot du serveur:

ETAPE 9

update-rc.d ido2db defaults

update-rc.d icinga defaults

Vous devriez avoir un Icinga fonctionnel ! Pour vérifier ceci, il suffit de pointer un navigateur Web vers l’URL suivante: http://<adresse ip serveur icinga>/icinga (ou http://localhost/icinga)

Migration de votre configuration Nagios (optionnel)

Comme nous l’avons vu au début de ce billet, Icinga est un fork de Nagios. C’est à dire qu’il est tout à fait possible d’utiliser les plugins et les configurations d’un serveur Nagios existant directement dans votre nouveau serveur Icinga.

Je vous conseille dans un premier temps d’archiver la configuration initiale de Icinga pour pouvoir revenir en arrière en cas de problème:

cp -R /usr/local/icinga/etc /usr/local/icinga/etc.default

Ensuite on copie la configuration depuis le répertoire de Nagios. Je pars sur l’hypothèse ou le serveur Nagios est installé sur la même machine que votre serveur Icinga. Si ce n’est pas le cas, il faudra transférer les fichiers depuis votre serveur Nagios.

cp -R /usr/local/nagios/etc/* /usr/local/icinga/etc/

On transforme ensuite la configuration pour l’adapter à Icinga:

mv /usr/local/icinga/etc/nagios.cfg /usr/local/icinga/etc/icinga.cfg

sed -i ‘s/nagios/icinga/g’ /usr/local/icinga/etc/icinga.cfg

sed -i ‘s/nagios/icinga/g’ /usr/local/icinga/etc/cgi.cfg

sed -i ‘s/nagios/icinga/g’ /usr/local/icinga/etc/resource.cfg

cp /usr/local/icinga/etc.default/htpasswd.users /usr/local/icinga/etc/

On devrait ainsi avoir une configuration mélangeant celle faite pour Icinga (notamment en ce qui concerne IDO) et votre ancienne configuration de Nagios.

On vérifie que la configuration ne comporte pas d’erreur:

/usr/local/icinga/bin/icinga -v /usr/local/icinga/etc/icinga.cfg

Si c’est le cas, il suffit de relancer Icinga pour prendre en compte cette configuration:

/etc/init.d/ido2db restart

/etc/init.d/icinga restart

/etc/init.d/apache2 restart

Vous pouvez faire fonctionner les deux services (Nagios & Icinga) en parallèle sans aucun problème. Cela peut être utile pour une phase de migration. Par contre il faut garder à l’esprit que vous aurez deux fois plus de requêtes vers vos serveurs…

Sources:

Catégories
Blog Open-source Planet-libre Systeme

Script de post installation de Debian Desktop

Comme la plupart d’entre vous, j’ai migré mon poste de travail vers la version 11.04 d’Ubuntu et je dois dire que pour une utilisation professionnelle, je trouve l’interface Unity encore perfectible. J’ai donc dans un premier temps testé la toute fraiche version de Fedora 15 avec Gnome 3 et je suis arrivé plus ou moin à la même conclusion.

J’ai donc décidé de « switcher » vers une Debian 6 (le script doit fonctionner sous Squeeze et Sid en adaptant le sources.list). Je voulais obtenir, au niveau du desktop, un résultat se rapprochant de ce que j’avais dans la version 10.10 d’Ubuntu. C’est à dire:

  • Gnome 2 avec un thème GTK Equinox Evolution Dawn + icônes Faenza
  • Conky avec le thème LUA 2011
  • Mes outils pour le blog et de tous les jours: Chromium, Hotot, Terminator, Shutter, Spotify, Dropbox
  • Une liste de dépôts utile pour mon boulot dans le sources.list (attention, le script utilise des dépôts « Sid » officiels et certains autres pouvant proposer des logiciels ou librairies « non libre »)

Comme je l’avais fait pour Ubuntu, j’ai donc développé un script post install pour Debian 6 qui va automatiser une partie de ces actions.

Le script est disponible dans le GITHub suivant (pour les remarques éventuelles, bug…):

https://github.com/nicolargo/debianpostinstall

Avant / Après

Voici un aperçu du bureau avant l’exécution du script…

… puis après (avec ce fond d’écran):

Téléchargement du script

Il faut saisir les commandes suivantes dans un terminal:

cd ~

wget https://github.com/nicolargo/debianpostinstall/raw/master/debian6postinstall.sh

chmod a+x debian6postinstall.sh

Exécuter le script

Le script nécessite les droits d’administrations. Le plus simple est donc de lancer un terminal administrateur (menu Applications > Accessoires > Terminal Administrateur) puis de saisir la commande suivante:

./debian6postinstall.sh

Un certain nombre d’informations va s’afficher sur l’écran. Si une question vous est posée, il suffit de choisir la réponse par défaut.

Si vous avez des remarques sur ce scripts, je suis comme d’habitude preneur !

Catégories
Blog Open-source Planet-libre

SophiaConf 2011

Le groupe de travail open-source de la Telecom Valley (06) organise juste avant les grandes vacances un cycle de conférences sur 4 jours (du 4 au 7 juillet 2011) sur des sujets pointus comme l' »Open Data« , l’Open Source sur plateforme mobile et embarquée, Android 3.0 et les méthodologies de développement agiles.

Détails du programme SophiaConf 2011:

Lundi 04 juillet : OPEN SOURCE, MOBILE ET EMBARQUE

Mardi 05 juillet : OPEN DATA

Mercredi 06 juillet : ANDROID 3.0 ET TABLETTES

Jeudi 07 juillet : DEVELOPPEMENT AGILE

Les conférences seront données sur le site de l’INRIA entre 17h30 et 20h et permettront d’apprendre et d’échanger. L’inscription gratuite peut être faite en ligne à partir de cette page sur le site officiel.

Pour ma part, je serais présent les mardi, mercredi et jeudi.

Qui viendra ?

Catégories
Blog

[Publi-information] Les annonceurs du blog

Voici un petit billet pour remercier les annonceurs qui participent au développement de ce blog que vous êtes de plus en plus nombreux à suivre. Bien que je ne vive pas de mon site (loin de là :)), ces coups de pouces me permettent de ne pas compter les dépenses sur me moyens de tests (serveurs, accès Internet, VPN…).

Je souhaite également souligner la très bonne relation que j’ai avec ces personnes. N’hésitez donc pas à prendre un peu de temps pour visiter leurs sites.

Si de nouveaux annonceurs sont intéressés, toutes les informations sont sur cette page.

Web4all

Web4all est une association de type loi 1901 spécialisée dans l’hébergement de sites internet. Sa gestion est désintéressée et l’équipe se compose uniquement de bénévoles permettant ainsi de réduire au maximum les dépenses afin de les concentrer sur la partie technique et notamment sur des serveurs haut de gamme. Grâce à son statut, Web4all offre un service de qualité aux clients et adhérents, le tout à un prix compétitif.
La contraction des dépenses s’appuie également sur l’utilisation de systèmes libres dont la réputation n’est plus à faire. On notera ainsi l’utilisation d’applications comme Apache, MySQL, Zimbra, Alfresco et bien d’autres sans oublier les systèmes de supervision (Cacti, Nagios, Centreon, Smokeping).
Bien que juridiquement organisé en association, Web4all propose un service pour héberger vos sites internet équivalent à celui des sociétés commerciales. Les membres du conseil d’administration animés par la volonté de partager leurs compétences, le désir de parfaire leurs connaissances et le souhait d’expérimenter de nouvelles technologies veillent à répondre rapidement aux questions des clients.

LibrA-LinuX

LibrA-LinuX, spécialiste des formations Linux, vous propose des stages, afin de permettre à des utilisateurs de tous niveaux (débutants ou confirmés), d’aborder sereinement l’utilisation et l’administration de systèmes Linux (Debian, Ubuntu, RedHat, Fedora..). Ces formations techniquement enrichissantes, sont animées par des experts, qui mènent en parallèle depuis plusieurs années, la pratique du métier et l’animation de sessions de formation, et ce, dans le but d’accompagner vos équipes dans l’acquisition et le renforcement de leurs compétences sous Linux.

Liste des formations: http://www.libra-linux.com/index.php/Formation-Linux/

M-PLIFY

M-Plify est l’éditeur de la solution en ligne TeamTILT qui permet à partir d’un serveur Nagios, Centreon ou Zenoss d’envoyer des notifications de type  SMS, messages vocaux et notifications push (iPhone) vers vos administrateurs ou vos responsables informatiques. Il suffit juste d’installer le plugin sur votre serveur et de créer un compte sur le site.

A noter que vous pouvez tester gratuitement ce service avec 10 messages offerts à partir de cette adresse.

Catégories
Blog Open-source Planet-libre Web

Comment je blogue ?

L’âge ou la notoriété aidant, vous êtes de plus en plus nombreux à me demander quel est la méthodologie et les outils que j’utilise pour bloguer. Loin de moi l’idée d’écrire un billet arrêté sur la question sachant qu’il y a autant de manières de bloguer que de blogueurs. Je vais donc vous donner ma méthode, que j’utilise maintenant depuis 2 ans et qui se base sur l’utilisation conjointe de services en ligne et de logiciels libres.

Les commentaires en fin de billet sont bien sûr et comme toujours ouverts pour nous faire partager vos méthodes/outils personnels.

La recherche d’information

C’est la base. Sans information, pas de billet, sans billet, pas de blog. Mes sources sont, par ordre d’importance, mes flux RSS, mes besoins personnels ou professionnels sur des sujets précis et enfin les réseaux sociaux Twitter et Identi.ca.

Les flux RSS

C’est ma principale source d’informations. Depuis que j’utilise les flux RSS des sites/blogs qui m’intéressent, c’est l’information qui vient à moi et pas le contraire. Leurs utilisations est une vraie révolution, il y a, pour moi, un avant et un après l’Internet des flux RSS. Je suis souvent surpris par le peu de personne utilisant cet outil de veille technologique même dans le milieu des technos / geeks.

Après avoir essayé pas mal de logiciels libres pour consulter mes flux RSS, je suis revenu au service en ligne Google Reader. Le principal avantage de ce service est de pouvoir lire mon flux sur différentes machines (boulot, domicile, téléphone…). De plus en plus de logiciel, notamment sur smarthphone mais également sur desktop, s’interface directement avec Google Reader en gérant une synchronisation des articles lus. Je bénéficie d'une offre mobile intéressante, me permettant d'accéder directement à toutes ces applications.

Quand un article m’intéresse et que je pense qu’il peut servir de base à un futur billet, je créé un billet de type brouillon dans l’interface Web de mon blog WordPress avec une description succincte et le lien (URL) vers la source. En parallèle, je marque l’article avec une étoile pour pouvoir le retrouver facilement.

Si l’article est intéressant mais que je ne souhaite pas en faire un billet sur mon blog, je le partage directement sur les réseaux sociaux Twitter /Identi.ca et la page Facebook du blog en appuyant sur le bouton « Share ».

J’essaye de conserver une liste ne dépassant pas 100 flux RSS et j’écarte systématiquement les sites qui publie à une fréquence trop élevée (par exemple les sites généralistes).

Mes besoins

J’ai la chance d’avoir un travail qui est une source d’inspiration pour mon blog, je peux notamment citer la supervision système et réseau (Nagios, Shinken, Centreon…)  et les frameworks multimédias (GStreamer, VLC, Flumotion…). Ainsi, si j’utilise des solutions libres dans certains de mes projets professionnels, j’essaye de faire un billet de synthèse sur le sujet. C’est pour moi un juste retour des choses.

A titre plus personnel, le fait de bloguer et d’héberger mon site sur un serveur dédié est également une source pour mes billets sur l’hébergement. Ce sont souvent des billets de tailles importantes nécessitant plusieurs heures de travail et différentes sources d’informations.

Les réseaux sociaux

Contrairement au flux RSS que j’utilise depuis longtemps, les réseaux sociaux Twitter et Identi.ca ne sont une source d’inspiration pour mon blog que depuis 2 ans. J’utilise principalement mon compte Twitter ou je « follow » environ 100 personnes.

Comme pour mes flux RSS, quand je trouve une information potentiellement intéressante pour un article sur mon blog, je prends un note de type brouillon dans WordPress. Si je pense que l’information peut intéresser mes abonnées Twitter/Identi.ca, je « retweet ». Il est important de faire attention à ce que l’on « retweet » sur son compte. En effet, je préfère limiter mes tweets à des informations intéressantes et originales.

La méthodologie

Une fois « la matière première » trouvée, il faut rédiger et mettre en forme son billet. Je travaille directement dans l’éditeur de WordPress qui c’est bien amélioré dans les dernières versions en mode brouillon et en améliorant petit à petit l’article. Le fond est important, mais la forme aussi. Il faut donc veillez à rédiger un texte aéré, fluide et illustré.

Pour que le référencement des mes billets soit bon, je veille également à bien renseigner les « metas data » (catégorie, tags, titre…). J’utilise le plugin WordPress All In One SEO pour m’aider dans cette tache.

Une fois le texte finalisé puis relu une dernière fois à tête reposé, je programme (fonction « schedule » de WordPress) la publication de mon billet à une heure donnée (le matin, entre 7h30 et 8h00 pour qu’il arrive tout chaud au moment de votre café dans votre flux RSS). Les billet en ligne, je veille également à répondre aux questions « intéressantes » (pas celle nécessitant un simple « RTFM »…), dans la limite de mes disponibilités et en gardant à l’esprit que le plus formateur pour un lecteur est de trouver par lui même la réponse à son problème.

Les moyens matériels

Coté serveurs, j’utilise un serveur dédié virtuel (Gandi) sous Ubuntu 10.04 LTS pour héberger mon blog. En parallèle j’utilise également un autre serveur (hébergé également chez Gandi) sous Debian 5 pour mes tests et validation de procédure. Je dispose également de serveur sous FreeBSD et RedHat dans le cadre de mon boulot.

Pour les articles nécessitant une machine « desktop », j’utilise mon PC personnel (laptop sous Ubuntu 11.04) ou mon PC boulot/test (sous Fedora 14 et bientôt Fedora 15). Je dispose également d’un appareil photo reflex pour illustrer avec une « belle » photo certains de mes billets.

Comme on a pu le voir, le CMS WordPress est à la base de mes outils pour bloguer. Quand je ne suis pas connecté à Internet, j’utilise un simple éditeur de texte (par exemple l’excellent TextAdept *) en éditant sauvegardant le/les fichiers dans une sous répertoire de ma Dropbox. Si j’ai besoin de faire des copies d’écrans ou des petites retouches photographiques, j’utilise le logiciel « bien connu » logiciel libre Shutter.

Mes outils pour la recherche d’informations sont les navigateurs web Chromium ou Firefox avec les extensions Google Reader et AddThis pour le partage rapide d’information vers les réseaux sociaux. Pour consulter et contribuer à ces derniers, j’utilise le logiciel de micro-blogging Hotot.

Gérer son temps

Quand on commence à bloguer, le temps passé à cette activité et aux taches que l’on vient de décrire est une des choses les plus difficile à gérer. Au début, on a plutôt tendance à faire le yoyo avec des journées ou l’on passe plusieurs heures sur son blog et d’autres ou l’on ne fait rien du tout. Cela à tendance à se lisser après quelques mois.

Personnellement, sur une journée type, je consacre moins d’une heure à mon blog (1/4 d’heure sur les flux RSS, 1/4 d’heure sur les réseaux sociaux et 1/2 heure à la rédaction des billets). Ces chiffres sont bien sûr une moyenne 🙂

Et vous amis blogueurs: « Comment bloguez-vous ? ».

Catégories
Gstreamer Musique Open-source Planet-libre Video

Présentation « powerpoint » du framework GStreamer

Comme vous avez pu le remarquer, depuis quelques mois la fréquence des billets sur le blog est en chute libre. La « faute » à mon boulot (celui qui paye les factures) pour lequel je suis pas ma en déplacement. J’ai pu juger comme il était difficile de bloguer loin de ses terres. J’ai donc vite renoncer à écrire des articles depuis les chambres d’hôtels et j’ai préféré visiter les belles villes de Rennes et de Paris.

Cependant ces fameuses mission m’ont permis de poser sur quelques planches « powerpoint » (c’est votre chef qui va être heureux) une introduction au framework GStreamer que j’aborde souvent dans mon blog (voir la page dédiée ici).  Cette présentation est bien évidemment distribuée sous licence CC BY v3.  L’idéal si vous avez à l’utiliser est de la faire tourner sur PC sous GNU/Linux avec l’ensemble des plugins GStreamer installés. puis à chaque planche ou il y a un exemple de faire un copier/coller de ce dernier dans un terminal (effet démo garanti).

Pour d’évidentes raisons de compatibilité, je diffuse la présentation au format PDF (il suffit de cliquer sur l’image ci-dessous pour lancer le téléchargement). Pour les personnes voulant modifier cette présentation, vous pouvez également la télécharger au format ODP.

Je vous rappelle, que l’ensemble des billets sur GStreamer est regroupé sur cette page. Si vous voulez être tenu au courant des nouveaux articles sur le sujet, je vous conseille de vous abonner au flux RSS du blog, à mon compte Twitter ou à partir de Facebook.

Enfin pour finir, si vous utilisez cette présentation merci de laisser un petit commentaire sur cette page…

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

Shinken découvre votre réseau pour vous

Si vous avez mis en place un serveur de supervision sur votre réseau, vous devez savoir que cette phase est souvent longue, fastidieuse et source d’erreur de configuration. Heureusement, la dernière version (0.6) de Shinken (le fork compatible Nagios développé de main de maitre par Jean Gabes) intègre un mesure de découverte de votre réseau.

Nous allons dans ce billet détailler les étapes pour utiliser ce module. Nous partons sur l’hypothèse ou vous avez un serveur Shinken/Thruk opérationnel. Si ce n’est pas le cas, j’ai développé un petit script shell permettant de faire cette installation pour vous.

C’est quoi donc ce module ?

Shinken-discovery est un programme qui va scanner les machines de votre réseau puis en déduire les services à superviser pour ensuite générer les fichiers de configurations pour Shinken.

Installation

Le scan de votre réseau se base sur le bien connu programme nmap qui doit donc être présent sur votre système.

Sur Debian / Ubuntu:

sudo aptitude install nmap

Sur Fedora:

yum install nmap

Le reste des programmes est inclue dans la version 0.6 (et supérieure) de Shinken.

Configuration

Si vous avez bien suivi, il faut maintenant dire à Shinken quel est le ou les réseaux à scanner. Cette configuration permet non seulement de découvrir des machines sur votre réseau local mais également (sous réserve de règles de filtrages compatible dans vos firewalls/routeurs) sur des réseaux distants.

La liste des réseaux à scanner est à configurer dans le fichier /etc/shinken/resource.cfg dans la variable $NMAPTARGETS$ (en fin de fichier):

# sudo vi /etc/shinken/resource.cfg

$NMAPTARGETS$=192.168.0.0/24 blog.nicolargo.com

Dans l’exemple ci-dessus je vais donc scanner:

  • 192.168.0.0/24: les 254 adresses de mon réseau local
  • blog.nicolargo.com: un serveur sur Internet que je surveille de près

Lancement de la découverte

Il suffit de saisir la commande suivante:

sudo shinken-discovery -o /etc/shinken/objects/discovery -r nmap

Selon la taille de votre réseau, cette opération peut prendre plus ou moins de temps (« I’m launching nmap »).

Comme on peut s’en douter, la configuration sera générée dans le répertoire /etc/shinken/objects/discovery. Le principal avantage est que l’on ne pert pas la configuration existante.

Note

Pour partir sur une nouvelle configuration basée uniquement sur le module de découverte (c’est à dire juste après une installation propre de Shinken), vous pouvez suivre la procédure suivante (au cas ou la configuration initiale est archivé dans /tmp/shinken-backup.tgz):

tar zcvf /tmp/shinken-backup.tgz /etc/shinken

sudo rm -f /etc/shinken/objects/hosts/*

sudo rm -f /etc/shinken/objects/services/*

sudo rm -f /etc/shinken/hostgroups.cfg

sudo touch /etc/shinken/hostgroups.cfg

sudo rm -f /etc/shinken/servicegroups.cfg

sudo touch /etc/shinken/servicegroups.cfg

/Note

On doit ensuite fixer les droits des fichiers générés:

sudo chown -R shinken:shinken /etc/shinken/objects/discovery

Prise en compte de la nouvelle configuration

Il suffit ensuite de redémarrer Shinken pour voir votre réseau:

sudo /etc/init.d/shinken restart

Si vous aviez déjà une configuration existante, il y a de forte chance pour que Shinken vous affiche un message d’erreur lors de la vérification de vos fichiers. Le résultat de la commande de check se trouve dans le fichier /tmp/shinken_checkconfig_result.

Par exemple, le module de découverte peut générer une entrée pour un host existant. Il faut alors éditer et ou supprimer le host en question pour que la configuration soit valide.

Conclusion

Ce billet n’est qu’une courte introduction à ce module qui peut être paramétré de manière beaucoup plus fine lors de la transformation du scan vers une configuration Shinken. J’aurai l’occasion de revenir prochainement sur ce vaste sujet.

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

Mise à jour 0.4 du script d’installation de Shinken/Thruk

Aussi bien pour Shinken que pour les Thruk, les mises à jour s’enchaînent avec une fréquence importante ces derniers temps. Cela démontre un grand dynamisme sur ce projet !

J’ai donc adapté le script d’installation automatique du couple Shinken/Thruk en ajoutant pas mal de contrôle sur le bon déroulement des téléchargement ainsi qu’une adaptation pour aller chercher Thruk dans les archives si la version du script n’est plus téléchargeable dans le répertoire officiel.

La version 0.4 du script va installer:

  • Shinken 0.6
  • Thruk 1.0.2

La procédure pour installer ou mettre à jour votre serveur de supervision Shinken est toujours la même:

cd ~

rm -f shinkenautoinstall-debian.sh

wget http://svn.nicolargo.com/shinkenautoinstall/trunk/shinkenautoinstall-debian.sh

chmod a+x shinkenautoinstall-debian.sh

sudo ./shinkenautoinstall-debian.sh

Si tout se passe comme prévu, le script devrait afficher:

—————————————————-

Installation is finished

—————————————————-

Backup configuration file : /tmp/shinken-backup-20110513073545.tgz

Configuration file folder : /etc/shinken

Log file : /var/lib/shinken/nagios.log

Shinken startup script : /etc/init.d/shinken

Thruk startup script : /etc/init.d/thruk

Thruk web interface URL : http://sam:3000

Dans certain cas, notamment lors d’une mise à jour, il faut ensuite relancer Shinken:

sudo /etc/init.d/shinken restart

Pour remonter les éventuels bugs / nouvelles fonctions, merci d’utiliser le site officiel du script qui se trouve sur GitHub à l’adresse suivante: https://github.com/nicolargo/shinkenautoinstall.

Catégories
Developpement Open-source Web

Localisation de logiciels : astuces culturelles

Cet article a été rédigé par Dan Aldulescu, chargé marketing l’agence de traduction Lingo24. Crée en 2001, Lingo24 compte aujourd’hui plus de 160 employés sur quatre continents et des clients dans plus soixante pays.

En tant que programmeur, lorsque vous développez une application destinée aux utilisateurs français et constatez qu’elle est appréciée, vous pouvez supposer que les utilisateurs d’autres pays, d’Allemagne ou de Suède par exemple, peuvent aussi la trouver intéressante et conforme à leurs besoins. Alors pourquoi ne leur donner l’opportunité d’en bénéficier ? La première étape à franchir en vue de localiser votre application pour le public étranger est la traduction du texte, mais parfois, la simple traduction ne suffit pas.

Pourquoi localiser les logiciels ?

Le marché des logiciels et des applications Web a été pendant longtemps un terrain miné pour les PME du domaine informatique qui étaient contraintes à agir uniquement sur leurs marchés locaux. Aujourd’hui, la globalisation et le besoin, en plein essor, des services informatiques donnent une très bonne opportunité aux PME du domaine de s’ouvrir à un nouveau public. Mais pour une meilleure adaptation des applications au public cible étranger, elles doivent être soumises au processus délocalisation.

La localisation des logiciels peut devenir une démarche assez onéreuse et, avant de vous lancer,vous devez connaitre en détail le marché cible pour avoir les données nécessaires à une évaluation de vos chances d’obtenir un retour sur investissement optimal. Aussi, pour rendre tout ce processus de localisation plus facile et rapide, il est recommandé d’envisager, dès les premières étapes du développement du logiciel, des versions pour d’autres langues et de les inclure dans les codes de programmation.

Traduction et contrôle du contenu

Le traducteur doit être très familier avec la terminologie spécifique du domaine informatique de la langue cible. Par exemple, si on traduit un logiciel de l’anglais vers le français et que l’on a le mot « thumbnail », dont la traduction littérale française n’a rien à voir avec les logiciels, il faut trouver le mot dont le sens en est un aperçu en français pour bien localiser le texte de l’application à l’intention des prospects français.
Dans la localisation des logiciels, l’espace destiné au texte constitue un problème récurent. Prenons de nouveau l’exemple de la traduction de l’anglais vers le français. Si on a, en anglais, un bouton intitulé « try again », on observe que le texte se compose de neuf caractères, espace inclus. En français,on peut avoir « essayez de nouveau », qui compte 18 caractères, espaces inclus. Si, à cette échelle, le problème n’est pas très difficile à résoudre, en cas de fragments plus longs, l’espace devient un véritable problème. Il faudra donc trouver une alternative à la traduction d'origine.

Pour surmonter ce dernier, vous pouvez soit vous montrer généreux en ce qui concerne l’espace pour chaque fragment de texte, si on ne connait pas encore les langues cibles de la localisation, soit demander au traducteur d’adapter le texte dans la langue cible de telle manière qu’il ne dépasse pas une certaine limite de caractères, même si cela implique de s’éloigner légèrement de la source mais en en gardant le sens.
Un autre élément très important, qui peut être source de confusions pour l’utilisateur final du logiciel, est le format de la date et l’heure ainsi que des unités de mesure spécifiques pour chaque région géographique.

Dans le cas de la localisation, il faut aussi adapter les éléments visuels à la culture cible. Les symboles, les photos et les couleurs utilisés peuvent avoir des connotations négatives pour les utilisateurs étrangers. La perception de ces éléments visuels est influencée par les spécificités culturelles. Il faut accorder une attention particulière au projet en cas de localisation pour le marché asiatique, où les gens vivent avec des normes sociales traditionalistes et respectent strictement leurs valeurs culturelles et nationales. Pour réussir à gagner leur confiance, il faut leur offrir un produit qui s’adapte à leurs valeurset besoins. Si vous utilisez les couleurs pour véhiculer du sens, vérifiez que cela sera bien compris dans le monde entier. Le rouge peut symboliser la guerre, mais il peut aussi signifier l’amour et la passion.

Localisation des logiciels libres : CMS WordPress

La nécessité mondiale d’un contenu très dynamique sur un site Web a déterminé le besoin d’outils de gestion de contenu simples à utiliser, évitant de devoir parcourir des manuels de 500 pages, et à adapter à un public mondial en tenant compte de ses spécificités linguistiques et culturelles. L’un desplus célèbres outils de CMS (système de gestion de contenu) est celui de WordPress mis en place pour l’anglais américain, mais son utilisation mondiale a nécessité sa localisation.

Le processus de localisation de WordPress se déroule en deux étapes. La première appartient aux programmeurs, qui bâtissent les mécanismes simplifiant la traduction et la localisation ultérieure dans différentes langues. La deuxième étape est la localisation proprement dite, processus se focalisant sur le contenu texte et les différents paramètres et options pour que l’interface soit adaptée à un groupe culturel spécifique basé dans une aire géographique définie.

Pour obtenir les meilleurs résultats d’un processus de localisation, WordPress se concentre sur l’adaptation aux dialectes locaux. Parce qu’il y a des différences entre le portugais du Portugal et le portugais parlé au Brésil, les traducteurs choisis doivent être natifs du pays cible. La participationest ouverte à tous, il vous suffit de vous présenter sur WP Polyglots Blog et d’énoncer la (ou les)langue(s) vers laquelle (ou lesquelles) vous souhaitez traduire. Généralement, une assistance techniqueest proposée par les équipes techniques de WordPress, mais il est préférable que les traducteursconnaissent les notions de base du PHP, car il faut parfois savoir lire le code de programmation pourarriver à une meilleure retransmission de sens entre l’anglais et la langue cible.