7 mars 2011

Article

Technologies de l'information

Automatiser la documentation système avec Linux

En recherchant de l’information sur Internet, j’ai trouvé une phrase qui m’a fait réfléchir sur un site dédié à AIX (Unix propriétaire de la compagnie IBM) : http://www.aixexpert.com/wiki/index.php/AIX_Expert « Les administrateurs de système ne devraient jamais écrire de documentation ! »1  (Traduction libre). Comme c’est en quelque sorte le contraire de ce que je dis et redis dans mes cours, cela mérite un approfondissement. Oui … il est très important d’avoir de la documentation pour les systèmes gérés par un administrateur. Ne serait-ce que pour permettre un transfert de connaissances et surtout, bien évidemment, retrouver facilement telle caractéristique ou telle particularité d’un serveur.

La suite de la phrase se traduirait ainsi : « au lieu de cela, la documentation devrait être faite automatiquement ! »2  Et je suis tout à fait d’accord avec cette affirmation. Les serveurs sont, en quelque sorte, des automates évolués et très fiables. Automatiser cette tâche est tout à fait envisageable et faisable.

Écrire, ne pas écrire ?

Traditionnellement, l’écriture de la documentation n’est pas le point fort de l’administrateur de système. Mon expérience en entreprise est très claire : la plupart du temps, la documentation d’un serveur (lorsqu’elle existe) n’est pas adéquate, trop ancienne, etc.

Alors que faire ?

Pourquoi ne pas confier la production de documentation à votre propre système !

Un outil pour la documentation de votre système Linux : cfg2html

Depuis déjà quelque temps, j’utilise un outil très intéressant : cfg2html, pour produire automatiquement de la documentation de serveurs Linux (il est également possible de l’utiliser pour certains types d’Unix). Cfg2html correspond au moins aux besoins de base de la documentation. Les concepteurs parlent même de « couteau suisse de l’administrateur » !

Cfg2html est disponible à l’adresse : http://www.cfg2html.com/. De plus, avec cfg2html, comme j’ai déjà eu l’occasion de le faire pour des clients, il est facile d’ajouter au rapport de base des informations spécifiques.

Installer cfg2html

Pour obtenir cfg2html, il faut s’enregistrer dans un groupe de développement de Yahoo. C’est une formalité très simple et obligatoire. Ensuite il faut télécharger le fichier et l’installer à l’aide de la commande appropriée, l’exemple qui suit convient pour la version Linux : # rpm -ivh cfg2html*.rpm

Lancer le programme cfg2html

Utiliser cfg2html est vraiment très simple ! À la ligne de commande, il suffit de lancer la commande : # cfg2html

Quelques options disponibles permettent surtout de désactiver certaines recherches d’informations. Pour les connaître, utiliser l’option « -h ». Par exemple, l’option « -H » n’effectue pas la recherche du matériel.

Après exécution du programme, quatre fichiers (pour la version Linux) ont été créés :

  1. un fichier contenant d’éventuelles erreurs
  2. un fichier avec les caractéristiques des partitions
  3. un fichier contenant toute l’information collectée au format HTML
  4. un fichier, le dernier, version format texte du fichier HTML

Afficher les informations

L’intérêt du fichier résultat en HTML est bien entendu de l’afficher via un serveur Web. Cela permet d’avoir, par exemple, une page contenant des liens vers l’ensemble de vos serveurs. Ensuite, il est assez facile d’automatiser l’exécution de cfg2html un utilisant le programme « cron ».

Conclusion : Oui à la génération automatique de documentation !

Avec ce petit utilitaire fort simple à installer et à utiliser, un administrateur de système est donc en mesure de produire à la demande ou encore mieux, automatiquement, une documentation détaillée des serveurs qu’il gère. De plus, l’automatisation complète du processus permet de s’assurer que le serveur dispose d’une documentation détaillée et fiable, car régénérée à intervalle régulier !

Cet article illustre un des nombreux exercices pratiques du cours « Aministration Linux (UN201) » donné par Technologia.

1 System administrators should NEVER write documentation.
2 And to instead generate it automatically.

 

Automatiser la documentation système avec Linux

© Patrick Lhermie, Tout droit réservé.

Patrick Lhermie possède plus de vingt années d'expérience en informatique. Il a géré et administré de nombreux systèmes UNIX, Linux et Oracle dans des services critiques pour certains. Il utilise le système d'exploitation Linux depuis plus de dix ans dans le cadre de ses activités de consultation. Il cumule plus de 2 500 heures de formation et plus de 1 500 personnes formées à Linux au Québec.