Monitoraggio TCP su un server: confronto netstat vs lsof?

Sto monitorando lo stack TCP su un server sperando di generare genericamente problemi con l'applicazione sul box.

La mia prima inclinazione è misurare il numero di socket in tutti gli stati segnalati (LISTEN, ESTABLISHED, FIN_WAIT2, TIME_WAIT, ecc.) E rilevare alcune anomalie.

  • Strumento / command Linux per controllare le performance del file system
  • Aggiungi un'eco al file?
  • SSH - Come triggersre l'invio X sulla connessione normale
  • Dovrebbero i siti web vivere in / var / or / usr / secondo l'uso consigliato?
  • SmartSVN - imansible creare un nuovo profilo di repository
  • Qual è il modo migliore per fornire una password per automatizzare un backup?
  • Un compagno di squadra suggerisce che 'lsof' sarebbe uno strumento migliore per vedere quali stati gli stack di TCP.

    Qualche preferenza o suggerimenti di esperienza dalla folla serverfault?

  • Eseguire uno script bash dopo gli stili di istanza EC2
  • Posso creare e manipolare schermi unix in uno script?
  • Proiettore DL360 G6 di HP proietta la mancanza di ventilatore
  • Come posso impostare IP su FC?
  • È ansible avere più server scrivibili e autorevoli di BIND DNS per la stessa zona, come DNS integrato AD?
  • Comprensione delle diverse size della directory
  • 4 Solutions collect form web for “Monitoraggio TCP su un server: confronto netstat vs lsof?”

    Preferisco la lsof perché la sua produzione è coerente in tutte le piattaforms su cui funziona. Puoi praticamente get le stesse informazioni da entrambi i programmi, però. Penso che scenda a preferenze personali.

    La mia prima implicazione sarebbe quella di utilizzare netstat -ptan che vi darà tutte le informazioni che stai cercando. Probabilmente il pipe per ordinare e uniq. Di seguito è riportto un buon numero di socket status '.

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

    Controlla dstat ed esegui con:

     % sudo dstat --tcp 

    Ancora meglio, se si desidera analizzare l'output, è ansible che lo scrivi a CSV con -output.

    Penso che sia davvero più di una preferenza personale, come con un piccolo tweaking (e le opzioni di command giuste) è ansible get circa le stesse informazioni da entrambi.

    Tuttavia, se si desidera monitorare il numero di connessioni in vari stati, non lo farei con uno strumento di row di command con un solo colpo. Vorrei fare uso di qualcosa che possa fare qualche tendenza in modo da poterle rivedere nel tempo. Qualcosa di simile a munin sarebbe molto utile, in quanto potrebbe farcela nel tempo (insieme a mostrare altre statistiche di sistema potenzialmente utili).

    La risoluzione dei problemi di un'applicazione è sempre più facile se si dispone di buone informazioni sulla casella stessa e su come si esegue (sia durante i problemi che quando i problemi sono assenti).

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.