PROJET AUTOBLOG


Le blog de NicoLargo

Site original : Le blog de NicoLargo

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

A la découverte de Check my Website

mercredi 10 juin 2015 à 12:23

Depuis février 2014, Olivier Jan et son équipe ont lancé un service en ligne permettant de surveiller ses sites Web et d'être alerté uniquement en cas de problème. Cette supervision minimaliste répond à un besoin croissant dans les infrastructures informatique actuelles: contrôler le ressenti utilisateur plutôt que les indicateurs techniques. En plus, la solution technique qui se cache derrière le site Check my Website se base sur des solutions open-source largement partagés sur le blog officiel qui est une source d'information que je vous conseille de suivre.

Pour quels besoins ?

Check my Website a pour objectif de surveiller, à travers le temps, la disponibilité, le temps de réponse et la conformité aux standards de performances du Web de vos sites Internet. En cas de problème, on peut être alerté par mail ou SMS. Une console, que nous présenterons plus loin dans cet article, permet de visualiser, sous la forme de courbes et de tableau, l'ensemble des indicateurs.

Il ne nécessite aucune installation sur votre site Web, que cela soit sur le serveur ou même dans les pages de votre site. Il construit ses statistiques en utilisant des requêtes HTTP. Ce n'est donc pas une solution de supervision classique. On ne pourra pas, par exemple, connaître le taux d'occupation mémoire ou la charge CPU du serveur hébergeant votre site.

Le tour du propriétaire

La mise en route de la supervision de votre site ne prend pas plus de 5 minutes. Il suffit de s'inscrire sur le site et de déclarer l'adresse du site à surveiller. Une période d'essai gratuite de 15 jours est proposée. Il faudra ensuite choisir votre forfait en fonction du nombre de site à surveiller et des fonctions proposées. Par exemple, pour un site, le ticket d'entrée est de 16€ par an (tarif au 10 juin 2015).

A noter que Check my Website propose un service 'Free for FOSS" entièrement gratuit pour les sites de projets Open Source et/ou associatifs (voir les condition sur le site) !

Sélection_366

Une fois les sites déclarés, les statistiques arrivent sur la console. On commence par la vue générale offrant une vue d'ensemble de vos sites:

Sélection_361

Pour chaque site, on a un tableau de bord qui résumant les indicateurs critiques:

Sélection_362

On peut ensuite faire un focus sur un site en particulier pour consulter les statistiques (menu metrics):

Sélection_363

Il est bien sûr possible de zoomer sur les courbes et de revenir sur des périodes passées:

Sélection_368

Sélection_367

Dans l'onglet performance, on retrouve des informations et conseils pouvant vous permettre d'améliorer l'expérience utilisateur des visiteurs de votre site.

 

Sélection_365

Enfin, en cas de problème, il est possible d'entrée dans le détail du temps de chargement de votre site:

Sélection_364

Mon impression

