/ / Cách thiết lập ghi nhật ký từ xa trên Linux bằng rsyslog

Cách thiết lập ghi nhật ký từ xa trên Linux bằng rsyslog

Ghi nhật ký là một khía cạnh quan trọng của quản lý máy chủ Linux. Thông báo nhật ký rất hữu ích cho việc phân tích nguyên nhân gốc rễ và tránh các lỗi tiềm ẩn xảy ra trong tương lai. Phân tích và gỡ lỗi máy chủ là kỹ năng cốt lõi cần có đối với cả kỹ sư CNTT và quản trị viên hệ thống.

Hướng dẫn này sẽ chỉ cho bạn cách thiết lập máy chủ ghi nhật ký từ xa, còn được gọi là máy chủ lưu trữ nhật ký, trên Linux. Máy chủ lưu trữ nhật ký cho phép bạn tổng hợp các nhật ký Linux cục bộ vào một máy chủ tập trung từ xa để dễ dàng truy cập và phân tích.

Tại sao có một máy chủ nhật ký chuyên dụng?

Hệ điều hành Linux ghi lại hầu hết các hoạt động trên máy chủ của bạn để kiểm tra và gỡ lỗi bằng cách sử dụng daemon nhật ký hệ thống (giao thức ghi nhật ký hệ thống). Vì vậy, bạn có thể tự hỏi, tại sao tôi cần một máy chủ chuyên dụng cho nhật ký của mình? Dưới đây là một số lợi thế khi có một máy chủ ghi nhật ký chuyên dụng:

  • Bảo mật tốt hơn vì máy chủ ghi nhật ký từ xa chỉ có một vài cổng mở ra bên ngoài.
  • Cải thiện hiệu suất máy chủ vì máy chủ ghi nhật ký từ xa không chạy nhiều dịch vụ, ngoại trừ những dịch vụ được sử dụng để ghi nhật ký.
  • Dễ dàng lưu trữ và quản lý các thông báo nhật ký.

Thông báo nhật ký rất quan trọng để kiểm tra máy chủ và lớp lót cơ sở của bạn và là một phần cốt lõi của quy trình bảo trì phòng ngừa trên cơ sở hạ tầng máy chủ của bạn.

Bước 1: Cài đặt rsyslog trên Linux

Hướng dẫn này tập trung vào Ubuntu 20.04, nhưng quy trình sẽ khá giống nếu bạn đang sử dụng các bản phân phối Linux chính thống khác.

rsyslog là một dịch vụ ghi nhật ký từ xa dành cho Linux và được cài đặt sẵn theo mặc định trên hầu hết các bản phân phối Linux hiện đại, chẳng hạn như Ubuntu và các hệ thống dựa trên Debian khác.

LÀM VIDEO TRONG NGÀY

Dịch vụ rsyslog là một daemon hiện đại và được cải tiến cho nhật ký hệ thống, chỉ cho phép bạn quản lý nhật ký cục bộ. Với daemon rsyslog, bạn có thể gửi nhật ký cục bộ của mình tới một số máy chủ Linux từ xa đã được định cấu hình.

Nếu bạn chưa cài đặt rsyslog trên PC của mình, bạn có thể dễ dàng thực hiện việc này bằng cách sử dụng lệnh sau, trên các bản phân phối dựa trên Debian:

sudo apt install rsyslog

Trên Red Hat Linux, bạn có thể cài đặt nó bằng cách gõ:

yum install rsyslog

Trên Fedora và các dẫn xuất của nó, hãy chạy:

dnf install rsyslog

Để cài đặt rsyslog trên Arch Linux:

yay -S rsyslog

Để kiểm tra trạng thái của rsyslog, hãy chạy lệnh sau:

systemctl status rsyslog

Đầu ra:


rsyslog_status

Bước 2: Định cấu hình Máy chủ Lưu trữ Nhật ký

Máy chủ lưu trữ nhật ký là máy chủ được cấu hình để nhận thông báo nhật ký từ các máy chủ hoặc PC khác. Cấu hình nhật ký rsyslog nằm trong /etc/rsyslog.conf tập tin.

Bạn có thể mở /etc/rsyslog.conf sử dụng bất kỳ trình soạn thảo văn bản nào mà bạn chọn. Trong hướng dẫn này, chúng tôi sẽ sử dụng Vim.

Bạn sẽ cần các đặc quyền nâng cao để thực hiện các thay đổi đối với tệp cấu hình.

Trước khi bắt đầu chỉnh sửa tệp cấu hình, bạn nên tạo một bản sao lưu hoặc bản sao của tệp. Để làm như vậy, hãy chạy lệnh:

sudo cp /etc/rsyslog.conf /etc/rsyslog_original.config

Tiếp theo, mở /etc/rsyslog.conf tập tin bằng trình soạn thảo văn bản.

sudo vim /etc/rsyslog.conf 

Có hai giao thức bạn có thể sử dụng để gửi / nhận tệp nhật ký với rsyslog: TCP và UDP. Hướng dẫn này chỉ cho bạn cách định cấu hình cả hai.

Bạn không cần phải cấu hình cả UDP và TCP để ghi nhật ký từ xa hoạt động. Chỉ chọn một trong hai.

