Archives par mot-clé : vidéo

Ne plus perdre ses connexions en utilisant screen

Bonjour et bienvenue sur le blog http://blog.cedrictemple.net. Aujourd’hui nous allons parler d’administration système Linux et d’un outil très pratique : screen. Cet outil va vous permettre:

  • de retrouver facilement vos sessions SSH
  • d’ouvrir et gérer plusieurs terminaux dans une seule session SSH
  • de gérer ses terminaux dans votre session

 

Screen est un gestionnaire de terminaux. Faisons un parallèle afin que vous compreniez l’intérêt de screen. Imaginez que vous soyez sur un ordinateur. Sur cet ordinateur, vous ne pouvez lancer qu’un seul programme, une seule fenêtre à la fois. Par exemple, vous ne pouvez lancer que LibreOffice pour rédiger un document. Si vous souhaitez lancer Firefox pour faire une recherche sur la document d’un produit et ajouter des éléments dans votre document, vous devez fermer LibreOffice… ou alors vous connectez sur un second ordinateur, séparé, avec un autre clavier, une autre souris, un autre écran. Dès lors, votre vie serait plus complexe. D’ailleurs, on n’imagine pas travailler comme cela aujourd’hui. Le travail de gérer plusieurs fenêtres est réalisé par un « Window Manager ». Pour faire un parallèle, screen est le « window manager » de vos terminaux. Vous installez screen sur tous vos serveurs et vous pouvez dans une seule et même connexion SSH disposer de plusieurs terminaux. Simple et terriblement efficace.

Tout d’abord, il faut se connecter sur le serveur, en SSH. Puis, juste après la connexion, lancer screen. Je vous conseille très fortement de donner immédiatement un nom à la session screen. Cela vous permettra de la retrouver facilement par la suite.

screen -S lenomchoisi

Une fois screen lancé, vous êtes dans un terminaux tout à fait standard. Vous pouvez lancer des commandes et voir leur résultat. Rien ne vous distingue d’un terminal non screen. En général, lorsque je me connecte sur un serveur, je lance 3 terminaux :

  1. le premier me permet de faire un top, toujours présent afin de voir si rien d’anormal ne se passe sur le serveur
  2. le second me permet de voir des logs à l’aide de la commande « tail -f »
  3. le troisième me permet de réaliser des actions

Nous allons reproduire cela. Tout d’abord, je lance top. Ensuite, je donne un nom à mon terminal en tapant CTRL-a A. Ce raccourcit clavier se fait en deux étapes distinctes:

  1. CTRL-a : je tape la touche Contrôle que je maintiens puis ensuite je tape sur la touche « a »
  2. A (a majuscule) : je lâche la touche Contrôle puis je maintiens la touche Shift et j’appuie sur a.

Une fois ce raccourci clavier tapé, je peux changer le nom de mon terminal. Par défaut, il porte le nom « bash » mais moi je change pour… « top » tout simplement :-). Je crée ensuite mes autres terminaux avec la combinaison clavier CTRL-a CTRL-c (c comme « create »). Pour chaque terminal, le lui donne un nom avec encore une fois la combinaison clavier CTRL-a A. J’ai donc 3 terminaux créés.

Pour lister les terminaux ouverts et voir leur nom, il suffit de taper la combinaison claver CTRL-a « . Dès lors, vous pouvez naviguer dans les terminaux en utilisant les flèches du pavé numérique. Une fois le terminal choisi, vous pouvez taper sur la touche Entrée pour l’utiliser. Il est important de noter que le nommage des terminaux est importants afin de les retrouver facilement dans la liste. Vous pouvez ensuite naviguer de terminal en terminal par les touches de combinaison suivantes:

  • CTRL-a n (n pour next) : terminal suivant dans la liste
  • CTRL-a backspace : terminal précédent dans la liste
  • CTRL-a n (où n est un chiffre) : aller au terminal numéro n (attention : la numérotation des terminaux commence à 0)

