Chẩn đoán OneFS

Ngoài công cụ /usr/bin/isi_gather_info, OneFS còn cung cấp cả GUI và phiên bản CLI ‘isi’ chung của công cụ – mặc dù có chức năng bị giảm đôi chút. Điều này có nghĩa là OneFS log gather có thể được khởi tạo từ WebUI hoặc bằng cách sử dụng bộ lệnh CLI ‘isi diagnostics’ với cú pháp sau:

# isi diagnostics bắt đầu thu thập

Trạng thái thu thập chẩn đoán cũng có thể được truy vấn như sau:

# isi diagnostics thu thập trạng thái
Gather đang chạy.

Khi lệnh hoàn tất, tệp tarfile thu thập có thể được tìm thấy trong /ifs/data/Isilon_Support.

Bạn cũng có thể xem và sửa đổi cấu hình ‘isi diagnostics’ như sau:

# isi diagnostics thu thập cài đặt xem
                Tải lên: Có
                  ESRS: Có
         Hỗ trợ: Có
           Chế độ thu thập: đầy đủ
  Tải lên HTTP không an toàn: Không
      Máy chủ tải lên HTTP:
      Đường dẫn tải lên HTTP:
     Proxy tải lên HTTP:
Cổng Proxy Tải lên HTTP: -
            Tải lên Ftp: Có
       Máy chủ tải lên Ftp: ftp.isilon.com
       Đường dẫn tải lên Ftp: /incoming
      Proxy tải lên Ftp:
 Cổng Proxy Tải Lên Ftp: -
       Người dùng tải lên Ftp: ẩn danh
   Tải lên Ftp Chứng chỉ SSL:
   Tải lên Ftp không an toàn: Không

Các tùy chọn cấu hình cho lệnh CLI ‘isi diagnostics gather’ bao gồm:

Lựa chọn Sự miêu tả
–tải lên <boolean> Cho phép thu thập và tải lên.
–esrs <boolean> Sử dụng ESRS để thu thập dữ liệu tải lên.
–gather-mode (tăng dần | đầy đủ) Kiểu thu thập: gia tăng hoặc đầy đủ.
–http-insecure-upload <boolean> Cho phép tải lên HTTP không an toàn khi thu thập xong.
–http-upload-host <chuỗi> Máy chủ HTTP dùng để tải lên HTTP.
–http-upload-path <chuỗi> Đường dẫn trên máy chủ HTTP để sử dụng cho việc tải lên HTTP.
–http-upload-proxy <chuỗi> Máy chủ proxy dùng để tải lên HTTP.
–http-upload-proxy-port <số nguyên> Cổng máy chủ proxy dùng để tải lên HTTP.
–clear-http-upload-proxy-port Xóa cổng máy chủ proxy để sử dụng cho việc tải lên HTTP.
–ftp-upload <boolean> Cho phép tải lên FTP khi hoàn tất thu thập.
–ftp-upload-host <chuỗi> Máy chủ FTP dùng để tải lên FTP.
–ftp-upload-path <chuỗi> Đường dẫn trên máy chủ FTP để sử dụng cho việc tải lên FTP.
–ftp-upload-proxy <chuỗi> Máy chủ proxy dùng để tải lên FTP.
–ftp-upload-proxy-port <số nguyên> Cổng máy chủ proxy dùng để tải lên FTP.
–xóa-cổng-proxy-tải-lên-ftp Xóa cổng máy chủ proxy để sử dụng cho việc tải lên FTP.
–ftp-upload-user <chuỗi> Người dùng FTP sử dụng để tải lên FTP.
–ftp-upload-ssl-cert <chuỗi> Chỉ định chứng chỉ SSL sử dụng trong kết nối FTPS.
–ftp-upload-insecure <boolean> Có nên thử tải lên FTP văn bản thuần túy không.
–ftp-upload-pass <chuỗi> Người dùng FTP sử dụng mật khẩu tải lên FTP.
–set-ftp-upload-pass Chỉ định mật khẩu tải lên FTP một cách tương tác.

