source: Nicolargo
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.
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.
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) !
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:
Pour chaque site, on a un tableau de bord qui résumant les indicateurs critiques:
On peut ensuite faire un focus sur un site en particulier pour consulter les statistiques (menu metrics):
Il est bien sûr possible de zoomer sur les courbes et de revenir sur des périodes passées:
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.
Enfin, en cas de problème, il est possible d'entrée dans le détail du temps de chargement de votre site:
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.
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.
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>
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.
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.
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...
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:
Le plugin Docker est également dans l'interface Web de Glances.
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.
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:
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.
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.
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.
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"):
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.
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à:
Cet article Installation de Krita sous Ubuntu (non KDE) est apparu en premier sur Le blog de NicoLargo.
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.
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.
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.
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.
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.