Vous pouvez ensuite vous détacher de votre session screen à l’aide de la combinaison CTRL-a d (d comme détacher). Cela vous permet de sortir de screen sans le terminer. C’est à dire que screen continue d’être exécuté en tâche de fond. Vous pouvez quitter votre session SSH : screen continuera de fonctionner en tâche de fond. Vous pouvez ensuite retrouver les sessions screen en cours sur un serveur en tapant :

screen -ls

(facile de se souvenir de cette commande ;-)). Là vous verrez toutes les sessions screen lancées en tâche de fond. Vous pouvez vous rattacher à une session screen préalablement détachée à l’aide de

screen -r lenomchoisi

Dès lors, vous retrouvez tous les terminaux en cours. Très pratique lorsque l’on doit lancé un script qui dure très longtemps :

  1. on lance screen
  2. on lance le script dans screen
  3. on se détache de screen

Le point fort de screen est vraiment dans la capacité à se déconnecter et se reconnecter. Dès que vous devez lancer un script dont la durée d’exécution est importante (plusieurs minutes), il faut utiliser screen afin de ne pouvoir laisser celui-ci tourné en tâche de fond malgré les déconnexions réseaux. Je l’utilise personnellement dans le cadre de mes déploiements sur des sites distants, avec une connexion ADSL de mauvaise qualité (déploiement qui peuvent durer plusieurs heures). Pour cela, je réalise un script qui va:

  1. télécharger des fichiers (plusieurs Go)
  2. décompresser les fichiers
  3. créer la base de données
  4. importer les données dans la base (minimum deux heures)
  5. déployer plusieurs Go d’images

Sans screen, je devrais découper mon script en plusieurs scripts et lancer un par un en espérant que le timeout SSH soit suffisant. Je ne me soucie pas de cela, screen est là pour prendre le relais si la connexion SSH tombe.

Dernier point, très utile dans screen. Parfois, on accède à des serveurs dont les responsables ne sont pas aussi à l’aise techniquement que nous. Dans mon cadre, ce sont des administrateurs Windows principalement, qui ont un unique serveur Linux. On ne peut pas leur demander d’être expert Linux alors qu’ils n’ont qu’un seul serveur à administrer. Ce peut être aussi des informaticiens dont la spécialité est la bureautique et qui sont amenés à évoluer vers un poste d’administrateur sur un petit réseau (quelques postes bureautiques, quelques serveurs télé-administrés). Ou alors, ce sont des étudiants en alternance : ils ne sont pas encore très expérimentés. Pour éviter d’être trop sollicité, j’ai décidé de leur montrer et de leur expliquer comment diagnostiquer et corriger les problèmes les plus courants. Problème : commet faire ça à distance? Simple : le téléphone pour l’explication orale et screen pour visualiser mes actions. Mon utilisation est alors la suivante :

  1. j’appelle mon correspond local
  2. je me connecte en SSH
  3. je lance screen avec un nom précis : screen -S formation
  4. je lui indique le nom du screen (formation)
  5. il se connecte à la même session : screen -x formation

L’option -x permet à un utilisateur de se connecter à la même session qu’un autre utilisateur sans le déconnecter. Les deux utilisateurs voient alors la même chose, ils peuvent tous les deux taper des commandes. Ce qui est visible chez l’un sera visible chez l’autre. Ce que fait l’un sera visible par l’autre. Cela évite d’avoir à recourir à des outils de prise en main à distance, pour lesquels il faut un compte et un environnement bien spécifique. Bien sûr, cela ne peut se faire que si vous avez un accès SSH au serveur.

Voilà, c’est tout pour cette vidéo sur screen. Attention, l’utilisation de screen n’est pas évidente à prendre en main. Cependant, cela vaut vraiment le coup : il faut investir un peu de temps au début pour ensuite ne plus en perdre. Screen peut vous sauver la mise lorsque vous avez des déconnexions intempestives.

SNMPB : faire des requêtes SNMP avec un outil graphique

 

Bonjour, je suis Cédric Temple et bienvenue sur le blog http://blog.cedrictemple.net. Dans cette vidéo je vais vous présenter un outil graphique pour réaliser des requêtes SNMP. Le nom de cet outil est SNMPb. B comme bébé.

