thêm cơ sở nhật ký hệ thống mới


27

Tôi muốn sử dụng syslog để ghi nhật ký các thông báo đến từ trang web dựa trên PHP của tôi. Câu hỏi của tôi là - tôi có thể thêm tên cơ sở tùy chỉnh không? Tôi biết có những cơ sở được xác định trước như:

auth, authpriv, cron, dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7.

Và theo tôi hiểu, tôi có thể sử dụng các cơ sở local0 - local6 cho việc này.

Nhưng tôi chỉ cảm thấy rằng nếu tôi có thể thêm một cái gì đó như thế này vào syslog:

mySiteName.* /var/log/mySiteName.log

Nó sẽ dễ hiểu hơn cho người khác. Thật không may, dòng trên cho kết quả:

rsyslogd-3000: unknown facility name "mySiteName"

Vậy - có cách nào để sử dụng tên cơ sở tùy chỉnh không?

Câu trả lời:


27

Các syslog giao diện chỉ cho phép một tập cố định của các cơ sở, xác định bởi hằng số trong /usr/include/sys/syslog.h. Việc cung cấp duy nhất cho các cơ sở tùy chỉnh là local0thông qua local7.

Những gì bạn có thể làm để phân tách nhật ký của các máy chủ khác nhau là sử dụng các bộ lọc để khớp với nguồn gốc hoặc văn bản của từng thông điệp tường trình. Rsyslog có các bộ lọc khá mạnh (đọc các thuộc tính có sẵn để khớp ).


7

Không chính xác áp dụng cho câu hỏi nhưng hy vọng ví dụ hữu ích cho daemon không cung cấp cơ sở riêng của họ:

:programname, isequal, "uptimed" /var/log/uptimed.log

2
Những triển khai syslog mà bạn đang đề cập đến? (Hoặc là tiêu chuẩn này?)
sr_

1
Thêm dòng này vào /etc/rsyslog.conf đã hoạt động với rsyslogd 8.4.2
ztk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.