Souvent, les amis engagés dans la maintenance des serveurs espèrent disposer d'une plate-forme de surveillance des performances des serveurs capable de fournir une vue d'ensemble, afin de pouvoir comprendre la dynamique de fonctionnement des serveurs de l'entreprise en temps réel. Il existe actuellement de nombreuses plateformes tierces de surveillance des performances du réseau sur le marché, telles qu'Alibaba Cloud, Tencent Cloud, Linode, Vultr et d'autres fournisseurs d'hébergement VPS disposant de leurs propres services de surveillance des performances des serveurs.
Si vous créez votre propre plate-forme de surveillance de serveur, vous pouvez essayer les outils d'analyse des journaux de serveur que nous avons partagés auparavant : ngxtop et GoAccess, qui peuvent nous aider à visualiser les anomalies du serveur du point de vue de l'analyse des journaux de serveur. Vous pouvez également utiliser l'outil Smokeping pour surveiller l'état de la ligne réseau du serveur, comme le ping conventionnel, la fouille, l'écho, le curl, etc.
Cet article partagera deux excellents outils de surveillance de serveur : l'un est le PHP proof-x-prober open source gratuit. Il existe de nombreuses sondes PHP sur Internet, mais x-prober convient aux « amateurs de beauté » ; l'autre est Netdata, un outil de surveillance en temps réel des performances du serveur Linux avec une interface sympa et un style élégant. Ces deux types de surveillance peuvent grandement améliorer les performances des travaux d’exploitation et de maintenance.
Pour plus de commandes et d’outils de surveillance des performances du serveur et du réseau, voici :
- Résumé des commandes de surveillance du système Linux : processeur principal, mémoire, E/S disque, etc. pour détecter les goulots d'étranglement des performances
- Installation et configuration de Smokeping - outil de surveillance des performances du réseau open source gratuit, déploiement visuel maître/esclave
- Outils d'analyse des logs du serveur : ngxtop et GoAccess - surveillance en temps réel et gestion visuelle pour trouver rapidement la source des anomalies
1. Sonde PHP open source gratuite : x-prober
site web:
- Projet : https://github.com/kmvan/x-prober
- Télécharger : https://api.inn-studio.com/download?id=xprober
- Démo : https://tz.inn-studio.com/
Il s'agit d'une sonde PHP qui peut remplacer la sonde Yahei. Elle possède une belle interface, des fonctions simples mais pratiques et convient aux besoins de base des sondes du serveur. (Cliquez pour agrandir)
La sonde x-prober peut afficher l'état du serveur, les statistiques de trafic, les informations sur le serveur, les informations PHP, les extensions PHP, les bases de données, les scores de performances du serveur, etc.
2. Installation et utilisation de l'outil de surveillance en temps réel Linux Netdata
site web:
- Site officiel : https://my-netdata.io/
- Démos : https://my-netdata.io/#demosites
- Page d'accueil : https://github.com/firehol/netdata
2.1 Présentation de la fonction Netdata
Netdata est un outil de surveillance des performances du serveur Linux avec une interface très sympa, des fonctions très puissantes et une installation très simple. Il se met à jour en temps réel, s'installe en un clic, ne nécessite aucune maintenance et affiche les données de surveillance directement dans le navigateur. Netdata collecte des milliers d'indicateurs par seconde, mais ne représente que 1 % d'un seul cœur de processeur, une petite quantité de mémoire et aucune lecture ni écriture d'E/S disque. Comme indiqué ci-dessous : (cliquez pour agrandir)
Netdata surveille de nombreux contenus, notamment :
CPU : utilisation, interruptions, softirqs, fréquence, état total et par cœur du processeur
Mémoire : RAM, utilisation de la mémoire de swap et du noyau, KSM (fusion de pages identiques du noyau), NUMA
Disques : par disque : E/S, opérations, backlog, utilisation, espace, logiciel RAID (md)
Interfaces réseau : par interface : bande passante, paquets, erreurs, abandons
Réseau IPv4, réseau IPv6 : bande passante, paquet, erreur, fragment, tcp : connexion, paquet, erreur, poignée de main, udp : paquet, erreur, diffusion : bande passante, paquet, multicast : bande passante, paquet
Netfilter/iptables Pare-feu Linux : connexions, événements de suivi de connexion, erreurs
Serveurs de fichiers et clients NFS : NFS v2, v3, v4 : E/S, mise en cache, lecture anticipée, appels RPC
Serveurs Web Apache et lighttpd : statut du mod (v2.2, v2.4) et statistiques des journaux de cache pour plusieurs serveurs
Serveur Web Nginx : état du stub pour plusieurs serveurs
Tomcat : accès, threads, mémoire disponible, volumes
Fichiers journaux du serveur Web : extrayez les mesures de performances du serveur Web en temps réel et appliquez plusieurs vérifications de l'état.
Base de données MySQL : plusieurs serveurs, chaque serveur affiche : la bande passante, les requêtes/gestionnaires, les verrous, les problèmes, les opérations tmp, les connexions, les métriques binlog, les threads, les métriques innodb et plus encore
Base de données Postgres : plusieurs serveurs, chaque serveur affiche : statistiques par base de données (connexions, tuples de lecture-écriture renvoyés, transactions, verrous), processus backend, index, tables, écriture anticipée, rédacteurs en arrière-plan, etc.
Base de données Redis : plusieurs serveurs, chaque serveur affiche : opérations, taux de réussite, mémoire, clé, client, serveur esclave
CouchDB : lecture/écriture, méthodes de requête, codes d'état, tâches, réplication, par base de données, etc.
base de données memcached : plusieurs serveurs, chaque serveur affiche : bande passante, connexions, projets
Serveurs de noms NSD : requêtes, zones, protocoles, types de requêtes, transports, etc.
PowerDNS : requêtes, réponses, mise en cache, latence, etc.
Serveur de messagerie Postfix : file d'attente des messages (entrée, taille)
Alimentations sans interruption NUT et APC : charge, capacité, tension de la batterie, température, indicateurs d'utilité, indicateurs de sortie
PHP-FPM : plusieurs instances, chacune rapportant les connexions, les requêtes et les performances
smartd : valeur S.M.A.R.T. du disque
2.2 Méthode d'installation de Netdata
Tous les systèmes Linux peuvent utiliser la méthode suivante pour installer netdata en un seul clic (pas besoin d'utiliser sudo) :
# 基础安装 bash <(curl -Ss https://my-netdata.io/kickstart.sh) # 或者 # 安装所有的组件 bash <(curl -Ss https://my-netdata.io/kickstart.sh) all
La structure des répertoires de Netdata est la suivante :
– le démon dans /usr/sbin/netdata
– les fichiers de configuration dans /etc/netdata
<x2 > – fichiers Web dans /usr/share/netdata
– plugins < x2> dans /usr/libexec/netdata
– fichiers cache dans /var/cache/netdata
< x2> – fichiers de base de données dans /var/lib/netdata
– fichiers journaux <x2 > dans /var/log/netdata
– fichier pid dans /var /run/netdata.pid
– fichier de rotation dans /etc/logrotate.d/netdata
Comme indiqué ci-dessous:
L'invite suivante indique que Netdata a été installé avec succès.
2.3 Opérations d'utilisation de Netdata
Après l'installation, utilisez ip:19999 pour y accéder. Il s'agit de l'interface Netdata. On voit qu'elle est très intuitive. Déroulez la page pour voir diverses données de surveillance. Vous pouvez également cliquer rapidement sur les indicateurs correspondants à droite. voir-le. (Cliquez pour agrandir)
Chaque donnée de surveillance est mise à jour en temps réel et vous pouvez également cliquer avec la souris pour afficher les détails.
Netdata dispose d'une fonction d'importation et d'exportation. Vous pouvez exporter des données de surveillance pendant une certaine période et vous pouvez également importer des données de sauvegarde.
Si vous avez installé plusieurs machines et souhaitez y accéder via un seul navigateur, cliquez sur my-netdata dans le coin supérieur gauche. Cliquez ensuite sur l'icône des trois barres verticales.
Enregistrez l'identifiant d'enregistrement et, lorsque vous rentrez chez vous, entrez et ajoutez simplement chaque identifiant d'enregistrement dans votre navigateur à la maison.
3. Résumé
Le plus gros problème avec la surveillance Netdata est probablement le problème de langue. Actuellement, le site Web officiel est uniquement en anglais et il n'y a pas d'autres langues. Si vous pensez que l'anglais n'a pas l'air bien, vous pouvez le traduire manuellement vous-même. placé dans ce répertoire.
La sonde x-prober est quelque peu similaire à la sonde Yahei en termes de fonctionnalité. Le principal avantage est qu'elle est beaucoup plus belle et peut être utilisée comme substitut à la sonde. Netdata peut être utilisé comme moniteur de serveur au niveau de l'entreprise, mais c'est un peu « inutile » pour un usage personnel.