Les points forts de SNMPb sont nombreux. Tout d’abord c’est un logiciel Libre. Il est aussi gratuit. L’équipe de SNMPb fournit des versions pré-compilées pour Windows et des versions RPM et Debian pour Linux. Il supporte à la fois le protocole SNMP dans ses version 1, 2c et 3. Il permet de réaliser des requêtes SNMP GET/WALK/SET/TABLE. Il affiche la description des OIDs, peut importer des MIBs efficacement et effectuer des recherches dans des OIDs.

Tout d’abord, nous allons voir où le récupérer, puis l’installer et enfin son utilisation.

Téléchargement de SNMPb

SNMPB est disponible sur le site web de Sourceforge SNMPb: . Pour le trouver, il suffit de faire une recherche avec le mot clé « SNMPb ».

Ensuite, on peut cliquer sur « download » et choisir la version souhaitée. L’installation ne requiert a priori pas de dépendance particulière. Je l’ai personnellement installé sur Ubuntu et sur Mandriva sans avoir de message d’erreur. De mon côté, je l’ai déjà installé sur mon poste et nous allons voir comment l’utiliser.

Utilisation de SNMPb

SNMPb répartit les fonctionnalités principales en différents onglets. Le premier onglet permet d’interroger un agent SNMP. La première partie correspond à l’agent qui sera interrogé. Ensuite, nous avons l’arbre des MIBs. On peut dérouler cette MIB en cliquant sur les différents OID. En faisant un click droit sur un OID, on accède aux actions telles que le WALK ou le GET. En cliquant sur un OID, la vue du bas donne des informations sur celui-ci : le nom, l’oid complet, le type et surtout la description. Je vous invite à toujours bien lire la description afin de bien interpréter la valeur de l’OID. Je rencontre beaucoup erreurs faites par des personnes qui ne lisent pas attentivement la description. C’est très très important. En faisant un click droit puis l’opération désirée, on obtient le résultat dans la vue de droite.

Paramétrage de l’hôte à interroger

Pour paramétrer l’agent à interroger, on clique sur le bouton … On rentre les paramètres par globaux: nom de l’équipement, adresse IP ou nom DNS, port SNMP, les versions SNMP gérées. Ensuite, en cliquant sur la gauche, on peut configurer la communauté SNMP. Il faut noter que pour configurer une version de SNMP, il faut avoir cocher la case dans les paramètres globaux.

Paramétrage des modules

Une fois l’agent SNMP à interroger correctement configuré, il est nécessaire d’indiquer à SNMPb quelles sont les MIBs à charger. SNMPb inclut quelques MIBs par défaut. Toutes ne sont pas chargées et toutes les MIBs existantes ne sont pas référencées. Moi, j’ai pour habitude de stocker toutes mes MIBs dans un seul répertoire composé de sous répertoire. Il faut indiquer à SNMPB quels sous répertoires il doit analyser afin d’y trouver les MIBs. Cela se fait dans le menu Options–>Preferences. Puis il faut cliquer sur Modules.

Je vous invite aussi à ajouter les MIBs fournies par le système Linux. Une fois ceci fait, vous pouvez valider. Ensuite, il faut se rendre dans l’onglet « Modules » et sélectionner quelles sont les MIBs à charger en les faisant passer de la vue de gauche à la vue de droite. Dans le doute, vous pouvez cliquer sur une MIB pour obtenir des informations détaillées sur celle-ci.

Requêtes simples avec SNMPb

Une fois l’agent configuré et les MIBs chargées, il est possible de dérouler l’arbre des MIBs et de faire des requêtes sur des OIDs. Pour cela, il vous suffit de cliquer sur chaque noeud jusqu’à l’OID souhaité. Pour interroger un OID, il vous suffit de faire un click droit sur celui-ci et de choisir l’opération GET ou WALK.

