ฉันมีผู้ใช้เชลล์บางรายบนเซิร์ฟเวอร์ที่มีการถ่ายโอนข้อมูลรายเดือน 300GB ฉันจะตรวจสอบการใช้แบนด์วิดธ์ต่อผู้ใช้อย่างไร
ฉันมีผู้ใช้เชลล์บางรายบนเซิร์ฟเวอร์ที่มีการถ่ายโอนข้อมูลรายเดือน 300GB ฉันจะตรวจสอบการใช้แบนด์วิดธ์ต่อผู้ใช้อย่างไร
คำตอบ:
อย่างน้อยที่สุดคุณสามารถวัดทราฟฟิกขาออกบนพื้นฐานต่อผู้ใช้โดยใช้โมดูล "owner" ของ iptables หากผู้ใช้ทั้งหมดที่คุณต้องการตรวจสอบอยู่/root/list-of-users.txt
คุณสามารถทำได้:
for login in $(cat /root/list-of-users.txt);
do
iptables -N out_user_$login
iptables -A OUTPUT -m owner --uid-owner $(id -u $login) -j out_user_$login
done
จากนั้นแพ็คเก็ตและไบต์จะนับสำหรับทราฟฟิกขาออกของผู้ใช้แต่ละราย:
iptables -L OUTPUT -n -v | grep out_
สิ่งนี้สามารถขยายเพิ่มเติมได้ด้วย CONNMARK เพื่อติดตามด้านขาเข้าด้วย
ฉันเพิ่งเจอNetHogs :
NetHogs เป็นเครื่องมือ 'net top' ขนาดเล็ก แทนที่จะแบ่งทราฟฟิกลงตามโพรโทคอลหรือต่อซับเน็ตเช่นเดียวกับเครื่องมือส่วนใหญ่จะจัดกลุ่มแบนด์วิดท์ตามกระบวนการ
ควรให้คุณติดตามแบนด์วิดท์ด้วยชื่อผู้ใช้ อาจต้องใช้เครื่องมือคู่อื่นเพื่อบันทึกข้อมูลและเพิ่มข้อมูลทั้งหมด แต่เป็นการเริ่มต้นที่ดีโดยไม่ต้องใช้ iptables โดยตรง
sudo nethogs -v 3 eth0
(หรือกดm
ซ้ำ ๆ หลังจากเริ่มวนรอบโหมด) ใช้ร่วมกับtmux
เพื่อให้ทำงานได้อย่างต่อเนื่อง (แม้ว่าssh
เซสชันของคุณจะล่ม)
คุณสามารถใช้Cacti
Cacti เป็นส่วนหน้าที่สมบูรณ์ของ RRDTool โดยจะเก็บข้อมูลที่จำเป็นทั้งหมดเพื่อสร้างกราฟและเติมข้อมูลลงในฐานข้อมูล MySQL ส่วนหน้าขับเคลื่อนด้วย PHP อย่างสมบูรณ์ นอกเหนือจากความสามารถในการบำรุงรักษากราฟแหล่งข้อมูลและ Round Robin Archives ในฐานข้อมูลแล้ว cacti จะจัดการกับการรวบรวมข้อมูล นอกจากนี้ยังมีการสนับสนุน SNMP สำหรับผู้ที่เคยสร้างกราฟการจราจรด้วย MRTG
หรือvnStat
vnStat เป็นเครื่องตรวจสอบการรับส่งข้อมูลเครือข่ายแบบคอนโซลสำหรับ Linux และ BSD ที่เก็บบันทึกการรับส่งข้อมูลเครือข่ายสำหรับส่วนต่อประสานที่เลือก ใช้สถิติอินเตอร์เฟสเครือข่ายที่เคอร์เนลจัดเตรียมไว้เป็นแหล่งข้อมูล ซึ่งหมายความว่า vnStat จะไม่ดมกลิ่นการรับส่งข้อมูลใด ๆ และยังช่วยให้มั่นใจได้ว่าการใช้ทรัพยากรระบบมีน้อย
ทั้งสองอย่างยอดเยี่ยม
ฉันดูแล้วฉันไม่พบแพ็คเกจ gui ที่ครอบคลุมที่คุณต้องการ หวังว่าจะมีอยู่และใครบางคนจะโพสต์เกี่ยวกับที่นี่ในที่สุด
ฉันไม่ใช่คนเครือข่ายจริงๆ แต่จากสิ่งที่ฉันได้อ่านท่ามกลางสิ่งอื่น ๆ มากมายnetstat
และiptables
ควรจะทำเพื่อบัญชีผู้ใช้ ip / host -based สิ่งที่acct
เครื่องมือทำสำหรับกระบวนการบัญชีระบบ ลิงค์ cyberciti.biz นี้อาจช่วยให้คุณพัฒนาระบบด้วยเครื่องมือเหล่านี้:
http://www.cyberciti.biz/faq/linux-configuring-ip-traffic-accounting/
netstat -e
แสดงผู้ใช้เชลล์เพื่อให้คุณเชื่อมโยงไอพี / โฮสต์กับชื่อผู้ใช้