J'ai eu la chance de tester gratuitement le service pendant plusieurs semaines sur 3 de mes sites personnels (notamment le blog que vous êtes en train de lire). Check my Website "fait le job". L'interface utilisateur est simple et intuitive. Il se fait oublier, alerte en cas de problème et il alors facile d'identifier la période d'indisponibilité ou de baisse de performance. Il peut aussi être très utile dans les phases de migration (lors d'un changement d'hébergeur ou d'un thème) pour juger du maintient des performances.

Il manque cependant à mon goût des statistiques internes (CPU, RAM, occupation disque, état des services de la stack web...) mais qui ne peuvent pas être mis en place sans l'installation d'un composant ou d'une configuration côté serveur.

Pour conclure, c'est un service que je conseille à toutes les personnes possédant un site Web sensible et qui ne veulent pas s'embêter avec la mise en place d'une solution de supervision type Nagios ou Shinken.Il serait d'ailleurs sympa que le service soit proposé en option par les hébergeurs (cc: Online.fr, OVH, Web4All...).

Cet article A la découverte de Check my Website est apparu en premier sur Le blog de NicoLargo.

Résolution du problème de DNS avec OpenVPN sous Ubuntu

vendredi 27 février 2015 à 23:41

Un petit billet à usage personnel (mais pas que) concernant un problème pour le moins gênant dans le cas ou vous essayez de monter une liaison VPN (OpenVPN) à partir d'Ubuntu 14.04.

Le symptôme

Vous avez un beau fichier .ovpn fourni par votre fournisseur de service VPN ou par votre OpenVPN server auto-hébergé. Quand vous montez le VPN avec la commande suivante:

$ sudo openvpn --config Paris.ovpn
Fri Feb 27 21:17:12 2015 OpenVPN 2.3.6 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jan 22 2015
Fri Feb 27 21:17:12 2015 library versions: OpenSSL 1.0.1f 6 Jan 2014, LZO 2.06
Enter Auth Username:xxx
Enter Auth Password:xxx
Fri Feb 27 21:17:21 2015 UDPv4 link local: [undef]
Fri Feb 27 21:17:21 2015 UDPv4 link remote: [AF_INET]5.196.80.160:443
Fri Feb 27 21:17:21 2015 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Fri Feb 27 21:17:25 2015 VERIFY OK: depth=1, C=GB, ST=LN, L=London, O=vpnsvc, OU=vpnsvc, CN=vpnsvc.com, name=vpnsvc, emailAddress=noc@vpnsvc.com
Fri Feb 27 21:17:25 2015 VERIFY OK: nsCertType=SERVER
Fri Feb 27 21:17:25 2015 VERIFY OK: depth=0, C=GB, ST=LN, L=London, O=vpnsvc, OU=vpnsvc, CN=vpnsvc, name=vpnsvc, emailAddress=noc@vpnsvc.com
Fri Feb 27 21:17:31 2015 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Feb 27 21:17:31 2015 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Feb 27 21:17:31 2015 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Feb 27 21:17:31 2015 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Feb 27 21:17:31 2015 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Fri Feb 27 21:17:31 2015 [vpnsvc] Peer Connection Initiated with [AF_INET]5.196.80.160:443
Fri Feb 27 21:17:33 2015 TUN/TAP device tun0 opened
Fri Feb 27 21:17:33 2015 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Fri Feb 27 21:17:33 2015 /sbin/ip link set dev tun0 up mtu 1500
Fri Feb 27 21:17:33 2015 /sbin/ip addr add dev tun0 10.10.10.139/27 broadcast 10.10.10.159
Fri Feb 27 21:17:33 2015 Initialization Sequence Completed

Tout semble se passer pour le mieux:

$ ping 74.125.71.94
PING 74.125.71.94 (74.125.71.94) 56(84) bytes of data.
64 bytes from 74.125.71.94: icmp_seq=1 ttl=46 time=76.9 ms
64 bytes from 74.125.71.94: icmp_seq=2 ttl=46 time=125 ms
...

sauf qu'il n'y a pas de résolution DNS !

$ ping www.google.fr
<vide inter stellaire>

La cause

C'est la faute à Ubuntu qui ne prend pas en compte les @ des serveurs DNS envoyés par le serveur VPN. Le bug est connu est référencé depuis octobre 2013 mais manifestement il n'est pas jugé important par les développeur de Canonical.

La solution

Rien de bien compliqué. Il suffit d'ajouter les 3 lignes suivant à la fin de votre fichier .ovpn (mais avant votre certificat s'il est inclus dans le fichier):

...
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
...

On se retrouve ensuite avec un VPN pleinement fonctionnel...

Cet article Résolution du problème de DNS avec OpenVPN sous Ubuntu est apparu en premier sur Le blog de NicoLargo.

Les nouveautés de Glances 2.3

lundi 2 février 2015 à 08:00

Glances vient de sortir en version 2.3. Cette version propose un grand nombre de nouveautés que nous allons détailler dans cet article. Pour installer ou mettre à jour Glances dans cette dernière version, je vous conseille la lecture de la documentation officielle.

Attachez vos ceintures, c'est parti pour le tour d'horizon...

Le plugin Docker

Ce plugin est développé autour de la librairie Docker-Py et de fonctions maison pour permettre à l'utilisateur de superviser les conteneurs lancés sur la machine à superviser. Le fonctionnement est relativement simple. Glances va identifier, grâce à la librairie Docker-Py, la liste des conteneurs comme le ferait la commande 'docker ps'. Pour chacun des conteneurs, il va ensuite aller chercher dans les répertoires /sys/fs/cgroup/cpuacct/docker et /sys/fs/cgroup/memory/docker les informations concernant leurs occupations CPU et mémoire.

Le plgin ne s'affiche que si la librairie Docker-Py est installé et si au moins un conteneur est lancé. Le résultat final est le suivant dans un interface console:

Sélection_294

Le plugin Docker est également dans l'interface Web de Glances.

Le plugin RAID