Encore une fois, je vous invite à bien lire la description de l’OID. Par exemple, pour celui-ci, la description nous informe de deux choses:
1 – la valeur récupérée est en centième de secondes
2 – l’OID correspond à l’uptime de l’agent SNMP et non l’uptime de l’équipement interrogé
Un autre exemple : les partitions. L’OID hrStorageSize correspond à la taille d’une partition mais celle-ci est exprimée en nombre de cluster. Pour avoir la taille d’un cluster de partition, il suffit de récupérer l’OID hrStorageAllocationUnits. ATTENTION donc à bien lire la description afin de ne pas faire des erreurs d’interprétation.

SNMPTable avec SNMPb

Dans la première vidéo, je vous ai présenté le concept de « tableau SNMP ». SNMPb utilise ce concept pour vous présenter les informations récupérées de manière plus efficace. Prenons un exemple, différent de la vidéo précédente. Le taux d’occupation d’une partition est lié à plusieurs OIDs différents (hrstoragesize, hrstorageallocationunit et hrStorageUsed). SNMPb permet d’afficher tous les OIDs sous la forme de tableau. C’est à dire qu’en une seule requête, vous avez tous les résultats présentés sous forme de tableau. Dès lors, il est beaucoup plus simple pour un humain d’interpréter les chiffres. Pour faire ceci, il vous suffit de faire un click droit sur l’OID de haut niveau et de choisir « table View ». Dans le cas des partitions, on visualise alors très simplement le nom de la partition, la taille des cluster, le nombre total de cluster de la partition et le nombre de clusters occupés.

Je vous invite donc à l’utiliser très fréquemment lorsque vous disposez de valeurs sous forme de tableau, ce qui est la majorité des éléments.

Conseils sur SNMPb

Quelques conseils sur l’utilisation d’un outil SNMP graphique. Ces conseils ne sont pas liés qu’à SNMPb et peuvent s’appliquer à tout outil. Premier conseil : il est important de ne pas faire de WALK à la racine de l’arbre des MIBs. En effet, vous risquez de saturer l’agent SNMP et le réseau.

SNMPb permet de faire des recherches. Je vous invite à utiliser cette fonctionnalité pour chercher un OID en fonction d’un mot clé.

Attention à bien lire la description de l’OID.

Vous devez comprendre parfaitement la définition de l’OID pour éviter toute erreur. Vous devez être attentif notamment à la description, l’unité, la référence à d’autres OIDs, les limites (32/64 bits) des valeurs.

Si une MIB n’est pas disponible sur votre système vous pouvez la télécharger sur le site du constructeur ou sur un repository de MIBs. Nous allons détailler cela au travers d’un exemple. Rendez vous sur le site snmplink.

Cliquer sur Mib Repositories. Choisir un repository de MIB. Choisir une MIB, télécharger, la placer dans un répertoire, configurer SNMPb pour lire ce répertoire et enfin, charger les modules.

Éviter de charger trop de modules en même temps. Vous risquez de ralentir inutilement SNMPb.

Voilà, c’est tout pour cette vidéo. N’hésitez pas à participer. Pour cela, vous pouvez ajouter des commentaires à cet article. Si vous avez des questions, je vous invite à les poser. Si vous avez des précisions à apporter, ce sera avec joie. Si vous avez des suggestions, des propositions d’article, j’essaierai aussi de les prendre en compte selon mes moyens bien entendus.

 

Les ACLs de Centreon (2) : contrôle d’accès aux ressources

Deuxième vidéo sur les ACLs de Centreon : les contrôles d’accès aux ressources. Ces contrôles d’accès permettent de spécifier « qui voit quelles ressources supervisées ».

 

Tout d’abord, il est important de partir d’une excellente organisation. Pour cela, je vous recommande d’utiliser les groupes d’hôtes. Dans cette vidéo, j’ai paramétré les groupes d’hôtes suivants:

  • Windows : groupe d’hôte Centreon contenant tous les hôtes Windows
  • Linux : groupe d’hôte Centreon contenant tous les hôtes Linux
  • Network : groupe d’hôte Centreon contenant tous les hôtes réseau (switch, routeurs, parefeu, …)