Như đã đề cập ở trên, ‘isi diagnostics gather’ không cung cấp nhiều tính năng như tiện ích isi_gather_info. Điều này chủ yếu là vì mục đích bảo mật, vì ‘isi diagnostics’ không yêu cầu quyền root để chạy. Thay vào đó, cần có tài khoản người dùng có quyền RBAC ‘ISI_PRIV_SYS_SUPPORT’ để chạy gather từ giao diện CLI WebUI hoặc ‘isi diagnostics gather’.

Khi một gather đang chạy, một instance thứ hai không thể được bắt đầu từ bất kỳ node nào khác cho đến khi instance đó hoàn tất. Thông thường, một cảnh báo tương tự như sau sẽ xuất hiện:

"Có vẻ như một phiên bản khác của gather đang chạy trên cụm ở đâu đó. Nếu bạn muốn buộc gather chạy, hãy sử dụng cờ --force-multiple-igi. Nếu bạn cho rằng thông báo này là lỗi, bạn có thể xóa tệp khóa tại đây: /ifs/.ifsvar/run/gather.node."

Bạn có thể gỡ bỏ khóa này như sau:

# rm -f /ifs/.ifsvar/run/gather.node

Bạn cũng có thể bắt đầu thu thập nhật ký từ OneFS WebUI bằng cách điều hướng đến Quản lý cụm > Chẩn đoán > Thu thập:

WebUI cũng sử dụng trình xử lý API nền tảng ‘isi diagnostics’ và do đó, giống như lệnh CLI, cũng cung cấp một tập hợp con của chức năng isi_gather_info đầy đủ.

Một menu giới hạn các tùy chọn cấu hình cũng có sẵn trong WebUI, tại mục Quản lý cụm > Chẩn đoán > Cài đặt thu thập:

Ngoài ra, bộ lệnh chẩn đoán OneFS còn có tiện ích ‘isi diagnostics netlogger’. Netlogger ghi lại lưu lượng IP trong một khoảng thời gian để phân tích mạng và giao thức.

Về cơ bản, netlogger là một trình bao bọc Python xung quanh tiện ích tcpdump phổ biến và có thể chạy từ dòng lệnh OneFS hoặc WebUI.

Ví dụ, từ WebUI, duyệt đến Quản lý cụm > Chẩn đoán > Netlogger:

Ngoài ra, từ OneFS CLI, lệnh isi_netlogger sẽ ghi lại lưu lượng truy cập trên giao diện (‘–interfaces’) trong khoảng thời gian chờ tính bằng phút (‘–duration’) và lưu trữ một số lượng tệp nhật ký được chỉ định (‘–count’).

Sau đây là cú pháp cơ bản của tiện ích CLI:

# isi diagnostics netlogger bắt đầu
        [--giao diện <chuỗi>]
        [--count <số nguyên>]
        [--thời lượng <thời lượng>]
        [--snaplength <số nguyên>]
        [--nodelist <chuỗi>]
        [--khách hàng <chuỗi>]
        [--cổng <chuỗi>]
        [--giao thức (ip | ip6 | arp | tcp | udp)]
        [{--trợ giúp | -h}]

Lưu ý rằng việc sử dụng tùy chọn kích thước bộ đệm bpf ‘-b’ sẽ tạm thời thay đổi kích thước bộ đệm mặc định trong khi netlogger đang chạy.

Để hiển thị văn bản trợ giúp cho các tùy chọn lệnh netlogger, hãy chỉ định ‘isi diagnostics netlogger start -h’. Các tùy chọn lệnh bao gồm:

