Tôi có thể sử dụng gì để giám sát và ghi nhật ký lưu lượng đến / đi đến / từ các máy chủ từ xa?


13

Tôi chạy một máy chủ web (Debian Squeeze trên VPS) và các biểu đồ được cung cấp bởi công ty lưu trữ cho thấy rằng lưu lượng truy cập đến máy chủ sẽ tăng gấp đôi so với lưu lượng đi. Tôi hơi bối rối vì điều này, vì vậy tôi muốn chạy một số loại tiện ích ghi nhật ký trên máy không chỉ xác nhận số liệu tải lên / tải xuống mà còn phân tách chúng bởi máy chủ từ xa có liên quan, vì vậy tôi có thể xem nếu tỷ lệ lớn lưu lượng đến là từ một nguồn cụ thể.

Tôi nghi ngờ hầu hết lưu lượng truy cập đi qua Apache, nhưng lưu lượng đến có thể chủ yếu thông qua Apache hoặc có thể bị chi phối bởi các tập lệnh và công việc cron khác, vì vậy tôi thích một công cụ giám sát lưu lượng ở cấp giao diện hơn là một thứ gì đó trong Apache .

Lý tưởng nhất là tôi muốn một công cụ mà tôi có thể ngừng chạy trong vài ngày, sau đó quay lại và nhận đầu ra "byte trên mỗi máy chủ từ xa" cho cả lưu lượng đến và đi.

Điều này có khả thi với một công cụ Linux tiêu chuẩn và một chút cấu hình (nếu vậy, làm thế nào?) Hoặc với một chương trình chuyên gia (nếu vậy, cái nào?)

Câu trả lời:


11

ntop có lẽ là giải pháp tốt nhất của bạn để làm điều này. Nó được thiết kế để chạy dài hạn và nắm bắt chính xác những gì bạn đang tìm kiếm.
Nó có thể cho bạn biết những điểm đến từ xa nào đang được sử dụng nhiều nhất, lưu lượng được gửi đến / từ, giao thức và cổng nào đang được sử dụng, v.v. Nó có thể làm tương tự cho các máy chủ nguồn nếu bạn chạy nó trên bộ định tuyến để bạn có thể thấy các số liệu thống kê tương tự về khách hàng địa phương là tốt.
Sau đó, nó sử dụng GUI web để điều hướng và hiển thị thông tin này.

ntop


Ái chà. Trong suốt những năm qua tôi đã sử dụng ntopgiống như vậy top, tôi không biết nó có chế độ daemon và giao diện web tích hợp! Không có gì sai với đề xuất của @ ckhan, nhưng tôi sẽ chấp nhận điều này vì tôi cảm thấy ntopgiao diện web tích hợp dễ sử dụng hơn so với tcpdumpWireshark.
Ian Renton

9

Nếu bạn có root, bạn chỉ có thể sử dụng tcpdumpvà lấy mọi thứ. Sau đó, bạn có thể kéo nó lên trong Wireshark và phân tích nội dung trái tim của bạn.

$ sudo tcpdump -i <interface> -w mycapture.tcpdump  

... Và sau đó nhấn ctrl-c khi bạn đã có đủ. Chạy trong một screenphiên nếu bạn cần tháo gỡ, vv

Theo mặc định, nó sẽ chỉ chụp phần đầu tiên của mỗi gói, nhưng vì bạn chủ yếu quan tâm đến phân tích nguồn gốc nên sẽ ổn. Hàng tấn tùy chọn khác để tcpdump nếu bạn cảm thấy phiêu lưu.

EDIT : Trên thực tế, một khi được tải vào Wireshark, bạn chỉ có thể sử dụng tùy chọn menu Statistics | Địa chỉ IP ... và nhận được một bản tóm tắt tốt về lưu lượng theo số lượng / tỷ lệ / phần trăm:

nhập mô tả hình ảnh ở đây


Cảm ơn, đó có vẻ là một cách hợp lý để đi. Bạn có biết Wireshark có thể tự động tạo ra loại đầu ra mà tôi theo sau không (ví dụ: "1000 kết nối đến máy chủA, 967 kết nối với máy chủB ...") hoặc tôi sẽ phải viết một tập lệnh để xây dựng thông tin đó từ kết xuất TCP riêng tôi?
Ian Renton

@IanRenton - Tôi nghĩ rằng nó sẽ làm chính xác những gì bạn muốn, xem câu trả lời được chỉnh sửa. Tôi tin rằng tcpdumpcũng có thể nhổ ra tóm tắt gói mà bạn có thể dễ dàng grep, wcvv
ckhan

4

Và đối với các số liệu nâng cao hơn, bạn có thể sử dụng một cái gì đó như Monitorix có các mô-đun cho hầu hết các dịch vụ phổ biến và nó chỉ đơn giản:

apt-get install monitorix

Ngoài ra, bạn có một cacti GUI RDDtool hoàn chỉnh, nhưng không phải là thời gian thực.

Và trong top 1 đối với tôi, đó là grafana đa cấu hình . Khó cài đặt và cấu hình hơn một chút nhưng thật hoàn hảo, bạn có thể đo mọi thứ chi tiết và theo thời gian thực. Nó cần một số phụ thuộc JVM, than chì, thì thầm, ... một số kiến ​​thức về JSON, nhưng hoạt động như một cơ duyên tôi thực sự khuyên bạn nên dùng nó!

Có lẽ một cấu hình tốt cho trường hợp của bạn nên là:

collectd + graphite + whisper + grafana

Thật ra grafana đã thay đổi cuộc sống của tôi trong văn phòng.


Whisper mang đến rất nhiều hit, không ai trong số đó có vẻ phù hợp. Ngoại trừ một số tường lửa cho Android ... Bạn có thể cung cấp một url không? Có thể bạn có một repo github với thiết lập của bạn.
oligofren

0

chắc chắn rồi ;)

https://github.com/graphite-project/whisper

Ngoài ra nếu bạn muốn một cách nhỏ để biết cách kết nối mọi thứ: https://linuxboss.wordpress.com/2015/12/03/graphite-grafana/


1
Xin chào Peter K - chào mừng bạn đến với U & L! Chúng tôi muốn tích hợp các câu trả lời từ các liên kết để câu trả lời vẫn phù hợp ngay cả khi trang web bên ngoài di chuyển hoặc bị xóa. Bạn có thể cung cấp thêm thông tin như một câu trả lời?
Jeff Schaller
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.