La surveillance des ressources système et l'analyse des performances est une tâche importante de tout administrateur système. Il existe de nombreux outils disponibles pour Linux pour surveiller les performances du système, notamment top, htop, free, etc. Collectl est un outil de surveillance des performances gratuit, open source et léger qui peut être utilisé pour collecter des informations sur les ressources système telles que, cpu, disque, mémoire, réseau, Infiniband, lustre, mémoire, nfs, dalles et bien d'autres. Contrairement à d'autres outils de surveillance, collectl se concentre sur un petit ensemble de statistiques. Collectl est capable de surveiller différents paramètres en même temps et de les rapporter de manière appropriée. Collectl est livré avec une multitude d'options qui vous aident à identifier tout type de problèmes de performances du système. En utilisant collectl, vous pouvez générer la même sortie de mpstat, netstat, nfsstat, sar, ps, top et iostat.
Caractéristiques
- Possibilité d'afficher la sortie dans de nombreux formats.
- Exporter les données dans différents formats de fichiers.
- Capacité à s'exécuter en tant que service pour surveiller les machines distantes
- Surveillez presque tous les sous-systèmes.
Dans ce tutoriel, nous apprendrons comment installer et utiliser Collectl sur le serveur Ubuntu 18.04.
Exigences
- Un serveur exécutant Ubuntu 18.04.
- Un mot de passe root est configuré sur votre serveur.
Mise en route
Avant de commencer, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois votre serveur mis à jour, redémarrez votre serveur pour appliquer les modifications.
Installer Collectl
Par défaut, Collectl est disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous pouvez l'installer en exécutant la commande suivante :
apt-get install collectl -y
Une fois l'installation terminée, vous pouvez exécuter la commande suivante pour lister toutes les options disponibles avec collectl :
collectl --h
Vous devriez voir le résultat suivant :
Il s'agit d'un sous-ensemble des commutateurs les plus courants et même les descriptions sont abrégées. Pour tout voir, tapez 'collectl -x', pour commencer, tapez simplement 'collectl'usage :collectl [commutateurs] -c, --count count collectez ce nombre d'échantillons et quittez -f, --filename nom de fichier du répertoire/fichier pour écrire dans -i, --interval int intervalle de collecte en secondes [défaut=1] -o, --options options diverses options de formatage, --showoptions pour tous d|D - inclure la date dans la sortie T - inclure l'heure dans la sortie z - désactiver la compression des fichiers de tracé -p, --playback la lecture du fichier résulte de 'fichier' (assurez-vous de citer s'il s'agit d'un joker) ou le shell pourrait le gâcher -P, --plot génère une sortie au format 'plot' - s, --subsys subsys spécifie un ou plusieurs sous-systèmes [default=cdn] --verbose affiche la sortie au format verbeux (sélectionné automatiquement lorsque bref n'a pas de sens) Différents types d'aide -h, --help affiche ce texte -v, --version affiche la version -V, --showdefs affiche les paramètres opérationnels par défaut -x, --helpextend l'aide étendue, plus de détails sur les descriptions également -X, --helpall affiche toute l'aide concaténée --showoptions affiche toutes les options --showsubsys affiche tous les sous-systèmes --showsubopts affiche toutes les options spécifiques au sous-système --showtopopts affiche --top options --showheader affiche l'en-tête de fichier qui "serait" généré --showcolheaders affiche les en-têtes de colonne qui ' serait' généré --showslabaliases pour l'allocateur SLUB, afficher les alias non root --showrootslabs identique à --showslabaliases mais utiliser des noms 'root'Copyright 2003-2016 Hewlett-Packard Development Company, L.P. la licence artistique ou la licence publique générale GNU, qui se trouve dans le kit sourceTravailler avec Collectl
Maintenant, exécutez le collectl sans aucune option pour afficher des informations sur les statistiques du processeur, du disque et du réseau dans un format très court et lisible par l'homme.
collecteVous devriez voir le résultat suivant :
attente d'un échantillon de 1 seconde...#<--------cpu--------><----------disks------- ----><----------réseau---------->#cpu sys inter ctxsw KBRead Lit KBWrit Ecrit KBIn PktIn KBOut PktOut 17 11 503 320 4 1 20 3 0 0 0 0 2 1 565 165 0 0 0 0 0 2 0 2 6 3 545 83 0 0 0 0 0 2 0 2 0 0 508 39 0 0 0 0 0 2 0 2 1 1 517 42 0 0 0 0 0 2 0 2 1 1 442 37 0 0 0 0 0 2 0 2 1 1 538 65 0 0 20 2 0 2 0 2 1 1 443 39 0 0 0 0 0 2 0 2 1 1 409 39 0 0 0 0 0 2 0 2 1 1 381 38 0 0 0 0 0 2 0 2 1 1 451 44 0 0 0 0 0 2 0 2 3 2 482 42 0 0 0 0 0 2 0 2 9 2 528 101 0 0 0 0 0 2 0 2 1 1 428 39 0 0 0 0 0 2 0 2Vous pouvez également répertorier les statistiques de tous les sous-systèmes avec la commande suivante :
collectl --allSortie :
attente d'un échantillon de 1 seconde...#<--------cpu--------><-------------- ---mémoire-----------------><----------disques-----------><--- -------réseau----------><-------tcp--------><------prises-----><----files---><------nfs totaux------="">#cpu sys inter ctxsw Cpu0 Free Buff Cach Inac Slab Map Fragments KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut IP Tcp Udp Icmp Tcp Udp Raw Frag Handle Inodes Lectures Ecritures Meta Comm 3 0 459 48 459 139M 63M 573M 413M 93M 136M jibaa4a59ab 0 0 0 0 0 0 0 0 0 0 0 0 144 0 0 0 1081 0 40 2 7 528 142 530 139M 63M 573M 413M 93M 136M JHBAA5959AB 0 0 0 0 0 2 1 2 0 0 0 0 144 0 0 0 1088 44711 0 0 0 0 3 1 477 57 477 139M 63M 573M 413M 93M 136M JHBAA5959AB 0 0 0 0 0 0 0 0 0. 2 0 2 0 0 0 0 144 0 0 0 1088 44711 0 0 0 0 5 2 437 55 435 139M 63M 573M 413M 93M 136M JHBAA5959AB 0 0 0 0 0 2 0 2 0 0 0 0 144 0 0 01088 44711 0 0 0 0 1 0 426 43 426 139M 63M 573M 413M 93M 136M JHBAA5959AB 0 0 0 0 0 2 0 2 0 0 0 0 144 0 0 0 1088 44711 0 0 0 0 4 1 435 54 435 139M 63M 573M 413M 93M 136M 0 0 144 0 0 0 1088 44711 0 0 0 0 4 2 471 49 472 139M 63M 573M 413M 93M 136M jhbaa5959ab 0 0 0 0 0 2 0 2 0 0 0 0 144 0 0 0 4 7int-1088 0 0 0 1088 0 0 1088 0 0> Vous pouvez également utiliser la commande collectl avec l'option --top comme indiqué ci-dessous :
collectl --topSortie :
# TOP PROCESSES triés par temps (les compteurs sont /sec) 14:14:24# PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB MajF MinF Command 5194 root 20 1233 0 R 66M 27M 0 0.06 0.13 19 00:02.79 0 0 0 0 /usr/bin/perl 8 racine 20 2 0 I 0 0 0 0.01 0.00 1 00:01.86 0 0 0 0 rcu_sched 1165 racine 20 866 0 S 103M 7M 0 0.01 0.00 1 00:05.00 0 0 0 sshd:3593 root 20 2 0 I 0 0 0 0.01 0.00 1 00:01.45 0 0 0 0 kworker/0:0 1 root 20 0 0 S 76M 9M 0 0.00 0.00 0 00:10.28 0 0 0 0 /sbin /init 2 racine 20 0 0 S 0 0 0 0.00 0.00 0 00:00.02 0 0 0 0 kthreadd 4 racine 0 2 0 I 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kworker/0:0H 6 racine 0 2 0 I 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 mm_percpu_wq 7 racine 20 2 0 S 0 0 0 0.00 0.00 0 00:02.75 0 0 0 0 ksoftirqd/0 9 racine 20 2 0 I 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 rcu_bh 10 racine RT 2 0 S 0 0 :00.00 0 0 0 0 cpuhp/0 13 racine 20 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kdevtmpfs 14 racine 0 2 0 I 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 netns 15 racine 20 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 rcu_tasks_kthre 16 root 20 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kauditdSurveiller l'utilisation du processeur, de la mémoire et du disque
Vous pouvez surveiller l'utilisation du processeur en exécutant le collectl avec l'option -sc :
collectl -scSortie :
attente 1 seconde échantillon...#<--------cpu-------->#cpu sys inter ctxsw 1 1 461 35 2 2 631 71 11 0 472 109 1 1 552 48 1 1 457 39 0 0 566 46 5 3 572 101 0 0 543 38 1 1 445 40 1 1 591 43 1 1 441 36 0 0 565 51Vous pouvez également voir des informations détaillées sur l'utilisation du processeur avec la commande suivante :
collectl -sCSortie :
attente d'un échantillon de 1 seconde...# STATISTIQUES CPU UNIQUE# Utilisateur CPU Nice Sys Wait IRQ Soft Steal Guest NiceG Idle 0 2 0 3 0 0 0 0 0 0 94 0 0 0 1 0 0 0 0 0 0 98 0 0 0 1 0 0 0 0 0 0 98 0 0 0 0 0 0 1 0 0 0 98 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 100 0 1 0 1 0 0 0 0 0 0 97 0 0 0 0 0 0 0 0 0 0 100 0 0 0 1 1 0 1 0 0 0 96 0 0 0 0 0 0 0 0 0 0 100 0 0 0 1 0 0 0 0 0 0 98Pour surveiller l'utilisation de la mémoire de votre système, exécutez la commande suivante :
collectl -smSortie :
en attente d'un échantillon d'une seconde...#<-----------mémoire----------->#Free Buff Cach Inac Slab Map 139M 63M 573M 413M 93M 136M 139M 63M 573m 413m 93M 136M 139M 63M 573m 413m 93M 136M 139M 63M 573m 413m 93M 136M 139M 63M 573m 413m 93M 136M 139M 63M 573m 413m 93M 136M 139M 63M 573m 413m 93M 136M 139M 63M 573m 413m 93M 136M 139M 63M 573m 413m 93M 136MSurveillez l'utilisation de la mémoire avec des informations détaillées avec la commande suivante :
collectl -sMSortie :
attente pendant 1 seconde échantillon ... #Fichier STATISTIQUES # Noeud Total utilisé libre Slab mappée Anon AnonH Locked Inact HitPct 0 985M 866844K 142800K 95928K 46160K 93416K 0 5408K 423952K 100,00 0 985M 866844K 142800K 95928K 46160K 93416K 0 5408K 423952K 100,00 0 985M 866844K 142800K 95928K 46160K 93416K 0 5408K 423952K 100,00 0 985M 866844K 142800K 95928K 46160K 93416K 0 5408K 423952K 100,00 0 985M 866844K 142800K 95928K 46160K 93416K 0 5408K 423952K 100,00 0 985M 866844K 142800K 95928K 46160K 93416K 0 5408K 423952K 100,00 0 985M 866968K 142676K 95928K 46160K 93416K 0 5408K 423952K 100,00Vous pouvez surveiller l'utilisation du disque avec la commande suivante :
collectl -sdSortie :
attente d'un échantillon de 1 seconde...#<----------disks----------->#KBRead Lit KBWrit Ecrit 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 2Surveillez l'utilisation du disque avec des informations détaillées avec la commande suivante :
collectl -sDSortie :
attente d'un échantillon de 1 seconde...# DISK STATISTICS (/sec)# <---------reads---------------><--- ------écritures--------------><--------moyennes--------> Pct#Nom Ko Taille des E/S fusionnées Attente Ko E/S fusionnées Taille Attente RWSize QLen Attente SvcTim Utilsda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sda 0 0 0 0 0 20 1 1 20 0 20 0 0 0 0sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Surveiller le processeur, la mémoire et le disque à la fois
Vous pouvez surveiller l'utilisation du processeur, de la mémoire et du disque en exécutant la commande unique :
collectl -scmdSortie :
attend 1 seconde échantillon...#<--------cpu--------><-----------mémoire------ -----><----------disks----------->#cpu sys inter ctxsw Free Buff Cach Inac Slab Map KBRead Reads KBWrit Writes 1 0 518 43 140M 63M 573M 413M 93M 135M 0 0 0 0 7 2 509 104 140M 63M 573M 413M 93M 135M 0 0 20 1 3 1 518 52 140M 63M 573M 413M 93M 135M 0 0 0 0 1 1 445 43 140M 63M 573M 413M 93M 135M 0 0 0, 0 2 1 482 51 140M 63M 573M 413M 93M 135M 0 0 0 0 1 1 535 56 140M 63M 573M 413M 93M 135M 0 0 0 0 3 1 499 48 140M 63M 573M 413M 93M 135M 0 0 0 2 1 482 53 140M 63M 573M 413M 93M 135M 0 0 20 2Conclusion
Dans l'article ci-dessus, j'ai fourni un bref aperçu de collectl. Collectl est livré avec de nombreuses options qui facilitent la surveillance de votre système Linux.