Cách cài đặt và cấu hình Rsyslog Server và Client trên Ubuntu 24.04

theanh

Administrator
Nhân viên
Rsyslog trên Ubuntu là một daemon ghi nhật ký hệ thống mạnh mẽ và linh hoạt được sử dụng để thu thập, lọc, lưu trữ và chuyển tiếp các thông báo nhật ký do hệ điều hành và các ứng dụng tạo ra. Đây là phiên bản nâng cao của dịch vụ syslog truyền thống, cung cấp các tính năng bổ sung như ghi nhật ký hiệu suất cao, khả năng lọc nâng cao và hỗ trợ nhiều giao thức ghi nhật ký, bao gồm TCP, UDP và RELP (Giao thức ghi nhật ký sự kiện đáng tin cậy). Rsyslog có thể xử lý các thông báo nhật ký từ nhiều nguồn khác nhau và chuyển hướng chúng đến các đích khác nhau như tệp, cơ sở dữ liệu hoặc máy chủ từ xa. Nó được sử dụng rộng rãi trong các hệ thống ghi nhật ký tập trung cho mục đích giám sát, khắc phục sự cố và kiểm toán. Bằng cách cho phép cấu hình chi tiết, Rsyslog cho phép quản trị viên Ubuntu quản lý nhật ký hệ thống hiệu quả và đảm bảo thông tin quan trọng được ghi lại và lưu trữ an toàn.

Nhật ký rất hữu ích để phân tích và khắc phục sự cố liên quan đến hệ thống và ứng dụng Linux. Theo mặc định, tất cả các tệp nhật ký đều nằm trong thư mục /var/log trong các hệ điều hành dựa trên Linux. Có một số loại tệp nhật ký, bao gồm cron, kernel, users và security, và hầu hết các tệp này được kiểm soát bởi dịch vụ Rsyslog.

Trong hướng dẫn này, tôi sẽ giải thích cách cấu hình máy chủ Rsyslog trên máy chủ Ubuntu 24.04.

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

  • Hai máy chủ chạy Ubuntu 24.04.
  • Địa chỉ IP tĩnh 192.168.0.101 được cấu hình trên máy chủ Rsyslog và 192.168.0.102 được cấu hình trên máy khách Rsyslog.
  • Mật khẩu root được cấu hình trên cả hai máy chủ.

Cài đặt Rsyslog​

Bạn có thể cài đặt Rsyslog bằng cách chạy lệnh sau lệnh:
Mã:
apt install rsyslog -y
Sau khi cài đặt Rsyslog, bạn có thể kiểm tra phiên bản Rsyslog bằng lệnh sau:
Mã:
rsyslogd -v
Bạn cũng có thể kiểm tra trạng thái của Rsyslog bằng lệnh sau lệnh:
Mã:
systemctl status rsyslog
Bạn sẽ thấy kết quả sau:
Mã:
? rsyslog.service - System Logging Service Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2024-08-22 04:28:55 UTC; 1min 31s ago Docs: man:rsyslogd(8) http://www.rsyslog.com/doc/ Main PID: 724 (rsyslogd) Tasks: 4 (limit: 1114) CGroup: /system.slice/rsyslog.service ??724 /usr/sbin/rsyslogd -n
Aug 22 04:28:53 ubuntu2404 systemd[1]: Starting System Logging Service...
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd. [v8.32.0]
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's groupid changed to 106
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's userid changed to 102
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Aug 22 04:28:55 ubuntu2404 systemd[1]: Started System Logging Service.

Cấu hình Máy chủ Rsyslog​

Rsyslog hiện đã được cài đặt và đang chạy. Tiếp theo, bạn phải cấu hình để chạy ở chế độ máy chủ. Bạn có thể chỉnh sửa tệp /etc/rsyslog.conf.
Mã:
nano /etc/rsyslog.conf
Trước tiên, bạn sẽ cần xác định giao thức là UDP hoặc TCP hoặc cả hai.

Để sử dụng cả kết nối UDP và TCP cùng lúc, hãy tìm kiếm và bỏ chú thích các dòng bên dưới:
Mã:
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
Tiếp theo, hãy xác định mạng con, IP hoặc tên miền cụ thể để giới hạn quyền truy cập như được hiển thị bên dưới:
Mã:
$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com
Tiếp theo, bạn phải tạo một mẫu để cho máy chủ Rsyslog biết cách lưu trữ các thông báo syslog đến. Thêm các dòng sau ngay trước phần GLOBAL DIRECTIVES:
Mã:
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, hãy kiểm tra cấu hình Rsyslog xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
rsyslogd -f /etc/rsyslog.conf -N1
Bạn sẽ thấy đầu ra sau:
Mã:
rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.
Cuối cùng, hãy khởi động lại dịch vụ Rsyslog bằng lệnh sau lệnh:
Mã:
systemctl restart rsyslog
Bây giờ, hãy xác minh rằng Rsyslog đang lắng nghe trên TCP/UDP bằng lệnh sau:
Mã:
netstat -4altunp | grep 514
Bạn sẽ nhận được thông báo sau đầu ra:
Mã:
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1332/rsyslogd
udp 0 0 0.0.0.0:514 0.0.0.0:* 1332/rsyslogd

Cấu hình máy khách Rsyslog​

Máy chủ Rsyslog đã được cài đặt và cấu hình để nhận nhật ký từ máy chủ từ xa.

Bây giờ, bạn phải cấu hình máy khách Rsyslog để gửi tin nhắn syslog đến máy chủ Rsyslog từ xa.

Đăng nhập vào máy khách và mở tệp cấu hình Rsyslog như hiển thị bên dưới:
Mã:
nano /etc/rsyslog.conf
Thêm các dòng sau vào cuối tệp:
Mã:
##Enable sending of logs over UDP add the following line:
*.* @192.168.0.101:514
##Enable sending of logs over TCP add the following line:
*.* @@192.168.0.101:514
##Set disk queue when rsyslog server will be down:
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Lưu và đóng tệp. Sau đó, khởi động lại máy chủ Rsyslog để áp dụng các thay đổi cấu hình:
Mã:
systemtcl restart rsyslog

Xem Nhật ký Máy khách​

Tại thời điểm này, máy khách Rsyslog được cấu hình để gửi nhật ký của chúng đến máy chủ Rsyslog.

Đăng nhập vào máy chủ Rsyslog và kiểm tra thư mục /var/log. Bạn sẽ thấy mục nhập có tên máy chủ của máy khách, bao gồm một số tệp nhật ký:
Mã:
ls /var/log/rsyslog-client/
Đầu ra:
Mã:
CRON.log kernel.log rsyslogd-2039.log rsyslogd.log sudo.log wpa_supplicant.log

Kết luận​

Trong bài viết trên, chúng ta đã tìm hiểu cách cài đặt và cấu hình máy chủ Rsyslog trên máy chủ Ubuntu 24.04 và cách cấu hình máy khách Rsyslog để gửi nhật ký đến Máy chủ Rsyslog. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên