Pemantauan TCP pada server: membandingkan netstat vs lsof?

12

Saya sedang memantau TCP stack pada server berharap untuk secara umum menyimpulkan masalah dengan aplikasi pada kotak.

Kecenderungan pertama saya adalah mengukur jumlah soket di semua negara yang dilaporkan (MENDENGARKAN, MENDIRIKAN, FIN_WAIT2, TIME_WAIT, dll) dan mendeteksi beberapa anomali.

Rekan satu tim menyarankan bahwa 'lsof' akan menjadi alat yang lebih baik untuk melihat status tumpukan TCP.

Adakah preferensi atau kiat pengalaman dari kerumunan serverfault?

ericslaw
sumber
3
Silakan tambahkan tag * nix untuk menakut-nakuti kami Geeks Windows
KevinH

Jawaban:

7

Saya lebih suka lsof karena outputnya konsisten di semua platform yang menjalankannya. Anda bisa mendapatkan info yang sama dari kedua program. Saya pikir ini karena preferensi pribadi.

Geoff Fritz
sumber
2

Implikasi pertama saya adalah menggunakan netstat -ptanyang akan memberi Anda semua informasi yang Anda cari. Mungkin pipa untuk mengurutkan dan unik. Yang berikut ini akan memberi Anda banyak status soket '.

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

Suroot
sumber
1

Lihatlah dstat dan jalankan dengan:

% sudo dstat --tcp

Lebih baik lagi, jika Anda ingin menganalisis output, Anda dapat membuatnya menulis ke CSV dengan --output.

Tim
sumber
Alat yang menarik, sayangnya hanya linux (meskipun bisa dimengerti) Senang melihat sesuatu yang mirip dengan SAR yang menyertakan info jaringan (meskipun versi linux sar juga menunjukkan hal itu).
ericslaw
1

Saya pikir ini benar-benar lebih dari preferensi pribadi, karena dengan sedikit penyesuaian (dan opsi perintah yang tepat) Anda bisa mendapatkan informasi yang sama dari keduanya.

Namun, jika Anda ingin memantau jumlah koneksi di berbagai negara, saya tidak akan melakukannya dengan alat baris perintah sekali pakai. Saya akan menggunakan sesuatu yang dapat melakukan tren sehingga Anda dapat memeriksanya dari waktu ke waktu. Sesuatu seperti munin akan sangat berguna, karena akan membuat grafik dari waktu ke waktu (bersama dengan menunjukkan kepada Anda statistik sistem yang berpotensi bermanfaat lainnya).

Memecahkan masalah aplikasi selalu lebih mudah jika Anda memiliki informasi yang baik tentang kotak itu sendiri dan bagaimana kinerjanya (baik selama masalah dan ketika masalah tidak ada).

Christopher Cashell
sumber
Alat baris perintah hanya untuk koleksi. Maksud Anda mengumpulkan data untuk baseline adalah pendekatan propr.
ericslaw