Vì vậy, đây là thiết lập của chúng tôi
Máy chủ: máy chủ rsyslog - CentOS 7
Khách hàng: Cisco Catalyst C6880-X-LE
/etc/rsyslog.conf
từ máy chủ CentOS 7:
$ModLoad imuxsock # hỗ trợ ghi nhật ký hệ thống cục bộ (ví dụ: thông qua lệnh logger)
$ModLoad imjournal # cung cấp quyền truy cập vào tạp chí systemd
$template TmplAuth, "/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log"
$template TmplMsg, "/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log"
authpriv.* ?TmplAuth
*.info;mail.none;authpriv.none;cron.none ?TmplMsg
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$WorkDirectory/var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalĐăng nhập
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
thư.* -/var/log/maillog
cron.* /var/log/cron
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
Vì một số lý do trong /var/log/client_logs
thư mục, nhật ký của cisco sẽ tạo một tệp .log mới mỗi khi một thông báo nhật ký mới được tạo trên công tắc. Điều này rõ ràng là không lý tưởng và tôi muốn rsyslog đặt tất cả nhật ký vào một tệp và tôi dự định để logrotate giải quyết việc tạo tệp nhật ký mới mỗi ngày.
Đây là một ví dụ về những gì tôi đang thấy trong /var/log/client_logs
danh mục
-rw------- 1 root root 184 Oct 13 14:30 156598.log
-rw------- 1 root root 164 Oct 13 14:30 156599.log
-rw------- 1 root root 186 Oct 13 14:30 156600.log
-rw------- 1 gốc gốc 162 Ngày 13 tháng 10 14:30 156601.log
-rw------- 1 root root 184 Oct 13 14:30 156602.log
-rw------- 1 gốc gốc 164 Ngày 13 tháng 10 14:35 156603.log
-rw------- 1 root root 186 Oct 13 14:35 156604.log
-rw------- 1 gốc gốc 162 Ngày 13 tháng 10 14:35 156605.log
-rw------- 1 root root 184 Oct 13 14:35 156606.log
-rw------- 1 gốc gốc 164 Ngày 13 tháng 10 14:35 156607.log
-rw------- 1 root root 186 Oct 13 14:35 156608.log
-rw------- 1 gốc gốc 162 Ngày 13 tháng 10 14:35 156609.log
-rw------- 1 root root 184 Oct 13 14:35 156610.log
-rw------- 1 gốc gốc 162 Ngày 13 tháng 10 14:39 156611.log
-rw------- 1 gốc gốc 164 Ngày 13 tháng 10 14:41 156612.log
-rw------- 1 gốc gốc 186 Ngày 13 tháng 10 14:41 156613.log
-rw------- 1 gốc gốc 162 Ngày 13 tháng 10 14:41 156614.log
-rw------- 1 root root 184 Oct 13 14:41 156615.log
Và điều này tiếp tục diễn ra mãi mãi vì nó đang tạo một .log cho mỗi tin nhắn mới được gửi từ thiết bị chuyển mạch của Cisco. Dưới đây là một ví dụ về nội dung của một trong những tệp nhật ký này
2021-10-13T14:41:10.866435-07:00 X 156613: X-Switch: .Oct 13 13:40:44 PST: %LINEPROTO-SW1-5-UPDOWN: Giao thức đường truyền trên Giao diện GigabitEthernet195/1/0/11 , thay đổi trạng thái xuống
Tôi không chắc sự cố xảy ra với cấu hình trên bộ chuyển mạch Cisco hay cấu hình rsyslog của tôi, nhưng tôi đã thực hiện việc này trước đây và chưa bao giờ gặp bất kỳ sự cố nào với các tệp .log mới được tạo cho mỗi thư được gửi đến máy chủ.
Đây là cấu hình bên switch Cisco
Switch1#show run | bao gồm đăng nhập
đăng nhập thông tin người dùng
ghi nhật ký tải lại gỡ lỗi
ghi nhật ký trạng thái liên kết sự kiện mặc định
đăng nhập tên máy chủ id gốc
máy chủ đăng nhập 10.1.1.1
đăng nhập đồng bộ
đăng nhập đồng bộ
FYI các đăng nhập máy chủ
tuyên bố là địa chỉ IP của máy chủ rsyslog CentOS 7. Tất cả các nhật ký khác được ghi lại từ các máy chủ khác đều ổn và không tạo tệp .log mới cho mỗi tin nhắn nhận được, nhưng các hệ thống khác gửi nhật ký không phải là thiết bị chuyển mạch của Cisco, chúng đều là các phiên bản khác nhau của Linux (chủ yếu là CentOS và RHEL).
Bạn có biết tại sao rsyslog đang tạo các tệp .log mới cho mọi thông báo mà nó nhận được từ bộ chuyển mạch Cisco Catalyst này không?