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?
Jawaban:
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.
sumber
Implikasi pertama saya adalah menggunakan
netstat -ptan
yang 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
sumber
Lihatlah dstat dan jalankan dengan:
Lebih baik lagi, jika Anda ingin menganalisis output, Anda dapat membuatnya menulis ke CSV dengan --output.
sumber
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).
sumber