Recherche de site Web

Petiti - Un outil d'analyse de journaux Open Source pour les administrateurs système Linux


Petit est un outil d'analyse de journaux gratuit et open source basé sur une ligne de commande pour les systèmes de type Unix et Cygwin, conçu pour analyser rapidement les fichiers journaux dans les environnements d'entreprise.

Il est destiné à suivre la philosophie Unix de petite taille, rapide et facile à utiliser, et peut être utilisé pour inspecter/prend en charge différents formats de fichiers journaux, notamment les fichiers journaux Syslog et Apache.

Petites fonctionnalités

  • Prise en charge de l'analyse des journaux.
  • Détecte automatiquement et prend en charge divers formats de fichiers journaux (par exemple Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log et les fichiers journaux bruts).
  • Prise en charge du hachage des journaux.
  • Prend en charge les graphiques en ligne de commande.
  • Prend en charge la découverte de mots et le comptage des mots vides courants dans les données de journal.
  • Prise en charge de la réduction du journal pour une lecture facile.
  • Fournit divers filtres par défaut et spécialement conçus.
  • Prend en charge les empreintes digitales, utiles pour identifier et exclure les signatures de redémarrage.
  • Offre plusieurs options de sortie pour les terminaux à écran large et la sélection de caractères et bien d'autres.

Dans ce didacticiel, nous allons vous montrer comment installer et utiliser l'outil d'analyse de journaux Petit sous Linux pour extraire des informations utiles des journaux système de différentes manières.

Comment installer et utiliser l'outil d'analyse Petit Log sous Linux

Petit peut être installé à partir des dépôts par défaut de Debian/Ubuntu et de ses dérivés, en utilisant l'outil de gestion de paquets apt comme indiqué ci-dessous.

sudo apt install petit

Sur les systèmes RHEL/CentOS/Fedora, téléchargez et installez le package .rpm comme ceci.

wget http://crunchtools.com/wp-content/files/petit/petit-current.rpm
rpm -i petit-current.rpm

Une fois installé, il est temps de voir l’utilisation de base du Petit avec des exemples.

Hachage d'un fichier journal

Il s'agit d'une petite fonction simple : elle résume le nombre de lignes découvertes dans un fichier journal. Le résultat comprend le nombre de lignes similaires trouvées dans le journal et à quoi ressemblait globalement le groupe, comme indiqué ci-dessous.

petit --hash /var/log/yum.log
OR
petit --hash --fingerprint /var/log/messages
2:	Mar 18 14:35:54 Installed: libiec61883-1.2.0-4.el6.x86_64
2:	Mar 18 15:25:18 Installed: xorg-x11-drv-i740-1.3.4-11.el6.x86_64
1:	Dec 16 12:36:23 Installed: 5:mutt-1.5.20-7.20091214hg736b6a.el6.x86_64
1:	Dec 16 12:36:22 Installed: mailcap-2.1.31-2.el6.noarch
1:	Dec 16 12:40:49 Installed: mailx-12.4-8.el6_6.x86_64
1:	Dec 16 12:40:20 Installed: man-1.6f-32.el6.x86_64
1:	Dec 16 12:43:33 Installed: sysstat-9.0.4-31.el6.x86_64
1:	Dec 16 12:36:22 Installed: tokyocabinet-1.4.33-6.el6.x86_64
1:	Dec 16 12:36:22 Installed: urlview-0.9-7.el6.x86_64
1:	Dec 16 12:40:19 Installed: xz-4.999.9-0.5.beta.20091007git.el6.x86_64
1:	Dec 16 12:40:19 Installed: xz-lzma-compat-4.999.9-0.5.beta.20091007git.el6.x86_64
1:	Dec 16 12:43:31 Updated: 2:tar-1.23-15.el6_8.x86_64
1:	Dec 16 12:43:31 Updated: procps-3.2.8-36.el6.x86_64
1:	Feb 18 12:40:27 Erased: mysql
1:	Feb 18 12:40:28 Erased: mysql-libs
1:	Feb 18 12:40:22 Installed: MariaDB-client-10.1.21-1.el6.x86_64
1:	Feb 18 12:40:12 Installed: MariaDB-common-10.1.21-1.el6.x86_64
1:	Feb 18 12:40:10 Installed: MariaDB-compat-10.1.21-1.el6.x86_64
1:	Feb 18 12:54:50 Installed: apr-1.3.9-5.el6_2.x86_64
......

