Điểm:4

Số liệu thống kê /proc/net/stat/nf_conntrack bị thiếu trên máy chủ Linux

lá cờ aq

Vì một số lý do, tôi không có tệp nào như vậy trên máy chủ của mình..

root@serv:~# uname -a
Linux serv 5.4.0-87-generic #98~18.04.1-Ubuntu SMP Thứ tư ngày 22 tháng 9 10:45:04 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
root@serv:~# mèo /proc/net/stat/nf_conntrack
cat: /proc/net/stat/nf_conntrack: Không có tệp hoặc thư mục như vậy

Nhưng conntrack của tôi chắc chắn được kích hoạt:

root@serv:~# lsmod | grep connntr
xt_conntrack 16384 1
nf_conntrack_netlink 45056 0
nf_conntrack 139264 2 xt_conntrack,nf_conntrack_netlink
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 16384 1 nf_conntrack
libcrc32c 16384 1 nf_conntrack
nfnetlink 16384 1 nf_conntrack_netlink
x_tables 45056 3 xt_conntrack,iptable_filter,ip_tables

conntrack -L hoạt động hoàn hảo.
Nhưng mà lnstat -f ip_conntrack cũng hiển thị đầu ra trống.
Lý do là gì? Tôi có nên chèn một số mô-đun hạt nhân để tệp này xuất hiện trong procfs không?

Điểm:2
lá cờ cl
A.B

Cấu hình yêu cầu có liên quan cần thiết để có theo dõi có sẵn trong /procCONFIG_NF_CONNTRACK_PROCFS:

CONFIG_NF_CONNTRACK_PROCFS: Cung cấp danh sách CT trong procfs (OBSOLETE)

[...]

văn bản trợ giúp

Tùy chọn này cho phép danh sách các mục conntrack đã biết được được hiển thị trong procfs dưới net/netfilter/nf_conntrack. Đây được coi là lỗi thời để sử dụng công cụ conntrack(8) sử dụng Netlink.

Nhân của OP dường như đã được xây dựng với các tính năng được mô tả trong gói này: linux-buildinfo-5.4.0-87-chung.

Than ôi nội dung của /usr/lib/linux/5.4.0-87-generic/config từ gói trên cho biết:

# CONFIG_NF_CONNTRACK_PROCFS chưa được đặt

Vì vậy, hai /proc/ các mục thường cung cấp bởi theo dõi: /proc/net/nf_conntrack/proc/net/stat/nf_conntrack sẽ không tồn tại.

Như tài liệu cho biết, điều này đã bị lỗi thời bởi theo dõi công cụ sử dụng liên kết mạng(7) thay vào đó là API hạt nhân.

Hầu hết nội dung của /proc/net/stat/nf_conntrack có thể được thay thế bởi:

conntrack --count

cung cấp số lượng mục nhập (đây là cột dữ liệu đầu tiên có trong /proc/net/stat/nf_conntrack) và:

conntrack --stats
conntrack --stats mong đợi

cung cấp nội dung của hầu hết các cột khác có sẵn trong /proc/net/stat/nf_conntrack, đôi khi cho (chính) theo dõi bảng, đôi khi cho chờ đợi bảng, một cái cho mỗi CPU là tốt. Một số thống kê dường như không có sẵn theo cách này (hoặc có thể bị ẩn ở nơi khác hoặc có thể đã lỗi thời ...).

Nếu bạn thực sự cần /proc/net/stat/nf_conntrack bạn sẽ phải chuyển sang một nhân khác có sẵn tính năng này hoặc xây dựng lại nhân với các tùy chọn khác. Tùy chọn kernel này dường như không còn được Ubuntu chọn nữa, kể cả trong các phiên bản kernel mới hơn.


Để tham khảo, đây là một ví dụ từ một kernel khác có tùy chọn này và chạy với 4 CPU:

# mèo /proc/net/stat/nf_conntrack | cột -t
các mục clashres tìm thấy mới không hợp lệ bỏ qua xóa delete_list chèn insert_failed drop Early_drop icmp_error kỳ vọng_new kỳ vọng_tạo kỳ vọng_xóa tìm kiếm_restart
0000000A 00000092 00000000 00000000 00000276 00000000 00000000 00000000 00000000 00000000 00000000
0000000a 00000000 00000000 00000000 00000009 00000000 00000000 00000000 00000000 00000001 00000001 00000000 00000000 000000
0000000A 00000000 00000000 00000000 00000008 00000000 00000000 00000000 00000000 00000007 00000007
0000000a 00000000 00000000 00000000 00000048 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000000
# conntrack -C
10
# conntrack -S
cpu=0 found=0 invalid=630 insert=0 insert_failed=0 drop=0 Early_drop=0 error=0 search_restart=9315 
cpu=1 found=0 invalid=9 insert=0 insert_failed=1 drop=1 Early_drop=0 error=0 search_restart=235 
cpu=2 found=0 invalid=8 insert=0 insert_failed=7 drop=7 Early_drop=0 error=0 search_restart=256 
cpu=3 found=0 invalid=72 insert=0 insert_failed=0 drop=0 Early_drop=0 error=0 search_restart=805 
# conntrack -S mong đợi
cpu=0 kỳ vọng_new=22 kỳ vọng_tạo=10 kỳ vọng_xóa=22 
cpu=1 kỳ vọng_new=0 kỳ vọng_create=4 kỳ vọng_xóa=0 
cpu=2 kỳ vọng_new=0 kỳ vọng_tạo=4 kỳ vọng_xóa=0 
cpu=3 kỳ vọng_new=0 kỳ vọng_tạo=4 kỳ vọng_xóa=0 
# 
narotello avatar
lá cờ aq
Cảm ơn, nhưng tôi có thể tìm thống kê `mới` - cột thứ 4 của `/proc/net/stat/nf_conntrack` ở đâu? Tôi nghĩ `mới` là chỉ số quan trọng có thể được sử dụng để tính chỉ số CPS (số kết nối trên giây).
narotello avatar
lá cờ aq
Nhân tiện, điều đó có nghĩa là một số số liệu trên mỗi CPU là gì? Có vẻ như bảng phiên đó phải phổ biến, tức là được chia sẻ giữa các lõi CPU..
A.B avatar
lá cờ cl
A.B
Tôi đã giải quyết câu hỏi của bạn bằng cách giải thích lý do tại sao tệp bị thiếu và những gì có thể được thực hiện để lấy lại tệp (thay đổi kernel) và hơn thế nữa. Tôi không có sẵn câu trả lời cho những bình luận này. Ngoại trừ lưu lượng được phân chia giữa các CPU, do đó, điều tương tự cũng xảy ra đối với số liệu thống kê.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.