La supervision de l'état des contrôleurs RAID des machines est un point critique. Ainsi, cette nouvelle version de Glances inclus un nouveau plugin permettant de remplir cette tâche. Ce plugin ce base sur la librairie PyMdstat que j'ai créé pour l'occasion et qui est utilisable dans d'autres applications.

Le plugin ne s'affiche que si la librairie PyMdstat est installé et qu'un contrôleur RAID est détecté. Par exemple, sur un serveur avec un contrôleur RAID 5 avec 5 disques en bon état, Glances va afficher:

Par contre, dans le cas d'un contrôleur RAID 5 avec 6 disques et l'un de ces disques dans un état pas terrible:

Enfin, avec un contrôleur RAID 5 désactivé:

 

Le plugin RAID étant un extension du plugin FileSystem, il s'affichera, si nécessaire à gauche dans l'interface console/terminal ou Web de Glances.

Modules d'exports vers Statsd, InfluxDB et CSV

Une refonte complète du module d'exportation des données vers des briques externes a été codé dans cette nouvelle version. Ainsi, il est possible nativement, d'exporter les statistiques remontées par Glances dans un fichier à plat au format CSV et/ou dans des bases de données de type temps/valeurs comme Statsd ou InfluxDB.

Commençons par l'export CSV que l'on peut choisir en mode standalone, pour récupérer les statistiques de notre machine locale ou en mode client pour une machine distante. On doit utiliser l'option suivante:

glances --export-csv /tmp/glances.csv

On se retrouve avec un fichier /tmp/glances.csv qui va contenir toutes les stats disponibles (hormis les processus) parfaitement exploitable dans une bête feuille Excel ou via un script Python avec la fameuse librairie Panda:

load_cpucore,load_min1,load_min5,load_min15,memswap_used,memswap_percent,memswap_free,memswap_sout,memswap_total,memswap_sin,diskio_sda2_key,diskio_sda2_time_since_update,diskio_sda2_read_bytes,diskio_sda2_write_bytes,diskio_sda2_disk_name,diskio_sda3_key,diskio_sda3_time_since_update,diskio_sda3_read_bytes,diskio_sda3_write_bytes,diskio_sda3_disk_name,diskio_sda1_key,diskio_sda1_time_since_update,diskio_sda1_read_bytes,diskio_sda1_write_bytes,diskio_sda1_disk_name,fs_/_mnt_point,fs_/_used,fs_/_percent,fs_/_free,fs_/_device_name,fs_/_fs_type,fs_/_key,fs_/_size,fs_/boot/efi_mnt_point,fs_/boot/efi_used,fs_/boot/efi_percent,fs_/boot/efi_free,fs_/boot/efi_device_name,fs_/boot/efi_fs_type,fs_/boot/efi_key,fs_/boot/efi_size,mem_available,mem_used,mem_cached,mem_percent,mem_free,mem_inactive,mem_active,mem_total,mem_buffers,network_lo_tx,network_lo_cumulative_rx,network_lo_rx,network_lo_cumulative_cx,network_lo_time_since_update,network_lo_cx,network_lo_cumulative_tx,network_lo_key,network_lo_interface_name,network_docker0_tx,network_docker0_cumulative_rx,network_docker0_rx,network_docker0_cumulative_cx,network_docker0_time_since_update,network_docker0_cx,network_docker0_cumulative_tx,network_docker0_key,network_docker0_interface_name,network_wlan0_tx,network_wlan0_cumulative_rx,network_wlan0_rx,network_wlan0_cumulative_cx,network_wlan0_time_since_update,network_wlan0_cx,network_wlan0_cumulative_tx,network_wlan0_key,network_wlan0_interface_name,processcount_running,processcount_total,processcount_thread,processcount_sleeping,cpu_softirq,cpu_iowait,cpu_system,cpu_guest,cpu_idle,cpu_user,cpu_guest_nice,cpu_irq,cpu_total,cpu_steal,cpu_nice
4,0.18,0.2,0.23,0,0.0,8490315776,0,8490315776,0,disk_name,1,933888,413696,sda2,disk_name,1,0,0,sda3,disk_name,1,0,0,sda1,/,145566900224,59.9,97453883392,/dev/sda2,ext4,mnt_point,243020783616,/boot/efi,3510272,0.7,532295680,/dev/sda1,vfat,mnt_point,535805952,6620909568,1652637696,1202855936,20.0,6620909568,1018507264,1797070848,8273547264,204804096,200,356764,200,713528,1,400,356764,interface_name,lo,0,0,0,0,1,0,0,interface_name,docker0,0,21354827,0,26332988,1,0,4978161,interface_name,wlan0,1,200,477,199,0.0,2.2,13.3,0.0,33.3,51.1,0.0,0.0,66.7,0.0,0.0
4,0.17,0.2,0.23,disk_name,3.128045082092285,36864,1003520,sda2,disk_name,3.128045082092285,0,0,sda3,disk_name,3.128045082092285,0,0,sda1,/,145566859264,59.9,97453924352,/dev/sda2,ext4,mnt_point,243020783616,/boot/efi,3510272,0.7,532295680,/dev/sda1,vfat,mnt_point,535805952,6627594240,1645953024,1202880512,19.9,6627594240,1018691584,1789747200,8273547264,204951552,1260,358024,1260,716048,3.131376028060913,2520,358024,interface_name,lo,0,0,0,0,3.131376028060913,0,0,interface_name,docker0,10241,21367420,12593,26355822,3.131376028060913,22834,4988402,interface_name,wlan0,1,200,477,199,0.1,0.5,0.5,0.0,95.3,3.6,0.0,0.0,4.7,0.0,0.0
4,0.17,0.2,0.23,0,0.0,8490315776,0,8490315776,0,disk_name,3.1066739559173584,4096,1376256,sda2,disk_name,3.1066739559173584,0,0,sda3,disk_name,3.1066739559173584,0,0,sda1,/,145566867456,59.9,97453916160,/dev/sda2,ext4,mnt_point,243020783616,/boot/efi,3510272,0.7,532295680,/dev/sda1,vfat,mnt_point,535805952,6626533376,1647013888,1202917376,19.9,6626533376,1018888192,1790480384,8273547264,205172736,509,358533,509,717066,3.1057980060577393,1018,358533,interface_name,lo,0,0,0,0,3.1057980060577393,0,0,interface_name,docker0,4009,21383069,15649,26375480,3.1057980060577393,19658,4992411,interface_name,wlan0,1,199,476,198,0.0,0.6,0.6,0.0,93.9,4.9,0.0,0.0,6.1,0.0,0.0

