web-dev-qa-db-fra.com

Existe-t-il un journal de toutes les activités que je pourrais ouvrir dans le terminal?

Je voudrais avoir un terminal ouvert et étudier les processus et tout ce qui se passe dans une utilisation régulière d'Ubuntu. Quelles commandes et quels fichiers puis-je utiliser pour afficher les journaux en temps réel?

Merci.

4
Mookey

Pour afficher les journaux en temps réel, utilisez tail -f -n [number of lines] [file].

  • -f est à suivre, ce qui dirigera les données de journal ajoutées vers stdout (par exemple, la fenêtre de la console) à mesure que les données sont écrites dans le fichier.
  • -n est pour le nombre de lignes à suivre

Un bon point de départ serait /var/log/syslog. Il s'agit du fichier journal par défaut pour de nombreux événements système, services et applications.

Sudo tail -f -n 1000 /var/log/syslog

Votre service ou application cible peut utiliser un fichier journal différent. Certains services et applications ont plusieurs fichiers journaux. Le serveur Web Apache, par exemple, dispose de journaux distincts pour les accès, les erreurs et les événements SSL. En outre, certains fichiers journaux sont configurés pour s’établir dans un fichier d’archive (généralement dans le même répertoire) une fois que le fichier original a atteint une certaine taille, par exemple. 1 Ko. Recherchez dans la documentation du service ou de l'application (ou recherchez) des emplacements de fichier journal spécifiques.

Vous pouvez également trouver utile d'ouvrir plusieurs fenêtres de console et de surveiller plusieurs journaux à la fois pendant que vous effectuez un test.

Par exemple, si vous suiviez des événements dans une application Web exécutée sur Apache et utilisant une base de données MySQL, vous souhaiterez peut-être ouvrir les deux commandes suivantes dans leur propre fenêtre de console. En fait, vous souhaiterez peut-être suivre ces journaux d'application avec le journal système ci-dessus.

Sudo tail -f -n 1000 /var/log/Apache2/error_log
Sudo tail -f -n 1000 /var/log/mysqld.log

Comme toujours, consultez les pages tailman pour obtenir une liste complète des options:

man tail

5
Rocky Raccoon

Beaucoup de choses que vous ne pouvez tout simplement pas repérer, car elles sont gérées à l'intérieur de l'application ou du processus sans aucune communication avec "le monde extérieur".

une liste aléatoire (totalement incomplète) de quelques-uns des outils les plus importants que vous puissiez utiliser pour contrôler des sections spécifiques de ce qui se passe:

  • la commande top: from man top: Le programme supérieur fournit une vue dynamique en temps réel d'un système en cours d'exécution. Il peut afficher des informations récapitulatives sur le système, ainsi qu'une liste des processus ou des threads actuellement gérés par le noyau Linux. Les types d'informations récapitulatives système affichées, ainsi que les types, l'ordre et la taille des informations affichées pour les processus sont tous configurables par l'utilisateur et cette configuration peut être configurée de manière constante après les redémarrages.
  • dstat. De man dstat: Dstat vous permet de visualiser toutes vos ressources système instantanément, vous pouvez par exemple. Comparez l'utilisation du disque avec les interruptions de votre contrôleur IDE ou comparez directement les numéros de bande passante réseau avec le débit du disque (dans le même intervalle)
  • wmctrl; bien que wmctrl ne fournisse pas d'informations en temps réel en cours , lorsqu'il est utilisé en boucle dans un script, il est assez facile de récupérer un rapport ou de se connecter en temps réel sur ce qui se passe concernant fenêtres ouvertes/déplacées/fermées.
  • La commande dbus-monitor, dont @Serg devrait pouvoir vous en dire beaucoup plus. De man dbus-monitor: La commande dbus-monitor est utilisée pour surveiller les messages transitant par un bus de messages D-Bus. Voir http://www.freedesktop.org/software/dbus/ pour plus d'informations sur la situation dans son ensemble. (en bref: dbus est un moyen simple pour les applications pour se parler. Remarque que dbus-monitor ne fonctionne que dans les cas où dbus est utilisé, et non comme un outil général mentionné par @heemayl (merci!))
  • La commande dconf watch (relativement inconnue). De man dconf:

       watch
           Watch a key or directory for changes.
    

    Essayez par exemple Que se passe-t-il dans la sortie de dconf watch /, lors de la modification des paramètres système?.

L'essentiel est qu'il existe de très nombreux outils, chacun permettant de repérer une section spécifique de ce qui se passe. Une réponse unique est tout à fait impossible, et encore moins une seule fenêtre de terminal pour montrer même le début de "l'image complète".

L'outil adapté à vos besoins dépend des événements que vous souhaitez spécifiquement surveiller.

8
Jacob Vlijm

Essayez la commande history, elle affiche la dernière commande $HISTSIZE (par défaut 500) exécutée dans le terminal.

La commande journalctl affiche les messages du journal si le système utilise systemd.

ps -aux montre les processus en cours, peut être utilisé avec

ps -aux|grep xxxx

pour sélectionner un processus spécifique.

6
Vasconcelos1914

Toute activité est assez large. Pour ajouter aux réponses existantes:

  • dmesg vide le journal du noyau sur le terminal. page de manuel .

  • strace permet le suivi en temps réel de tous les appels système d'un processus unique donné. page de manuel . page Ubunt .

  • perf "strace sur les stéroïdes." Perf est un outil très puissant pour suivre les événements à différentes granularités du système, y compris le noyau, les processus individuels et les processeurs individuels. page de manuel .

1
Digital Trauma