Tùy chọn Netlogger Sự miêu tả
–giao diện <str> Giới hạn việc thu thập gói tin cho các giao diện mạng được chỉ định.
–count <số nguyên> Số lượng tệp bắt gói tin cần giữ lại sau khi đạt đến giới hạn thời gian. Mặc định là 3 tệp mới nhất. 0 là vô hạn.
–thời lượng <thời lượng> Thời gian chạy capture trước khi xoay file capture. Mặc định là 10 phút.
–snaplength <số nguyên> Lượng dữ liệu tối đa cho mỗi gói được thu thập. Mặc định là 320 byte. Phạm vi hợp lệ là 64 đến 9100 byte.
–nodelist <chuỗi> Danh sách các nút do LNN chỉ định để chạy lệnh chụp.
–khách hàng <str> Giới hạn việc thu thập gói tin cho tên máy chủ/địa chỉ IP của Máy khách được chỉ định.
–cổng <chuỗi> Giới hạn việc thu thập gói tin cho các cổng TCP hoặc UDP được chỉ định.
–giao thức (ip | ip6 | arp | tcp | udp) Giới hạn việc thu thập gói tin theo các giao thức được chỉ định.

Theo mặc định, các tệp nhật ký của Netlogger được lưu trữ tại /ifs/netlog/<node_name>.

Bạn cũng có thể sử dụng WebUI để cấu hình các tham số netlogger trong mục Quản lý cụm > Chẩn đoán > Cài đặt Netlogger:

Xin lưu ý rằng việc chỉ định ‘isi diagnostics netlogger’ có thể tiêu tốn nhiều tài nguyên cụm. Khi chạy công cụ trên cụm sản xuất, hãy lưu ý đến tác động lên hệ thống.

Khi lệnh hoàn tất, các tệp chụp sẽ được lưu trữ tại:

# /ifs/netlog/[tên nút]

Bạn cũng có thể sử dụng lệnh sau để kết hợp các tệp đầu ra của netlogger vào một gói gather_info:

# isi_gather_info -n [nút#] -f /ifs/netlog

Để nắm bắt nhiều nút của cụm, bạn có thể thêm tiền tố lệnh netlogger bằng tiện ích isi_for_array đa năng. Ví dụ:

# isi_for_array –s 'isi diagnostics netlogger --nodelist 2,3 --timeout 5 --snaplength 256'

Cú pháp lệnh này tạo ra các tệp gia tăng năm phút trên các nút 2 và 3, sử dụng snaplength là 256 byte, ghi lại 256 byte đầu tiên của mỗi gói. Các nhật ký năm phút này được lưu giữ trong khoảng ba ngày. Quy ước đặt tên có dạng netlog-<tên_nút>-<ngày>-<thời gian>.pcap. Ví dụ:

# ls /ifs/netlog/tme_h700-1
netlog-tme_h700-1.2022-09-02_10.31.28.pcap

Khi sử dụng netlogger, hãy thiết lập tùy chọn ‘–snaplength’ một cách thích hợp, tùy thuộc vào giao thức, để nắm bắt đúng lượng chi tiết trong tiêu đề gói tin và/hoặc tải trọng. Hoặc, nếu bạn muốn toàn bộ nội dung của mọi gói tin, hãy sử dụng giá trị bằng không (‘–snaplength 0’).

Snaplength mặc định cho netlogger là chụp 320 byte cho mỗi gói tin, thường là đủ cho hầu hết các giao thức.

Tuy nhiên, đối với SMB, đôi khi cần snaplength là 512. Lưu ý rằng tùy thuộc vào lượng lưu lượng của nút, snaplength bằng 0 (tức là: chụp toàn bộ gói) có khả năng làm quá tải trình điều khiển giao diện mạng.

Tất cả dữ liệu đầu ra sẽ được ghi vào các tệp trong thư mục /ifs/netlog và thời gian ghi mặc định là mười phút (‘–thời lượng 10’).

Bạn có thể áp dụng bộ lọc để hạn chế lưu lượng đến/từ một số máy chủ hoặc giao thức nhất định. Ví dụ: để hạn chế đầu ra cho lưu lượng giữa máy khách 10.10.10.1 và nút cụm:

# isi diagnostics netlogger --thời lượng 5 --chiều dài 256 --khách hàng 10.10.10.1

Hoặc để chỉ thu thập lưu lượng NFS, hãy lọc trên cổng 2049:

# isi diagnostics netlogger --cổng 2049

Tác giả : Nick Trimbee