1. Résumé de la surveillance
Pour assurer une haute disponibilité des serveurs Linux, il est nécessaire de les surveiller efficacement et de comprendre l'état de fonctionnement des serveurs en réel Si les indicateurs de performance sont normaux, pour éviter les problèmes avant qu'ils ne surviennent, l'enregistrement des journaux d'exploitation et de maintenance, la surveillance graphique et les mécanismes d'alarme de message pour les occurrences de problèmes sont tous des conditions préalables pour garantir que le serveur Linux peut fournir des services normaux au monde extérieur.
La surveillance est un élément important de la prévention. Permettez-moi d’abord de parler de ce que je dois surveiller. La charge du système, l'utilisation du processeur, l'utilisation de la mémoire, l'espace disque, le trafic réseau, les ports, les processus, le nombre de connexions à Apache ou Tomcat et l'état d'exécution de MySQL sont autant d'éléments qui doivent être surveillés. Pour comprendre l'état de fonctionnement global du serveur à tout moment, il est difficile d'y parvenir en s'appuyant uniquement sur quelques commandes de surveillance des performances intégrées à Linux. Par conséquent, l’utilisation de scripts shell et d’outils de surveillance open source pour la surveillance des serveurs est devenue les deux principales options.
Tout d'abord, vous devez comprendre certaines commandes courantes pour la surveillance des serveurs Linux et les scripts de surveillance écrits par ces commandes. Enfin, certains outils de surveillance open source matures le sont également. nécessaire.
1) [iostat] : La commande iostat est utilisée pour afficher des informations détaillées sur le sous-système de stockage et est généralement utilisée pour surveiller les conditions d'E/S du disque .
2) [meminfo et gratuit] : cat /proc/meminfo gratuit
3) [mpstat] : Outil de surveillance du système en temps réel, dans un système multi-CPU, il peut non seulement afficher la moyenne de toutes les informations sur l'état des processeurs et afficher des informations spécifiques sur le processeur
4) [netstat] : affiche une grande quantité d'informations liées au réseau
5) [nmon] : Open source outil pour surveiller les performances des systèmes Linux, téléchargement et installation
6) [pmap] : La commande pmap est utilisée pour signaler les détails de la mémoire occupée par chaque processus. Elle peut être utilisée pour voir si un processus a été dépassé. . Cette commande nécessite l'identifiant du processus comme paramètre.
7) [ps pstree] : ps vous indique la mémoire et le temps de traitement CPU occupés par chaque processus, et pstree affiche les dépendances entre les processus dans une structure arborescente, y compris les informations sur les processus enfants
8 ) [sar] : sar peut être utilisé pour afficher l'utilisation du processeur, les données de la page mémoire, les statistiques d'E/S réseau et de transmission, l'activité de création de processus et les détails de l'activité du périphérique de disque.
9) [strace] : outils de processus de diagnostic, tels que strace ls, mais le processus diagnostiqué ralentira
10) [tcpdump] Outil de surveillance du réseau, utilisé pour l'analyse de base du protocole. quels processus utilisent le réseau et comment.
11) [uptime] : Cette commande vous indique combien de temps ce serveur a fonctionné depuis son démarrage
12) [vmstat] pour surveiller la mémoire virtuelle
13) [Wireshark] : Il s'agit d'un programme de détection de protocole réseau qui vous permet de capturer des informations pertinentes sur les sites Web en cours d'exécution via le programme
14) [dstat] Outil de statistiques de ressources multi-types : Cette commande intègre vmstat Il y en a trois. commandes : iostat et ifstat
15) [htop] : Un top plus convivial Pour la différence entre les deux, voir : "Comparaison entre htop et top"
16) [ss] : Utilisé les statistiques de socket d'enregistrement, il peut afficher des informations similaires à netstat, et peut également afficher plus d'informations TCP et d'état
17) [lsof] : liste des fichiers ouverts
18 ) [iftop] est un autre programme de premier ordre basé sur les informations du réseau. Il peut afficher l'état actuel de la connexion réseau trié par utilisation de la bande passante ou par volume de téléchargement ou de téléchargement
Quatre scripts sont fournis ici (surveillance des performances performance.sh, processus. sh, surveillance du trafic network.sh, analyse et statistiques du trafic tongji.sh), et utilisez crontab pour exécuter régulièrement des scripts pour enregistrer les données de surveillance, former des journaux de surveillance quotidiens et les placer dans les dossiers correspondants suivants, et dépasser vos propres paramètres après En recevant la valeur de l'alarme, une notification par e-mail sera envoyée. Pour les boîtes aux lettres dotées d'une fonction de notification SMS gratuite, telles que la boîte aux lettres d'entreprise Tencent et la boîte aux lettres 163, vous pouvez l'essayer. Après avoir reçu l'alarme par e-mail, vous recevrez bientôt le SMS, ce qui est le cas. très pratique.
Adresse GitHub du code :
La capture d'écran du code est la suivante, il y en a quatre
Adresse GitHub du code :
La capture d'écran du code est la suivante
Adresse GitHub du code :
La capture d'écran du code est la suivante :
Adresse GitHub du code :
La capture d'écran du code est la suivante :
[Cacti] : Cactus est un ensemble d'outils de surveillance basés sur PHP, MySQL, outil d'analyse graphique de surveillance du trafic réseau développé par SNMP et RRDTool.
【Nagios】 : Nagios est un système de surveillance qui surveille l'état de fonctionnement du système et les informations du réseau. Peut surveiller des hôtes et des services locaux ou distants spécifiés, et fournir des fonctions de notification d'exception, etc.
【Zabbix】 : En plus de surveiller divers paramètres réseau, Zabbix garantit que le serveur En plus du fonctionnement sécurisé du système, il peut également fournir des mécanismes de notification tels que SMS, e-mail, jabber, etc. pour permettre aux administrateurs système de localiser/résoudre rapidement divers problèmes existants. En gros, il peut réaliser les fonctions de cactus+nagios
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!