Điểm:0

Sự cố với rsyslog khi tạo các tệp nhật ký đa dạng từ một công tắc cisco từ xa

lá cờ cn

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?

Điểm:1
lá cờ vn

Ví dụ về tin nhắn như sau:

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

Có vẻ như PROGRAMNAME trỏ đến số được tăng thêm một với mỗi tin nhắn, trong trường hợp cụ thể này là 156613:

$template TmplAuth, "/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log"

Vì vậy, cấu hình ở trên có vẻ chính xác. Nguyên nhân gốc rễ có thể là PROGRAMNAME được tăng dần trong thông báo.

Richie086 avatar
lá cờ cn
Rất đẹp! đó đã làm các trick. Chào mừng bạn đến với Stack Exchange btw!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.