Tôi có một số người dùng shell trên máy chủ với 300GB truyền dữ liệu hàng tháng. Làm cách nào tôi có thể theo dõi việc sử dụng băng thông trên mỗi người dùng?
Tôi có một số người dùng shell trên máy chủ với 300GB truyền dữ liệu hàng tháng. Làm cách nào tôi có thể theo dõi việc sử dụng băng thông trên mỗi người dùng?
Câu trả lời:
Là root, ít nhất bạn có thể đo lưu lượng đi trên cơ sở mỗi người dùng bằng cách sử dụng mô-đun "chủ sở hữu" của iptables. Nếu tất cả người dùng bạn muốn theo dõi đều ở trong /root/list-of-users.txt
, bạn có thể làm:
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
Và sau đó, số lượng gói và byte cho mỗi lưu lượng truy cập đi của người dùng sẽ hiển thị:
iptables -L OUTPUT -n -v | grep out_
Điều này có thể được mở rộng hơn nữa với CONNophone để theo dõi bên trong.
Tôi vừa bắt gặp NetHogs :
NetHogs là một công cụ 'net top' nhỏ. Thay vì phá vỡ lưu lượng trên mỗi giao thức hoặc trên mỗi mạng con, giống như hầu hết các công cụ khác, nó nhóm băng thông theo quy trình.
Điều này nên cho phép bạn theo dõi băng thông theo tên người dùng. Có thể vẫn cần một vài công cụ khác để ghi lại thông tin và thêm tất cả, nhưng đó là một khởi đầu tốt mà không cần sử dụng trực tiếp iptables.
sudo nethogs -v 3 eth0
(hoặc nhấn m
liên tục sau khi bắt đầu chuyển qua các chế độ). Kết hợp với tmux
để chạy liên tục (ngay cả khi ssh
phiên của bạn gặp sự cố).
Bạn có thể sử dụng Cacti
Cacti là một giao diện hoàn chỉnh cho RRDTool, nó lưu trữ tất cả các thông tin cần thiết để tạo biểu đồ và điền chúng vào dữ liệu trong cơ sở dữ liệu MySQL. Frontend hoàn toàn do PHP điều khiển. Cùng với việc có thể duy trì Đồ thị, Nguồn dữ liệu và Lưu trữ Robin tròn trong cơ sở dữ liệu, xương rồng xử lý việc thu thập dữ liệu. Ngoài ra còn có hỗ trợ SNMP cho những người được sử dụng để tạo biểu đồ lưu lượng truy cập với MRTG.
Hoặc vnStat
vnStat là trình giám sát lưu lượng mạng dựa trên bảng điều khiển dành cho Linux và BSD, giữ nhật ký lưu lượng mạng cho (các) giao diện đã chọn. Nó sử dụng số liệu thống kê giao diện mạng được cung cấp bởi kernel làm nguồn thông tin. Điều này có nghĩa là vnStat sẽ không thực sự đánh hơi bất kỳ lưu lượng truy cập nào và cũng đảm bảo sử dụng nhẹ tài nguyên hệ thống.
Cả hai đều tuyệt vời.
Tôi đã xem xét một chút và tôi đã không tìm thấy một gói gui toàn diện nào làm những gì bạn muốn. Hy vọng rằng một người tồn tại và ai đó sẽ đăng về nó ở đây cuối cùng.
Tôi không thực sự là một người kết nối mạng, nhưng từ những gì tôi đã đọc, trong số nhiều thứ khác netstat
và iptables
được cho là làm cho kế toán người dùng dựa trên ip / máy chủ, những gì các acct
công cụ đã làm cho kế toán quy trình hệ thống. Liên kết cyberciti.biz này có thể giúp bạn phát triển một hệ thống với các công cụ sau:
http://www.cyberciti.biz/faq/linux-configuring-ip-traffic-accounting/
netstat -e
hiển thị người dùng shell, cho phép bạn liên kết ip / host với tên người dùng.