Plus fun et moderne, l'export vers des bases de données NoSQL de type temps/valeurs. Pour l'instant, Glances supporte les implémentations Statsd et InfluxDB. Par exemple, pour exporter les statistiques vers un serveur InfluxDB, il faut dans un premier temps éditer le fichier de configuration de Glances.

Note: pour connaître l'emplacement du fichier de configuration de Glances utilisé, il suffit de consulter le fichier de log (par défaut /tmp/glances.log). Il est aussi possible de forcer l'utilisation d'un fichier de configuration spécifique avec l'option -C.

Par exemple, pour utiliser un serveur InfluxDB qui tourne sur la machine locale (localhost), sur le port TCP par défaut (8086) avec l'utilisateur/password (root/root) et la base de donnée nommée glances, il suffit d'ajouter la section suivante:

[influxdb]
host=localhost
port=8086
user=root
password=root
db=glances

On lance ensuite Glances avec l'option:

glances --export-influxdb

Et magie de la technologie moderne:

Déclenchement d'actions sur alerte

Réclamée depuis un certain temps par les utilisateurs, cette nouvelle fonction permet de déclencher des alertes pour n'importe quelle alarme levée par Glances. Par exemple, si vous voulez être prévenu par mail quand l'espace disque disponible devient critique, il suffit d'éditer le fichier de configuration de la manière suivante:

[fs]
careful=20
warning=70
critical=90
critical_action=mail -s "Disk almost full..." user@domain.com

Encore mieux, Glances supporte les mustaches {{...}} et permet donc d'utiliser les variables disponibles dans les API pour personnaliser les actions. Ainsi, pour préciser le nom du disque et le pourcentage utilisé, il suffit de changer la configuration de la manière suivante:

[fs]
careful=20
warning=70
critical=90
critical_action=mail -s "Disk {{mnt_point}} almost full: {{percent}}%" user@domain.com

Note: cette fonction se base sur la librairie Pystache.

Support des mots de passe dans le mode browser

La grande nouveauté de la version précédente de Glances (la 2.2) était l'apparition du mode browser permettant à partir d'un client unique de superviser plusieurs serveurs. Il est maintenant possible d'accéder à des serveurs protégés par des mots de passes.

Sélection_295

Note: il faut obligatoirement que le client (celui qui lance --browser) et les serveurs (-s) soient à minima dans la version 2.3 pour que cette fonction marche correctement.

