Cách cài đặt Sysdig trên Debian 11

theanh

Administrator
Nhân viên
Sysdig là một công cụ giám sát và khắc phục sự cố hệ thống đa nền tảng, mã nguồn mở. Công cụ này hữu ích cho cả những người quản trị hệ thống có kinh nghiệm cũng như những người lần đầu làm quen với dòng lệnh Linux. Công cụ này có thể cung cấp cho chúng ta rất nhiều thông tin chi tiết về những gì thực sự xảy ra trên máy chủ, vùng chứa hoặc máy tính để bàn của chúng ta trong quá trình hoạt động bình thường.

Sysdig đi kèm với giao diện dòng lệnh, nhưng cũng có giao diện người dùng web dành cho những người có xu hướng sử dụng giao diện người dùng đồ họa nhiều hơn.

Sysdig thu thập dữ liệu hệ thống và cho phép người dùng lọc và giám sát dữ liệu này theo nhiều cách. Bạn có thể nắm bắt lưu lượng truy cập đến/từ một container hoặc VM, sử dụng bộ lọc để hệ thống chỉ hiển thị cho bạn các sự kiện có liên quan như 'nếu quy trình X đang lắng nghe trên cổng Y' và bạn có thể tổng hợp các sự kiện lại với nhau thành các biểu diễn đồ họa về xu hướng dài hạn.

Điểm mạnh lớn nhất của Sysdig là độ sâu hiểu biết của nó. Sysdig có thể cho bạn biết tất cả các lần đọc đĩa của bạn đang diễn ra ở đâu, mỗi container đang gửi/nhận bao nhiêu gói tin hoặc nếu bất kỳ máy chủ web nào của bạn bị hỏng. Nó thậm chí còn làm thêm một bước nữa và sao lưu thông tin này bằng dữ liệu nhị phân có liên quan (nếu được ghi lại).

Hầu hết thời gian của chúng tôi với tư cách là quản trị viên hệ thống được dành cho việc khắc phục sự cố khó tái tạo hoặc xác định. Lý do khiến những vấn đề này khó gỡ lỗi là vì không có đủ thông tin để tiếp tục.

Sysdig có thể cung cấp cho chúng ta đủ thông tin để giải quyết những vấn đề này. Khi đã có thông tin này, việc khắc phục sự cố của chúng ta trở nên dễ dàng hơn rất nhiều - thường giống như có một siêu năng lực vậy.

Sysdig hoạt động trên hầu hết các bản phân phối chính, bao gồm CentOS, Ubuntu, Debian, Fedora Core, Arch Linux, Gentoo và thậm chí cả OSX. Việc cài đặt khá đơn giản; không yêu cầu biên dịch mã nguồn (yay!), và thậm chí còn có một trang GitHub chính thức có hướng dẫn cài đặt cho mọi bản phân phối mà Sysdig chính thức hỗ trợ.

Trong bài viết này, chúng ta sẽ cài đặt Sysdig trên máy chủ Debian 11. Quá trình này đủ đơn giản và không yêu cầu nhiều kiến thức chuyên sâu về Linux để bắt đầu.

Điều kiện tiên quyết​

Để cài đặt sysdig, chúng ta cần có:
  • Kết nối ssh đến máy chủ từ xa của chúng ta.
  • Quyền truy cập root hoặc sudo.

Cập nhật hệ thống​

Bạn nên cập nhật hệ thống trước khi tiến hành. Chúng ta có thể thực hiện việc này bằng cách chạy:
Mã:
sudo apt-get update && sudo apt-get upgrade -y
Sau khi cập nhật xong, hãy chạy các lệnh sau để cài đặt các phụ thuộc bắt buộc. libc6 là thư viện chuẩn C được Sysdig sử dụng để thực hiện hầu hết các công việc nặng nhọc của mình. curl là một công cụ truy xuất các tệp bằng giao thức HTTP hoặc HTTPS và đó là công cụ chúng ta sẽ sử dụng để tải xuống sysdig. libcurl3 là một dependency cho curl.
Mã:
sudo apt install libc6 libcurl3 gnupg -y
Mã:
sudo apt install software-properties-common curl -y

Cài đặt Syndig trên Debian 11​

Bây giờ hệ thống đã được cập nhật, hãy tải xuống và cài đặt Sysdig. Chạy lệnh sau để tải xuống và cài đặt sysdig.
Mã:
sudo curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash
Tùy thuộc vào thông số kỹ thuật của máy chủ, việc này có thể mất một lúc. Vì vậy, hãy kiên nhẫn trong khi quá trình tải xuống và cài đặt này hoàn tất.

Đầu ra mẫu:



Sau khi cài đặt hoàn tất, chúng ta có thể kiểm tra xem Sysdig đã được cài đặt đúng chưa bằng cách chạy lệnh bên dưới.
Mã:
sysdig --version
Nếu quá trình cài đặt thành công, lệnh này sẽ trả về thông tin chi tiết về phiên bản sysdig như hiển thị bên dưới.



Bạn cũng có thể kiểm tra các khả năng khác nhau của sysdig bằng cách chạy lệnh sau.
Mã:
sysdig -h

Sử dụng Sysdig​

Bây giờ chúng ta đã cài đặt Sysdig, hãy cùng xem qua một số lệnh cơ bản trong Sysdig.

Điều đầu tiên chúng ta cần làm là chạy lệnh bên dưới để bắt đầu ghi lại hoạt động của hệ thống. Chúng ta sử dụng lệnh sysdig để giám sát hệ thống. Chúng tôi chạy lệnh sysdig với tiền tố sudo, là bắt buộc vì csysdig yêu cầu quyền truy cập root hoặc sudo để hoạt động.
Mã:
sudo csysdig
Đầu ra mẫu:



