Cách thiết lập máy chủ Rsyslog trên Ubuntu 18.04 LTS

theanh

Administrator
Nhân viê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 trong 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, security và hầu hết các tệp này được dịch vụ Rsyslog kiểm soát.

Rsyslog là một hệ thống mạnh mẽ và an toàn để xử lý nhật ký. Máy chủ Rsyslog nhận nhật ký qua mạng từ một số máy chủ vật lý hoặc ảo hóa và theo dõi tình trạng hoạt động của các dịch vụ khác nhau. Với máy chủ Rsyslog, bạn có thể theo dõi nhật ký cho các máy chủ khác, thiết bị mạng và ứng dụng từ xa từ vị trí tập trung.

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

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

  • Hai máy chủ chạy Ubuntu 18.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 gốc được cấu hình trên cả hai máy chủ.

Cài đặt Rsyslog​

Theo mặc định, Rsyslog được cài đặt trong máy chủ Ubuntu 18.04. Nếu chưa cài đặt, bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get 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 sẽ nhận được kết quả sau:
Mã:
rsyslogd 8.32.0, được biên dịch bằng: PLATFORM: x86_64-pc-linux-gnu PLATFORM (lsb_release -d): FEATURE_REGEXP: Có Hỗ trợ GSSAPI Kerberos 5: Có FEATURE_DEBUG (bản dựng gỡ lỗi, mã chậm): Không Hỗ trợ hoạt động Atomic 32 bit: Có Hỗ trợ hoạt động Atomic 64 bit: Có Bộ phân bổ bộ nhớ: Mặc định của hệ thống Runtime Instrumentation (mã chậm): Không Hỗ trợ uuid: Có Hỗ trợ systemd: Có Số bit trong số nguyên RainerScript: 64Xem http://www.rsyslog.com để biết thêm thông tin.
Bạn cũng có thể kiểm tra trạng thái của Rsyslog bằng lệnh sau:
Mã:
systemctl status rsyslog
Bạn sẽ thấy đầu ra sau:
Mã:
? rsyslog.service - Dịch vụ ghi nhật ký hệ thống Đã tải: đã tải (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Tue 2019-10-22 04:28:55 UTC; 1 phút 31 giây trước Tài liệu: man:rsyslogd(8) http://www.rsyslog.com/doc/ PID chính: 724 (rsyslogd) Nhiệm vụ: 4 (giới hạn: 1114) CGroup: /system.slice/rsyslog.service ??724 /usr/sbin/rsyslogd -n22 tháng 10 04:28:53 ubuntu1804 systemd[1]: Đang khởi động Dịch vụ ghi nhật ký hệ thống...22 tháng 10 04:28:54 ubuntu1804 rsyslogd[724]: imuxsock: Đã lấy được socket UNIX '/run/systemd/journal/syslog' (fd 3) từ systemd. [v8.32.0]22 tháng 10 04:28:54 ubuntu1804 rsyslogd[724]: groupid của rsyslogd đã thay đổi thành 10622 tháng 10 04:28:54 ubuntu1804 rsyslogd[724]: userid của rsyslogd đã thay đổi thành 10222 tháng 10 04:28:54 ubuntu1804 rsyslogd[724]: [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start22 tháng 10 04:28:55 ubuntu1804 systemd[1]: Đã bắt đầu Dịch vụ ghi nhật ký hệ thống.

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

Rsyslog hiện là đã cài đặt và chạy. Tiếp theo, bạn sẽ cần cấu hình để chạy ở chế độ máy chủ. Bạn có thể thực hiện bằng cách 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 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 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 sẽ cần 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 đó, 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: phiên bản 8.32.0, chạy xác thực cấu hình (mức 1), cấu hình chính /etc/rsyslog.confrsyslogd: Kết thúc chạy xác thực cấu hình. Tạm biệt.
Cuối cùng, khởi động lại dịch vụ Rsyslog bằng lệnh sau:
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 kết quả đầu ra sau:
Mã:
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1332/rsyslogdudp 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 sẽ cần 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##Kích hoạt gửi nhật ký qua TCP, thêm dòng sau:*.* @@192.168.0.101:514##Đặt hàng đợi đĩa khi máy chủ rsyslog ngừng hoạt động:$ActionQueueFileName hàng đợi$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​

Lúc 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.

Bây giờ, hãy đă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 18.04. Chúng ta cũng đã tìm hiểu 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