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.

  • Desktop remoto di Linux con l'authentication di nome utente / password
  • Nascondere l'output di un command shell solo al successo?
  • sintonizzare le impostazioni della cache di linux per la memorizzazione nella cache inode
  • IP specifici specifici su VPS
  • MySQL: max_allowed_packet Più di 1 GB è ansible?
  • Come creare un sistema Debian ridondante avviabile con un disco software da 3 o 4 (o più) raid10?
  • 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?

  • Come faccio a passare il file di credenziali a mount.cifs?
  • Login di root root
  • Miglior pratica o generalmente il modo migliore per impostare server web hosting, autorizzazioni, ecc
  • La console Linux è inutilizzabile quando il server LDAP è in discesa
  • Router Linux con 4 NIC non funzionanti
  • Come automatizzare il process di kinit per get TGT per Kerberos?
  • 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.