Trouver le nombre de lignes produites par un démon

L'utilisation de l'option --daemon permet de générer un rapport de base des lignes produites par un démon système particulier, comme le montre l'exemple ci-dessous.

petit --hash --daemon /var/log/syslog
847:	vmunix:
48:	CRON[#]:
30:	dhclient[#]:
26:	nm-dispatcher:
14:	rtkit-daemon[#]:
6:	smartd[#]:
5:	ntfs-#g[#]:
4:	udisksd[#]:
3:	mdm[#]:
2:	ag[#]:
2:	syslogd
1:	cinnamon-killer-daemon:
1:	cinnamon-session[#]:
1:	pulseaudio[#]:

Recherche du nombre de lignes produites par un hôte

Pour trouver tout le nombre de lignes générées par un hôte particulier, utilisez l'indicateur --host comme indiqué ci-dessous. Cela peut être utile lors de l'analyse des fichiers journaux de plusieurs hôtes.

petit --host /var/log/syslog

999:	tecmint

Effectuer un comptage de mots dans un fichier journal

Cette fonction est utilisée pour rechercher et afficher des mots qualitativement significatifs dans un fichier journal.

petit --wordcount /var/log/syslog
845:	[
97:	[mem
75:	ACPI:
64:	pci
62:	debian-sa#
62:	to
51:	USB
50:	of
49:	device
47:	&&
47:	(root)
47:	CMD
47:	usb
41:	systemd#
36:	ACPI
32:	>
32:	driver
32:	reserved
31:	(comm#
31:	-v

Représentation graphique d'un fichier journal

Cela fonctionne dans un format de graphique à barres clé/valeur, pour une comparaison côte à côte des distributions, comme indiqué dans les exemples ci-dessous.

Pour représenter graphiquement les 60 premières secondes d'un syslog, utilisez l'indicateur --sgrapg comme ceci.

petit --sgraph /var/log/syslog
                                                          
                                                          
                                                          
                                                          
                                                          
############################################################
59                            29                           58 

Start Time:	2017-06-08 09:45:59 		Minimum Value: 0
End Time:	2017-06-08 09:46:58 		Maximum Value: 1
Duration:	60 seconds 			Scale: 0.166666666667

Suivi de mots particuliers dans un fichier journal

Cet exemple montre comment suivre et représenter graphiquement un mot spécifique (par exemple « dhcp » dans la commande ci-dessous) dans un fichier journal.

cat /var/log/messages | grep error | petit --mgraph
                       #                          #       
                       #                          #       
                       #                          #       
                       #                          #       
                       #                          #       
############################################################
10                            40                           09 

Start Time:	2017-06-08 10:10:00 		Minimum Value: 0
End Time:	2017-06-08 11:09:00 		Maximum Value: 2
Duration:	60 minutes 			Scale: 0.333333333333

De plus, pour afficher des échantillons pour chaque entrée dans un fichier journal, utilisez l'option –allsamples comme celle-ci.

petit --hash --allsample /var/log/syslog

Petits fichiers importants :

  • /var/lib/petit/fingerprint_library – utilisé pour créer des fichiers d'empreintes digitales personnalisés.
  • /var/lib/petit/fingerprints (fichiers d'empreintes digitales agrégés) – utilisé pour filtrer les redémarrages et autres événements non considérés comme vitaux par l'administrateur système.
  • /var/lib/petit/filters/

Pour plus d'informations et d'options d'utilisation, lisez la petite page de manuel comme celle-ci.

man petit
OR
petit -h

Petite page d'accueil : http://crunchtools.com/software/petit/

Lisez également ces guides utiles concernant la surveillance et la gestion des journaux sous Linux :

  1. 4 bons outils de surveillance et de gestion des journaux Open Source pour Linux
  2. Comment gérer les journaux système (configurer, faire pivoter et importer dans la base de données) sous Linux
  3. Comment configurer et gérer la rotation des journaux à l'aide de Logrotate sous Linux
  4. Surveiller les journaux du serveur en temps réel avec l'outil « Log.io » sous Linux

Vous pouvez nous envoyer vos questions via le formulaire de commentaires ci-dessous ou peut-être partager avec nous des informations sur les outils d'analyse de journaux utiles pour Linux, dont vous avez entendu parler ou que vous avez rencontré.