Score:2

มีวิธีรับเมตริก CPS และ Thruoghput ใน Linux หรือไม่

ธง aq

ฉันต้องการวิเคราะห์ปริมาณงานเครือข่ายของเซิร์ฟเวอร์ Debian 9 เพื่อตรวจหาการโอเวอร์โหลดของเครือข่ายที่เป็นไปได้

เมตริกหลักที่ฉันต้องวิเคราะห์คือ:

  • CPS (การเชื่อมต่อต่อวินาที)
  • ปริมาณงาน

มีวิธีรับเมตริกเหล่านี้จากภายใน Linux หรือไม่
ฉันคิดว่าเมตริก CPS สามารถหาได้จาก conntrack ใหม่ คอนเนคชั่นแต่ไม่แน่ใจว่าวิธีนี้จะเหมาะสมที่สุด..

ขออภัยหากชัดเจน

ป.ล. เซิร์ฟเวอร์นี้ไม่เพียงแต่จัดการทราฟฟิกในเครื่องเท่านั้น แต่ยังส่งต่อทราฟฟิกจำนวนมากอีกด้วย

djdomi avatar
za flag
มีซอฟต์แวร์จำนวนมากที่สามารถใช้ตรวจสอบเครือข่ายได้ เป้าหมายที่คุณต้องการแก้ไขคืออะไร?
narotello avatar
aq flag
@djdomi ฉันพูดถึงคำถามของฉันว่าฉันต้องการตรวจจับ DoS โดยสัญญาณทางอ้อม และฉันต้องการให้มันทำจากภายในระบบปฏิบัติการของเซิร์ฟเวอร์ของฉัน
djdomi avatar
za flag
ในกรณีที่มีการร้องขอไปยังเว็บเซิร์ฟเวอร์ ip ใด ๆ ที่ส่งคำขอจำนวนมากสามารถเป็นผู้โจมตีได้
narotello avatar
aq flag
@djdomi โอเค แต่นี่ไม่เกี่ยวข้องโดยตรงกับวิธีการรับเมตริก CPS และ Througput นี่เป็นเพียงการสะท้อนหัวข้อของการโจมตี DoS
djdomi avatar
za flag
การสนทนาด้านความปลอดภัยไม่เหมาะสมกับ serverfault.com มีไซต์พิเศษสำหรับสิ่งนั้น คุณสามารถสร้างไฟล์ด้วย Wireshark เพื่อยืนยันสิ่งนั้นได้ แต่ตราบใดที่คุณเก็บคำถามของคุณโดยทั่วไป มันจะไม่ได้คำตอบที่ดี
narotello avatar
aq flag
@djdomi คำถามไม่เกี่ยวกับความปลอดภัย แต่เกี่ยวกับเมตริกประสิทธิภาพ *"คุณสามารถสร้างไฟล์ด้วย Wireshark เพื่อยืนยันว่า"* - เพื่อยืนยันอะไร คุณกำลังพูดถึงอะไร
Score:2
ธง cn

ฉันคิดว่ามันเพียงพอแล้วที่จะอธิบายที่มาของเมตริกเหล่านี้ตาม Linux API ดั้งเดิม


ปริมาณงาน

โดยวิธีการที่ ปริมาณงาน เมตริกโดยทั่วไปคือบางสิ่ง นั่นคือ ภายนอก เกี่ยวกับวัตถุการทดสอบ (OS Linux ที่คุณกำลังพูดถึง) เช่น. พูดอย่างคร่าว ๆ เรามีโฮสต์สองโฮสต์ (เช่น ไคลเอนต์และเซิร์ฟเวอร์) และวัตถุการทดสอบระหว่างพวกเขา เราส่งทราฟฟิกเครือข่ายระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ และบันทึกปริมาณงาน (ขอบเขต) ของวัตถุทดสอบ (เช่น ด้วย ไอเพอร์ฟ).
แต่จากภายใน OS Linux วิธีง่ายๆ ที่เราสามารถวัดปริมาณงานได้คือต่ออินเทอร์เฟซเท่านั้น
ดังนั้นคุณสามารถดูได้ /proc/net/dev และคำนวณหา เดลต้าของไบต์ต่อวินาที:

sh-tst# cat /proc/net/dev 
อินเตอร์-| รับ | ส่ง
 face |ไบต์แพ็กเก็ต errs drop fifo frame บีบอัดมัลติคาสต์|bytes packets errs drop fifo colls พาหะบีบอัด
    เลย: 87016202 715723 0 0 0 0 0 0 87016202 715723 0 0 0 0 0 0
  eth3: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  eth2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  eth1: 246415305 2899662 0 132906 0 0 0 230 5466117 19016 0 0 0 0 0 0
  เอท0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ซีพีเอส

