Ich überwache den TCP-Stack auf einem Server in der Hoffnung, generisch auf Probleme mit der Anwendung auf der Box schließen zu können.
Meine erste Neigung besteht darin, die Anzahl der Steckdosen in allen gemeldeten Zuständen (LISTEN, ESTABLISHED, FIN_WAIT2, TIME_WAIT usw.) zu messen und einige Anomalien festzustellen.
Ein Teamkollege schlägt vor, dass 'lsof' ein besseres Tool ist, um den Status der TCP-Stacks zu ermitteln.
Irgendwelche Vorlieben oder Erfahrungstipps von der Serverfault-Crowd?
Antworten:
Ich bevorzuge lsof, weil die Ausgabe auf allen Plattformen, auf denen es ausgeführt wird, konsistent ist. Sie können jedoch so ziemlich die gleichen Informationen aus beiden Programmen erhalten. Ich denke, es kommt auf die persönlichen Vorlieben an.
quelle
Meine erste Implikation wäre zu verwenden,
netstat -ptan
die Ihnen alle Informationen geben wird, die Sie suchen. Wahrscheinlich Pipe zu sortieren und einzigartig. Das Folgende sollte Ihnen eine gute Anzahl von Socket-Status geben.netstat -ptan | awk '{print $6 " " $7 }' | sort | uniq -c
quelle
Schauen Sie sich dstat und laufen mit:
Wenn Sie die Ausgabe analysieren möchten, können Sie sie sogar mit --output in CSV schreiben lassen.
quelle
Ich denke, es ist wirklich eher eine persönliche Vorliebe, da Sie mit ein wenig Optimierung (und den richtigen Befehlsoptionen) von beiden nur ungefähr die gleichen Informationen erhalten können.
Wenn Sie jedoch die Anzahl der Verbindungen in verschiedenen Zuständen überwachen möchten, würde ich dies nicht mit einem einzigen Befehlszeilenprogramm tun. Ich würde etwas gebrauchen, das einige Trends kann, damit Sie es im Laufe der Zeit überprüfen können. So etwas wie Munin wäre sehr nützlich, da es es im Laufe der Zeit grafisch darstellen würde (zusammen mit anderen potenziell nützlichen Systemstatistiken).
Die Fehlerbehebung bei einer Anwendung ist immer einfacher, wenn Sie gute Informationen über die Box selbst und deren Leistung haben (sowohl bei Problemen als auch bei fehlenden Problemen).
quelle