Les serveurs Windows doivent être visibles par les administrateurs Windows. Il en est de même pour les autres groupes : ils ne doivent être visibles que pour les administrateurs qui en ont la responsabilité. On en déduit la deuxième partie de la configuration : on crée des groupes de contacts par compétence.

  • Windows : groupe de contacts Centreon contenant tous les utilisateurs administrant des équipements Windows
  • Linux : groupe de contacts Centreon contenant tous les utilisateurs administrant des équipements Linux
  • Network : groupe de contacts Centreon contenant tous les utilisateurs administrant des équipements réseau (switch, routeurs, parefeu, …)

Ensuite, il suffit de relier les groupes de contact au groupe d’hôtes correspondant. Voici la démonstration en vidéo. Je vous invite grandement à cliquer sur l’icône en bas à droite de la vidéo afin de la voir en plein écran. Celle-ci a été prise en haute définition (1280×720) pour qu’elle soit la plus lisible possible. Vous pourrez alors voir plus précisément les actions réalisées afin d’obtenir la même configuration que moi. L’inconvénient est que cette vidéo est relativement lourde : la lecture peut se couper à intervalle régulier. N’hésitez pas à mettre la vidéo sur pause afin que le téléchargement se fasse en tâche de fond. Une fois la moitié du fichier téléchargée, vous pouvez reprendre la lecture.

 

Ezwebplayer-lite pour wordpress : incapacité à poster une vidéo depuis l’édition d’un article

J’ai déjà parlé du plugin Ezwebplayer-lite pour wordpress. Ce plugin permet d’afficher dans WordPress des vidéos en Flash (vidéos au format FLV), sans passer par une plate-forme d’hébergement de vidéos. Dans la version que j’avais installée, un bug était présent. Il m’empêchait de poster une vidéo depuis la page d’écriture d’un article. Lorsque je cliquais sur l’icône de ce plugin, une page blanche s’affichait. Je n’avais pas cherché bien longtemps car je préfère passer par la ligne d’appel : c’est simple, rapide et efface:

[ EZWebPlayerLite VIDEOURL="http://urlcomplete/wordpress/wp-content/uploads/ANNEE/MOIS/video.flv" / ]

ATTENTION : j’ai volontairement ajouté un espace supplémentaire juste après le crochet ouvrant et juste avant le crochet fermant afin d’indiquer la ligne de code. Penser à les supprimer!

Pour forcer la taille de la vidéo, c’est aussi très simple:

[ EZWebPlayerLite VIDEOURL="http://urlcomplete/wordpress/wp-content/uploads/ANNEE/MOIS/video.flv" WIDTH="640" HEIGHT="360" / ]

Mais il est toujours mieux de corriger une erreur. J’ai donc cherché et rapidement trouvé. Il suffit de modifier le fichier ezwebplayer-wordpress-lite-video-plugin/ezwplite_form.php à la ligne 3 et de remplacer:

require_once(../../../wp-includes/classes.php);

par

require_once(../../../wp-includes/class-wp.php);

Et voici le résultat:

Formulaire d'ajout d'une vidéo avec EZWebplayer Lite pour wordpress
Formulaire d'ajout d'une vidéo avec EZWebplayer Lite pour wordpress

Vidéo : rotation à 90°

Faire une vidéo avec un appareil photo numérique donne des mauvais réflexes : on est tellement habitué à faire des photos en tournant son appareil qu’on fait la même chose en enregistrant la vidéo. Pour la visualiser sur l’appareil, on fait exactement la même chose : on tourne l’appareil à 90°. Mais sur un ordinateur? Comme faire?

Avec un peu de chance, on utilise Video Lan Client, qui permet de tourner la vidéo grâce à une option. Mais ce n’est pas top, autant le faire directement, grâce à mencoder :

mencoder video.mpeg -vf rotate=2 -oac copy -ovc lavc -o video_copie.mpeg

L’option magique:

  • -vf rotate=2 : faire une rotation à 90° grâce au filtre vidéo (« vf » == « Video filter »)