ตรวจสอบ TCP บนเซิร์ฟเวอร์: เปรียบเทียบ netstat กับ lsof?


12

ฉันกำลังตรวจสอบ TCP สแต็กบนเซิร์ฟเวอร์หวังว่าจะอนุมานปัญหาทั่วไปเกี่ยวกับแอปพลิเคชันในกล่อง

ความโน้มเอียงแรกของฉันคือการวัดจำนวนซ็อกเก็ตในทุกสถานะที่รายงาน (LISTEN, ESTABLISHED, FIN_WAIT2, TIME_WAIT ฯลฯ ) และตรวจสอบความผิดปกติบางอย่าง

เพื่อนร่วมทีมแนะนำว่า 'lsof' จะเป็นเครื่องมือที่ดีกว่าในการดูว่าสแต็ก TCP อยู่ในสถานะใด

การตั้งค่าหรือเคล็ดลับประสบการณ์จากฝูงชน serverfault หรือไม่


3
กรุณาเพิ่มแท็กระวัง * จะฝ่อไป geeks เราใช้ Windows
KevinH

คำตอบ:


7

ฉันชอบ lsof เพราะผลลัพธ์มันสอดคล้องกันในทุกแพลตฟอร์มที่รัน คุณสามารถรับข้อมูลเดียวกันจากทั้งสองโปรแกรมได้ ฉันคิดว่ามันเป็นความชอบส่วนตัว


2

ความหมายแรกของฉันคือการใช้netstat -ptanซึ่งจะให้ข้อมูลทั้งหมดที่คุณต้องการ อาจไปป์ที่จะเรียงและ uniq ต่อไปนี้ควรให้สถานะซ็อกเก็ตของคุณในระดับที่ดี '

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


1

ลองดูdstatและรันด้วย:

% sudo dstat --tcp

ยิ่งไปกว่านั้นถ้าคุณต้องการวิเคราะห์ผลลัพธ์คุณสามารถให้มันเขียนลงใน CSV ด้วย - เอาท์พุท


เครื่องมือที่น่าสนใจอนิจจาลินุกซ์เท่านั้น (แม้ว่าจะเข้าใจได้) ยินดีที่ได้เห็นสิ่งที่คล้ายกับ SAR ที่มีข้อมูลเครือข่าย (แม้ว่า linux sar เวอร์ชันดูเหมือนจะแสดงเช่นกัน)
ericslaw

1

ฉันคิดว่ามันเป็นเรื่องของความชอบส่วนตัวเช่นเดียวกับ tweaking เล็กน้อย (และตัวเลือกคำสั่งที่ถูกต้อง) คุณสามารถได้รับข้อมูลเดียวกันจากทั้งสองอย่าง

อย่างไรก็ตามหากคุณต้องการตรวจสอบจำนวนการเชื่อมต่อในสถานะต่าง ๆ ฉันจะไม่ทำเช่นนั้นด้วยเครื่องมือบรรทัดคำสั่งช็อตเดียว ฉันจะใช้ประโยชน์จากสิ่งที่สามารถทำให้มีแนวโน้มเพื่อให้คุณสามารถตรวจสอบเมื่อเวลาผ่านไป บางอย่างเช่นมินนินจะมีประโยชน์มากอย่างที่มันกราฟเมื่อเวลาผ่านไป (พร้อมกับแสดงสถิติระบบที่มีประโยชน์อื่น ๆ ให้คุณดู)

การแก้ไขปัญหาแอปพลิเคชันจะง่ายกว่าเสมอหากคุณมีข้อมูลที่ดีเกี่ยวกับตัวกล่องและวิธีการทำงานของมัน (ทั้งในระหว่างปัญหาและเมื่อไม่มีปัญหา)


เครื่องมือบรรทัดคำสั่งมีไว้สำหรับการรวบรวมเท่านั้น จุดของการรวบรวมข้อมูลสำหรับข้อมูลพื้นฐานเป็นวิธีการที่ดีที่สุด
ericslaw
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.