Nếu bạn thích sử dụng UDP, hãy tìm và bỏ ghi chú các dòng sau bằng cách bỏ phần đầu Pao (#) ký hiệu trước các dòng. Bạn có thể tìm thấy những dòng này trong phần mô-đun của tệp cấu hình.


module(load="imudp")
input(type="imudp" port="514")

Nếu bạn thích sử dụng TCP, hãy bỏ ghi chú các dòng sau bằng cách bỏ phần đầu Pao (#) ký hiệu nằm ở đầu các dòng:

module(load="imtcp")
input(type="imtcp" port="514")

Hình sau cho thấy tệp cấu hình rsyslog được định cấu hình để sử dụng giao tiếp UDP:


udp_configuration_rsyslog

Tiếp theo, định cấu hình vị trí nơi rsyslog sẽ lưu trữ nhật ký của bạn. Để tổ chức tốt hơn, bạn nên phân loại nhật ký đến theo nguồn gốc của chúng. Xác định một mẫu trong tệp cấu hình rsyslog của bạn bằng cách thêm các dòng sau:

$template remote-incoming-logs, "/var/log/remote/%HOSTNAME%".log
*.* ?remote-incoming-logs

Các dòng nói trên lệnh rsyslog để lưu các nhật ký trong thư mục / var / log / remote / hostnameở đâu tên máy chủ là tên của ứng dụng khách từ xa đang gửi thông báo nhật ký đến máy chủ lưu trữ nhật ký.

Bây giờ, hãy lưu các thay đổi bạn đã thực hiện. Nếu bạn đang sử dụng Vim, đây là cách lưu và thoát tệp.

Cuối cùng, khởi động lại các dịch vụ rsyslog để những thay đổi bạn đã thực hiện có hiệu lực.

sudo systemctl restart rsyslog

Bước 3: Định cấu hình tường lửa của bạn

Nếu tường lửa của bạn được bật, hãy đảm bảo rằng cổng bạn đã định cấu hình ở trên có thể giao tiếp với thế giới bên ngoài. Bạn sẽ cần chỉnh sửa các quy tắc tường lửa của mình để cho phép các nhật ký đến.

Đối với các bản phân phối dựa trên Debian, chỉ cần sử dụng công cụ UFW, để kích hoạt giao thức truyền UDP hoặc TCP.

Liên quan: Cách định cấu hình tường lửa trong Ubuntu bằng UFW

Nếu bạn đang sử dụng UDP, hãy chạy lệnh sau, trong đó 514 là số cổng đã định cấu hình:

sudo ufw 514/udp

Nếu bạn đang sử dụng TCP trên cổng 514, chỉ cần chạy:

sudo ufw 514/tcp

Trên Fedora, bạn có thể sử dụng tường lửa-cmd để đạt được kết quả tương tự.

firewall-cmd --zone=zone --add-port=514/udp

Đối với Red Hat Linux, hãy mở iptables tập tin nằm ở / etc / sysconfig / iptables sử dụng trình soạn thảo văn bản mà bạn chọn và thêm quy tắc sau:

-A INPUT -m state --state NEW -m udp -p udp --dport 514 -j ACCEPT

Khởi động lại dịch vụ iptables để các thay đổi có hiệu lực.

service iptables restart

Bước 4: Định cấu hình ứng dụng khách ghi nhật ký

Máy khách là máy gửi nhật ký của nó đến máy chủ lưu trữ nhật ký từ xa hoặc tập trung. Mở tệp cấu hình rsyslog tại /etc/rsyslog.conf:

sudo vim /etc/rsyslog.conf

Thêm dòng sau nếu bạn đang sử dụng UDP, trong đó 192.168.12.123 là địa chỉ IP của máy chủ từ xa, bạn sẽ ghi nhật ký của mình vào:

*.* @192.168.12.123:514

Nếu bạn đang sử dụng TCP, hãy thêm dòng sau để thay thế. Lưu ý rằng dòng có hai @ các ký hiệu.

*.* @@192.168.12.123:514

Lưu các thay đổi của bạn và khởi động lại dịch vụ rsyslog trên máy khách bằng lệnh:

sudo systemctl restart rsyslog

Bước 5: Xem thông báo nhật ký trên máy chủ

Bạn có thể sử dụng SSH để đăng nhập vào máy chủ từ xa của mình và xem nhật ký được gửi từ máy chủ khách. Trong trường hợp này, rsyslog được định cấu hình để nó lưu trữ các nhật ký máy khách trong / var / log / remote thư mục của máy chủ từ xa.

cd /var/logs/remote

Sau đó liệt kê nội dung của thư mục bằng lệnh ls:

ls -l

Như bạn có thể thấy trong đầu ra, thư mục chứa thông báo nhật ký cho các máy chủ từ xa có tên andiwarukuru. Các tệp nhật ký của họ được đặt tên andiwa.logrukuru.log tương ứng.


logs_on_remote_log_host

Sau đó, bạn có thể xem các tệp nhật ký bằng trình soạn thảo văn bản hoặc bằng các công cụ xem tệp Linux như cat hoặc ít hơn.

Ghi nhật ký từ xa cho phép bạn kiểm soát nhiều hơn

Hướng dẫn này đã xem xét cách thiết lập máy chủ ghi nhật ký từ xa (máy chủ lưu trữ nhật ký) trên Linux.

Máy chủ lưu trữ nhật ký cung cấp cho bạn khả năng tổ chức và kiểm soát tốt hơn khi ghi nhật ký. Ngay cả trong các tình huống mà hệ thống bị hỏng hoặc không thể truy cập được, bạn vẫn có thể xem nhật ký của hệ thống từ máy chủ lưu trữ nhật ký và tìm ra sự cố.


hai màn hình máy tính tượng trưng cho việc ghi nhật ký hệ thống

Bắt đầu với Đăng nhập Hệ thống trong Linux

Đọc tiếp


Thông tin về các Tác giả

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *