Surveillance TCP sur un serveur: comparer netstat vs lsof?

12

Je surveille la pile TCP sur un serveur en espérant déduire de manière générique des problèmes d'application sur la boîte.

Ma première inclination est de mesurer le nombre de sockets dans tous les états rapportés (LISTEN, ESTABLISHED, FIN_WAIT2, TIME_WAIT, etc.) et de détecter certaines anomalies.

Un coéquipier suggère que «lsof» serait un meilleur outil pour voir dans quel état se trouvent les piles TCP.

Des préférences ou des conseils d'expériences de la part des erreurs de serveur

ericslaw
la source
3
Veuillez ajouter une balise * nix pour nous effrayer les geeks de Windows
KevinH

Réponses:

7

Je préfère lsof car sa sortie est cohérente sur toutes les plates-formes sur lesquelles elle s'exécute. Cependant, vous pouvez à peu près obtenir les mêmes informations des deux programmes. Je pense que cela se résume à des préférences personnelles.

Geoff Fritz
la source
2

Ma première implication serait d'utiliser netstat -ptance qui vous donnera toutes les informations que vous recherchez. Tuyau probablement pour trier et uniq. Ce qui suit devrait vous donner un bon nombre de statuts de socket '.

netstat -ptan | awk '{print $6 " " $7 }' | sort | uniq -c

Suroot
la source
1

Découvrez dstat et exécutez avec:

% sudo dstat --tcp

Encore mieux, si vous souhaitez analyser la sortie, vous pouvez la faire écrire en CSV avec --output.

Tim
la source
Outil intéressant, hélas linux uniquement (bien que cela soit compréhensible). Ravi de voir quelque chose de semblable au SAR qui inclut des informations sur le réseau (bien que les versions de linux sar semblent le montrer aussi).
ericslaw
1

Je pense que c'est vraiment plus une préférence personnelle, car avec un peu de peaufinage (et les bonnes options de commande), vous pouvez obtenir à peu près les mêmes informations.

Cependant, si vous souhaitez surveiller le nombre de connexions dans différents états, je ne le ferais pas avec un outil de ligne de commande à un coup. Je ferais usage de quelque chose qui peut faire des tendances afin que vous puissiez l'examiner au fil du temps. Quelque chose comme munin serait très utile, car il le représenterait au fil du temps (en plus de vous montrer d'autres statistiques système potentiellement utiles).

Le dépannage d'une application est toujours plus facile si vous avez de bonnes informations sur la boîte elle-même et son fonctionnement (à la fois pendant les problèmes et lorsque les problèmes sont absents).

Christopher Cashell
la source
L'outil de ligne de commande est destiné à la collecte uniquement. Votre point de collecte de données pour une référence est en effet l'approche propr.
ericslaw