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.

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 distriggersre correttamente o riavviare un server Unix / Linux
  • Comando Shell per rimuovere l'estensione dei file
  • Impostare il fuso orario UTC in un'installazione automatica
  • Perché non puoi fsck una partizione montata?
  • Come faccio a determinare la dimensione del block di una partizione ext3 su Linux?
  • Imansible accedere a un server Linux con nuovo utente
  • Qual è la pronuncia più utilizzata della directory Unix / etc?
  • Come posso trovare e segnalare automaticamente i collegamenti simbolici rotti?
  • 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.