Khi sysdig bắt đầu ghi lại các sự kiện, sysdig sẽ bắt đầu điền thông tin vào giao diện. Sau khi chạy lệnh trên, dữ liệu hệ thống được làm mới sau mỗi hai giây. Điều này được kiểm soát bởi biến refresh_rate, mặc định là 2 giây. Có thể điều chỉnh điều này bằng tệp cấu hình của sysdig.

Trong đầu ra ở trên, bạn sẽ thấy các cột như PID, Name, CPU và Comm. Đây là các mô tả cột và có thể được nhìn thấy bằng cách di chuột qua chúng. Cú pháp của tên cột là [tên trường]- [mô tả trường].

Các trường mà chúng ta quan tâm nhất thường bao gồm:
  • PID - PID của quy trình tạo ra sự kiện.
  • PPID - PID của quy trình cha cho một quy trình nhất định.
  • %CPU - thời gian CPU mà một quy trình đang sử dụng.
  • USER - tên người dùng của người dùng chịu trách nhiệm cho quy trình.
  • RES - lượng bộ nhớ không được hoán đổi mà một quy trình đang sử dụng.
  • Command - dòng lệnh đã bắt đầu quy trình.
Tất nhiên, có rất nhiều cột khác mà bạn có thể sử dụng để tìm hiểu sâu hơn về hoạt động của hệ thống. Và Sysdig có thể được tùy chỉnh để phù hợp với nhu cầu của bạn.

Vì dữ liệu hệ thống liên tục làm mới, nên có thể khó hiểu những gì đang diễn ra. Chúng ta có thể dừng sysdig chạy bằng cách nhấn CTRL + C. Sau khi giao diện được xóa, chúng ta có thể chạy lệnh sysdig với các tùy chọn và bộ lọc để lấy dữ liệu chúng ta muốn.

Systax là sysdig [tùy chọn] [bộ lọc].

Cơ chế lọc của Sysdig rất mạnh mẽ và có thể được sử dụng để tìm chính xác những gì bạn đang tìm kiếm. Bộ lọc, tương tự như tcpdump, bao gồm một chuỗi một hoặc nhiều biểu thức nguyên thủy được liên kết bằng các phép nối (‘và’, ‘hoặc’) và tùy ý kết thúc bằng một phép ngắt (‘không’). Để hiển thị tất cả các bộ lọc mà chúng ta có thể sử dụng với sysdig, hãy chạy lệnh sau.
Mã:
sysdig -l
Bạn sẽ nhận được danh sách với số lượng lớn các bộ lọc cùng với mô tả ngắn gọn về từng bộ lọc như được hiển thị bên dưới.



Vì không thể đề cập đến tất cả các bộ lọc, chúng tôi sẽ đề cập đến một số bộ lọc thường dùng.

Chúng ta sẽ bắt đầu với bộ lọc - proc.name= cho phép chúng ta lọc ra các tên quy trình cụ thể.

Ví dụ: để tìm kiếm tất cả các sự kiện cho tên quy trình "nano", chúng ta có thể chạy lệnh sau.
Mã:
sudo sysdig proc.name=nano
Đầu ra mẫu:



Bạn cũng có thể sử dụng các toán tử như "or" và "and" để có được dữ liệu cụ thể hơn. Ví dụ, bạn có thể lấy tất cả các sự kiện cho "nano" hoặc "vi".
Mã:
sudo sysdig proc.name=cat hoặc proc.name=vi


Chạy lệnh bên dưới để xem các sự kiện liên quan đến mạng. Bạn có thể xem cổng nào được kết nối, địa chỉ MAC và nhiều thông tin khác theo thời gian thực.
Mã:
sudo sysdig -c netstat
Đầu ra mẫu:



Chạy lệnh bên dưới để lấy các quy trình sử dụng nhiều CPU nhất.
Mã:
sudo sysdig -c topprocs_cpu
Đầu ra mẫu:



Để nắm bắt hoạt động của hệ thống và lưu lại để phân tích sau, hãy sử dụng tùy chọn -w, theo sau là tên tệp. Trong ví dụ dưới đây, chúng tôi ghi lại toàn bộ dữ liệu đầu ra từ sysdig vào một tệp có tên là “sysdig-output.scap”
Mã:
sudo sysdig -w sysdig-output.scap
Lệnh này yêu cầu sysdig liên tục xuất dữ liệu cho đến khi dừng lại bằng cách nhấn CTRL+C. Theo thời gian, tệp sẽ tăng kích thước. Bạn có thể sử dụng tùy chọn -C để ghi lại hoạt động của hệ thống vào một tệp có kích thước tối đa là một số MB được chỉ định.

Ví dụ: lệnh bên dưới sẽ tạo một tệp mới sau mỗi 1MB và lưu trữ hoạt động của hệ thống vào đó.
Mã:
sudo sysdig -C 1 -w sysdig-output.scap
Chạy lệnh ls -l để xem tệp mới được tạo có tên “sysdig-output.scap” như hiển thị bên dưới.
Mã:
ls -l
Đầu ra như sau:


Kết luận​

Sysdig có nhiều chức năng và có thể được sử dụng như một công cụ tuyệt vời để khắc phục sự cố và phân tích hiệu suất. Và vì là mã nguồn mở, bạn cũng có thể mở rộng chức năng của nó thông qua chiselsđể đáp ứng nhu cầu của bạn.

Trong bài viết này, chúng tôi đã đề cập đến một số lệnh cơ bản để bắt đầu sử dụng sysdig. Để biết thêm thông tin về sysdig và các trường hợp sử dụng của nó, vui lòng xem trang tài liệu của nó.
 
Back
Bên trên