Hướng dẫn cấu hình máy chủ Rsyslog trên Ubuntu 18.04

0

Logs rất hữu ích để phân tích và khắc phục mọi 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ý được đặt 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, người dùng, bảo mật và hầu hết các tệp này được kiểm soát bởi dịch vụ Rsyslog.

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 sức khỏe 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ủ, thiết bị mạng và ứng dụng từ xa khác từ vị trí tập trung.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách định 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.
  • Một địa chỉ IP tĩnh 192.168.0.101 được định cấu hình trên máy chủ Rupyslog và 192.168.0.102 được định cấu hình trên máy khách Rupyslog.
  • Một 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 không được cài đặt, bạn có thể cài đặt nó bằng cách chạy lệnh sau:

apt-get install rsyslog -y

Sau khi cài đặt Rsyslog, bạn có thể kiểm tra phiên bản của Rupyslog bằng lệnh sau:

rsyslogd -v

Bạn sẽ nhận được đầu ra sau:

rsyslogd 8.32.0, compiled with:
	PLATFORM:				x86_64-pc-linux-gnu
	PLATFORM (lsb_release -d):		
	FEATURE_REGEXP:				Yes
	GSSAPI Kerberos 5 support:		Yes
	FEATURE_DEBUG (debug build, slow code):	No
	32bit Atomic operations supported:	Yes
	64bit Atomic operations supported:	Yes
	memory allocator:			system default
	Runtime Instrumentation (slow code):	No
	uuid support:				Yes
	systemd support:			Yes
	Number of Bits in RainerScript integers: 64

See http://www.rsyslog.com for more information.

Bạn cũng có thể kiểm tra trạng thái của Rsyslog bằng lệnh sau:

systemctl status rsyslog

Bạn sẽ thấy đầu ra sau:

? rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-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

Oct 22 04:28:53 ubuntu1804 systemd[1]: Starting System Logging Service...
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.32.0]
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's groupid changed to 106
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's userid changed to 102
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Oct 22 04:28:55 ubuntu1804 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 sẽ cần cấu hình nó để chạy trong chế độ máy chủ. Bạn có thể làm điều đó bằng cách chỉnh sửa tệp /etc/rsyslog.conf.

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 tìm kiếm và bỏ ghi chú các dòng dưới đây:

$ ModLoad imudp
$ UDPServerRun 514
$ ModLoad imtcp
$ InputTCPServerRun 514

Tiếp theo, 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:

$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 để báo cho máy chủ Rsyslog cách lưu trữ các thông báo nhật ký hệ thống đến. Thêm các dòng sau ngay trước phần TRỰC TIẾP TOÀN CẦU:

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

Lưu và đóng tệp khi bạn hoàn thành. 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:

rsyslogd -f /etc/rsyslog.conf -N1

Bạn sẽ thấy đầu ra sau:

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, khởi động lại dịch vụ Rsyslog bằng lệnh sau:

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:

netstat -4altunp | grep 514

Bạn sẽ nhận được đầu ra sau:

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 Rupyslog

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

Bây giờ, bạn sẽ cần phải định cấu hình máy khách Rsyslog để gửi tin nhắn nhật ký hệ thống đế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ư hình dưới đây:

nano /etc/rsyslog.conf

Thêm các dòng sau vào cuối tập tin:

##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 tin. Sau đó, khởi động lại máy chủ Rsyslog để áp dụng các thay đổi cấu hình:

systemtcl restart rsyslog

Xem nhật ký khách hàng

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

Bây giờ, đă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 với tên máy chủ của máy khách của bạn bao gồm một số tệp nhật ký:

ls /var/log/rsyslog-client/

Đầu ra:

CRON.log  kernel.log  rsyslogd-2039.log  rsyslogd.log  sudo.log  wpa_supplicant.log

Phần kết luận

Trong bài viết trên, chúng tôi đã tìm hiểu cách cài đặt và định cấu hình máy chủ Rsyslog trên máy chủ Ubuntu 18.04. Chúng tôi cũng đã tìm hiểu cách định cấu hình ứng dụng khách Rupyslog để gửi nhật ký đến máy chủ Rupyslog. Hãy hỏi tôi nếu bạn có bất kỳ câu hỏi nào.

Leave a Reply

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