Quand les choses tournent mal avec Linux, cela peut être un cauchemar à résoudre. Les défis inhérents associés à cela sont doublés lorsque le problème auquel vous faites face est intermittent, et vous ne savez pas ce qui le cause.
Je suppose que vous pourriez passer des heures et des heures à parcourir Stack Overflow, et demander de l'aide à Reddit. Le guide génial de Reddit Le guide génial de Reddit Vous vous demandez comment vos amis trouvent toujours des trucs sympas sur Internet avant vous? Ils utilisent probablement Reddit, la «page d'accueil d'Internet» autoproclamée. Lire la suite . Ou vous pouvez prendre les choses en main et plonger dans les fichiers journaux de votre système, dans le but de découvrir quel est le problème.
Quels sont les fichiers journaux?
De nombreux programmes - qu'ils soient pour Windows, Mac ou Linux - génèrent des fichiers journaux au fur et à mesure. Même Android les génère Comment obtenir un Logcat pour signaler des bogues sur Android Comment obtenir un Logcat pour signaler des bugs sur Android Si vous avez déjà été demandé un logcat, voici comment le faire! Lire la suite . Ce sont des fichiers en texte brut qui contiennent des informations sur l'exécution d'un programme. Chaque événement sera sur sa propre ligne, horodatée à la seconde.
Bien que cela ne soit pas universellement vrai pour toutes les applications, les fichiers journaux ont généralement tendance à se trouver dans le répertoire / var / log.
La plupart du temps, les données contenues dans ces fichiers seront banales. Cela ne sera pas nécessairement indicatif d'un problème. Ce ne sera que des mises à jour sur ce que le programme faisait à un moment donné.
Mais quand il y a un problème, vous pouvez garantir que les informations à ce sujet seront contenues dans les fichiers journaux. Cette information peut être utilisée pour y remédier, ou pour poser une question descriptive à quelqu'un qui pourrait le savoir.
Donc, quand vous traitez des fichiers journaux, comment isolez-vous les informations qui vous intéressent à partir des choses que vous n'avez pas?
Utilisation des utilitaires Linux standards
Comme nous l'avons déjà mentionné, les fichiers journaux ne sont pas exclusifs à une plate-forme unique. Malgré cela, l'objectif de cet article sera Linux et OS X, car ces deux systèmes d'exploitation sont livrés avec les outils de ligne de commande UNIX essentiels. Guide rapide pour démarrer avec la ligne de commande Linux Un guide rapide pour démarrer avec Linux Ligne de commande Vous pouvez faire beaucoup de choses étonnantes avec des commandes sous Linux et ce n'est vraiment pas difficile à apprendre. Lire la suite nécessaire pour analyser à travers eux.
Étant donné que les fichiers journaux sont des fichiers en texte brut, vous pouvez utiliser tous les outils que vous utiliseriez pour afficher ces fichiers. Parmi ceux-ci, grep est probablement le plus difficile à apprendre, mais aussi le plus utile. Il vous permet de rechercher des expressions et des termes spécifiques dans un fichier particulier. La syntaxe pour ceci est grep [term] [filename] .
À leur niveau le plus avancé, vous pouvez utiliser des expressions régulières (RegEx) pour rechercher des termes et des éléments avec un focus laser. Bien que RegEx ressemble souvent à de la magie, il est en fait assez simple à saisir.
Ensuite, il y a les commandes 'head' et 'tail'. Pas de points pour deviner ce que ceux-ci font. Ils vous montrent les dix premières et dernières lignes d'un fichier, respectivement. Donc, si vous vouliez voir les derniers éléments sur un fichier journal, vous courriez "tail filename".
Vous pouvez changer le nombre de lignes affichées en utilisant le déclencheur '-n'. Donc, si vous vouliez voir les 20 premières lignes d'un fichier, vous courriez
head -n 20 [nom de fichier]
Si vous voulez regarder tout le contenu d'un fichier, vous pouvez utiliser l'utilitaire 'cat'. Cela peut être un peu compliqué, car les fichiers journaux peuvent souvent mesurer des centaines de milliers de lignes . Une meilleure idée serait de le rediriger vers l'utilitaire less, qui vous permettra de le voir une page à la fois. Pour ce faire, lancez
chat [nom de fichier] | Moins
Alternativement, vous pouvez utiliser sed et awk. Ces deux utilitaires vous permettent d'écrire des scripts simples qui traitent les fichiers texte. Nous avons écrit à leur sujet l'année dernière. Chaque Linux Geek a besoin de savoir Sed et Awk. Voici pourquoi ... Chaque Linux Geek doit connaître Sed et Awk. Voici pourquoi ... Deux des utilitaires Linux sous-estimés les plus criminellement sont les arcanes Sed et Awk. Mais qu'est-ce qu'ils sont? Comment sont-ils utilisés? Et comment facilitent-ils le traitement du texte? Lire la suite .
Enfin, si vous êtes confiant, vous pouvez aussi essayer l'éditeur de texte vim. Le Top 7 raisons de donner à l'éditeur de texte Vim une chance Les 7 meilleures raisons de donner à l'éditeur de texte Vim une chance Pendant des années, j'ai essayé un éditeur de texte après l'autre. Vous l'appelez, je l'ai essayé. J'ai utilisé chacun de ces éditeurs pendant plus de deux mois comme mon principal éditeur au jour le jour. En quelque sorte, je ... Lire la suite. Cela a un tas de commandes intégrées qui rendent trivial pour analyser les fichiers journaux. La version 32 bits de vim a également une taille de fichier maximale de 2 Go, bien que je ne vous recommande pas de l'utiliser sur des fichiers aussi volumineux pour des raisons de performances.
Utilisation du logiciel de gestion des journaux
Si cela semble trop difficile, ou si vous préférez utiliser quelque chose de plus visuel, vous pouvez envisager d'utiliser une application de gestion des journaux (souvent confondue avec SIEM, ou Informations de sécurité et gestion des événements).
Ce qui est génial, c'est qu'ils font beaucoup de travail pour vous. Beaucoup d'entre eux peuvent consulter les journaux et identifier automatiquement les problèmes. Ils peuvent également visualiser les journaux dans toutes sortes de graphiques et diagrammes agréables, ce qui vous permet de mieux comprendre le fonctionnement fiable d'une application.
L'un des programmes de gestion de journaux les plus connus s'appelle Splunk. Cet outil de gestion de journaux vous permet de parcourir des fichiers à l'aide d'une interface Web. Il a même son propre langage de traitement de recherche puissant et polyvalent, qui vous permet d'explorer les résultats de manière programmatique.
Splunk est utilisé par d'innombrables grandes entreprises. Il est disponible pour Mac, Windows et Linux. Mais il a également une version gratuite, qui peut être utilisée par les utilisateurs domestiques et les petites entreprises pour gérer leurs journaux.
Cette version, appelée Splunk Light, partage beaucoup de points communs avec les versions d'entreprise. Il peut parcourir les journaux, surveiller les fichiers à la recherche de problèmes et émettre des alertes en cas de problème.
Cela dit, Splunk Light a certaines limites, ce qui est assez raisonnable. Premièrement, la quantité de données qu'il peut consommer est limitée à 500 Mo par jour. Si cela ne suffit pas, vous pouvez passer à la version payante de Splunk Light, qui peut consommer 20 Go de journaux par jour. D'un point de vue réaliste, la plupart des utilisateurs ne s'en approcheront pas.
Il ne prend également en charge que cinq utilisateurs, ce qui ne devrait pas être un problème pour la plupart des gens, surtout s'il ne fonctionne que sur des serveurs Web et des serveurs de fichiers.
Splunk propose une version cloud, ce qui est idéal pour ceux qui ne souhaitent pas installer le client entier sur leurs machines, ou ceux avec un certain nombre de serveurs distants. L'inconvénient à cela est le coût énorme impliqué. Le plan Splunk le moins cher coûte 125, 00 $ par mois. #
C'est beaucoup d'argent.
Comment gérez-vous vos fichiers journaux?
Ainsi, nous avons examiné comment vous pouvez interroger vos fichiers journaux et trouver les informations dont vous avez besoin pour résoudre les problèmes, soit en personne, soit avec une assistance à distance. Mais connaissez-vous de meilleures méthodes? Utilisez-vous un logiciel de gestion de journaux ou les utilitaires Linux standard?
Je veux en entendre parler. Faites-moi savoir dans les commentaires ci-dessous.