Amélioration de l'interface Web

Enfin pour finir en beauté ce panorama des nouveautés de cette version 2.3 je voulais signaler le remarquable travail effectué par Nicolas Hart sur la refonte de l'interface Web avec notamment un optimisation de l'affichage ("responsive design"):

glances-responsive-webdesign

Nicolas travaille en ce moment avec Sylvain Mouquet sur la refonte complète de l'interface Web pour passer sur des technologies dynamiques (utilisation d'AngularJS coté client). Cela devrait normalement arriver dans la prochaine version (Glances 2.4).

J'espère que cette version de Glances répondra à vos besoins. N'hésitez pas à laisser un petit message pour partager avec nous comment vous utilisez Glances au quotidien et également proposer des améliorations.

Cet article Les nouveautés de Glances 2.3 est apparu en premier sur Le blog de NicoLargo.

Installation de Krita sous Ubuntu (non KDE)

dimanche 18 janvier 2015 à 01:04

Une petit billet "quick and dirty" entre deux lignes de code sur la prochaine version de Glances qui s'annonce dantesque, pour installer Krita, une alternative pas si improbable à Photoshop, sur votre machine Ubuntu Gnome ou Unity.

La preuve ? L'université de Paris 8 vient juste de migrer de Photoshop vers Krita pour sa section Art et technologie de l'image

J'ai un peu galérer avant d'avoir un logiciel complètement utilisable sur une machine non nativement KDE (comme mon Ubuntu Gnome Edition). Donc voici les commandes à saisir:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get update
sudo apt-get install krita kritasketch oxygen-icon-theme
kbuildsycoca4

Et hop, le résultat est là:

krita01.psd – Krita_273

Cet article Installation de Krita sous Ubuntu (non KDE) est apparu en premier sur Le blog de NicoLargo.

Glances 2.2 a besoin de vous

mardi 9 décembre 2014 à 22:01

L'activité sur ce blog étant inversement proportionnelle à mon activité sur le logiciel Glances, vous pouvez, je l’espère, comprendre le peux d'activité sur ce site. Le développement de la future version 2.2 de Glances me prends les quelques temps libres qui me reste. Je fais donc appel à vous, chers lecteurs, pour m'aider à valider et trouver les derniers bugs dans cette version en cours de développement.

Quoi de neuf ?

La version 2.2 apportera, en plus de son lots de corrections de bugs les fonctionnalités suivantes:

C'est surtout sur la fonction "browser" que j'ai besoin de vous. En effet, je l'ai testé dans un environnement limité et je suis à la recherche d'administrateur système avec un bon petit parc de machines pour effectuer une validation plus complète.

Focus sur le mode browser

Ce nouveau mode permet donc de lancer Glances en tant que "super" client qui va afficher dans une première fenêtre la liste des serveurs Glances détectés sur son réseau ou configuré dans le fichier de configuration.

Sélection_251

Le mode de détection automatique repose sur le protocole Zeroconf qui fonctionne en client/serveur multicast. Il est nécessaire que les clients et les serveurs soit dans la version 2.2 de Glances (voir la procédure d'installation dans le chapitre suivant).

Remarque sur le protocole Zeroconf: Qui dit multicast, dit une détection uniquement sur le réseau local. En clair, votre "super" client Glances ne verra que les serveurs sur le même réseau Ethernet (à moins que vos routeurs ne soient compatibles avec le routage multicast).

En plus de ce mode dynamique (qui est bien sur désactivable à la fois coté client mais aussi coté serveur), il est possible de configurer une liste de serveurs dans le fichier de configuration de Glances (voir exemple ici).

Une fois la liste des serveurs affiché, il suffit de cliquer sur la touche 'ENTER' pour visualiser les statistiques de la machine (en clair, lancer le client Glances classique sur le serveur sélectionné).

Ce nouveau mode, très demandé par les utilisateur est en phase de développement et est susceptible d'évoluer dans les prochaines versions. Je suis d'ailleurs à l'écoute de vos remarques sur cette fonction.

Comment tester la version 2.2 de Glances ?

Je vous propose de simplement lire le Wiki officiel (en cliquant ici) qui va vous guider pour installer cette version de développement (bêta) sur vos machines sans "casser" le Glances existant.

D'avance merci !

PS: faite tourner le billet 🙂

Cet article Glances 2.2 a besoin de vous est apparu en premier sur Le blog de NicoLargo.