สิ่งเดียวกันสำหรับเมตริก CPS โดยทั่วไปเป็นการวัดภายนอก แต่จากภายใน Linux ของคุณ คุณสามารถลองคำนวณตาม /proc/net/stat/ip_conntrack:

sh-tst# แมว /proc/net/stat/ip_conntrack 
รายการที่ค้นหา พบใหม่ ไม่ถูกต้อง เพิกเฉย ลบ delete_list แทรก insert_failed ดรอป early_drop icmp_error คาดหวัง_ใหม่ คาดหวัง_สร้าง คาดหวัง_ลบ ค้นหา_เริ่มใหม่
000000F8 00001742 0003142F 0001E85A 00000079 00021333 0001E6CF 00003A3D 00003BC5 00000000 00000000000000000000000000000000000000000000000000000000000000000000000000
000000F8 00002389 0005F1A0 0003B6F3 00000085 0004286F 0003B59E 00003CEA 00003E3F 00000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000F8 000002C0 00037A77 00000714 00000000 000382CB 00000825 00000724 00000616 00000000 00000000 00000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000F8 00000225 00026CF9 00000271 00000000 00026E48 00000348 000002BD 000001E6 00000000 00000000 00000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

จาก อินสแตท(8) ผู้ชาย:

/proc/net/stat/ip_conntrack, /proc/net/stat/nf_conntrack ตัวนับที่เกี่ยวข้องกับ Conntrack ip_conntrack ใช้สำหรับย้อนกลับ ความเข้ากันได้กับพื้นที่ผู้ใช้รุ่นเก่าเท่านั้นและแสดงผลเหมือนกัน ข้อมูลเป็น nf_conntrack

...

ใหม่ จำนวนรายการ conntrack ที่เพิ่มซึ่งไม่ได้เพิ่ม คาดไว้ก่อน.

ในการติดตามการเชื่อมต่อ Linux:

ใหม่ - หมายความว่าแพ็คเก็ตได้เริ่มต้นการเชื่อมต่อใหม่แล้ว หรือ มิฉะนั้นเกี่ยวข้องกับการเชื่อมต่อที่ไม่เห็นแพ็กเก็ต ทั้งสองทิศทางและ

ดูเหมือนว่าคุณต้องการคำนวณ เดลต้า ใหม่ ต่อวินาที.

อ่านเพิ่มเติม:

Score:0
ธง in

คำสั่ง sar ที่มาพร้อมกับ sysstat จะทำทั้งสองอย่าง

เพื่อตรวจสอบการเชื่อมต่อต่อวินาที ซาร์ -n TCP 1

active/s คือการเชื่อมต่อ TCP ขาออก passive/s คือการเชื่อมต่อ TCP ขาเข้า

สำหรับ UDP ซาร์ -n UDP 1

เพื่อดูปริมาณงานเครือข่าย sar -n DEV (เลือกที่จะเพิ่ม 1 เพื่อตรวจสอบปัจจุบันต่อวินาที)

narotello avatar
aq flag
*"active/s คือการเชื่อมต่อ TCP ขาออกแบบพาสซีฟ/s คือการเชื่อมต่อ TCP ขาเข้า"* - แต่ฉันจะได้รับการเชื่อมต่อการขนส่ง (ส่งต่อ) ได้อย่างไร
narotello avatar
aq flag
ทั้ง `sar -n enp5s0` และ `sar -n enp5s0 1` ไม่ทำงาน ดูเหมือนตัวเลือกที่ไม่ถูกต้อง: `การใช้งาน: sar [ ตัวเลือก ] [ [ ] ] ตัวเลือกคือ:`...
narotello avatar
aq flag
นอกจากนี้ สำหรับ UDP ดูเหมือนว่าจะแสดงดาตาแกรมต่อวินาที แต่ไม่ใช่ทุกดาตาแกรมที่แสดงถึงการเชื่อมต่อใหม่ การเชื่อมต่อ UDP หมดเวลา ดังนั้นดาตาแกรมทั้งหมดภายใต้การหมดเวลานี้จึงเป็นของการเชื่อมต่อเดียวกัน โดยทั่วไป วิธีการของคุณจะแสดง **แพ็คเก็ตต่อวินาที** บนชั้นการขนส่ง และเฉพาะ **ท้องถิ่น** (เข้า/ออก) **แพ็คเก็ต**
dubs avatar
in flag
DEV เป็นตัวอักษร เช่น sar -n DEV ไม่ใช่ sar -n . sar -n IP มี fwddgm/s หากเหมาะสมกว่า
narotello avatar
aq flag
*"DEV เป็นตัวอักษรเช่น sar -n DEV"* - โอเค ขอบคุณ `fwddgm/s` - น่าเสียดายที่ไม่ใช่เมตริก CPS แต่น่าจะเป็น PPS มากกว่า - แพ็กเก็ตต่อวินาที

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา