Mặc định chương trình nào sử dụng các tiện ích syslog local [0-7]?


19

Cũng như cơ sở vật chất hệ thống chung ( mail, news, daemon, cron, vv), syslog cung cấp một loạt các cơ sở vật chất "địa phương", số 0-7: LOCAL0, LOCAL1, ..., LOCAL7.

Những cái nào là mặc định chương trình cho các ứng dụng phổ biến?

Tôi đang tìm kiếm để tìm hiểu các cơ sở "truyền thống" được sử dụng cho các dịch vụ nổi tiếng. Tôi sẽ triển khai một ứng dụng trên nhiều máy chủ, với nhiều phần mềm được cài đặt và muốn xem liệu có tiện ích "miễn phí" nào tôi có thể dễ dàng sử dụng cho nhật ký của mình không.

Như một lưu ý, tôi nhận ra có nhiều cách khác để làm việc này hơn là một cơ sở nhật ký hệ thống. Chỉ tò mò thôi!

Đây là một số, (bắt đầu trả lời câu hỏi của riêng tôi) và một số cảm ơn voretaq7:

  • LOCAL0 được sử dụng bởi postgresql
  • LOCAL2 được sử dụng bởi sudo
  • LOCAL3 được sử dụng bởi một số phiên bản của SpamAssassin
  • LOCAL4 được sử dụng theo mặc định bởi slapd (máy chủ OpenLDAP)
  • LOCAL5 đôi khi được sử dụng bởi Snort IDS
  • LOCAL7 được sử dụng cho các thông báo khởi động trên Fedora 12

Không phải tất cả các bản ghi được duyệt trước với tên của quy trình hoặc tên do người dùng xác định đã gửi nó? Tôi sử dụng để làm việc với nhật ký hệ thống và tôi không nhớ mình gặp vấn đề khi lọc các mục nhật ký theo ứng dụng.
Ly hợp

ly hợp, bạn đang đề cập đến 'thẻ' Syslog. Theo mặc định, trên Linux, thẻ bao gồm tên quy trình và ID, như 'httpd [1234]', đã tạo ra thông điệp tường trình. Nhưng bạn có thể đặt thẻ thành bất cứ điều gì bạn muốn thông qua API Syslog. Xem câu trả lời của tôi, dưới đây, để biết thêm chi tiết.
Ryan B. Lynch

Câu trả lời:


7

Các LOCALncơ sở có sẵn cho bất kỳ sử dụng địa phương và có thể thay đổi khá nhiều từ trang web này đến trang web khác.

Tôi đảm bảo rằng mỗi một trong số 8 cái có sẵn đều được sử dụng bởi một cái gì đó, vì vậy nếu bạn muốn tránh xung đột, lời khuyên tốt nhất của tôi là đăng nhập tất cả 7 để tách nhật ký và chọn một thứ mà dường như không có gì khác đang sử dụng.

Một số bạn đã bỏ lỡ (mặc định của chương trình - có thể được thay đổi cục bộ để kiểm tra kỹ):

  • LOCAL0 được sử dụng bởi postgresql (nếu được cấu hình để đăng nhập vào syslog)
  • LOCAL2 được sử dụng bởi sudo (nếu được cấu hình để đăng nhập vào syslog)
  • LOCAL3 được sử dụng bởi một số phiên bản của SpamAssassin
    • Điều này thường được thay đổi bởi quản trị viên cục bộ để đăng nhập mailthay thế
  • LOCAL5 đôi khi được sử dụng bởi Snort IDS
    • Tôi không biết đây là mặc định hay chỉ là trùng hợp ngẫu nhiên, nhưng tôi đã thấy nó trên một số cài đặt Snort

Tuyệt quá! Đây chính xác là những gì tôi đang tìm kiếm - mặc định của chương trình. Nhiều hơn được chào đón! Rõ ràng, các cơ sở khác nhau sẽ được sử dụng, tôi chỉ muốn xem những ứng dụng nào tôi sẽ sử dụng.
Jonathan Clarke

2

Không có tiêu chuẩn cho các cơ sở Syslog LOCAL0-LOCAL7. Theo thiết kế, bạn không thể tin vào việc chúng sẽ được sử dụng bởi bất cứ thứ gì. Các phân phối hoặc tổ chức cụ thể có thể có các quy ước riêng, nhưng điều đó tùy thuộc vào chính sách phân phối hoặc tổ chức, chứ không phải bất kỳ tiêu chuẩn nào rộng hơn.

Thay vào đó, bạn đã cân nhắc sử dụng "thẻ" Syslog chưa? Thẻ là các chuỗi dạng tự do được dự kiến ​​đăng nhập các thông điệp để xác định các ứng dụng hoặc kênh nhật ký cụ thể. Theo mặc định, thẻ thường được hình thành từ tên quy trình và ID (ví dụ: 'httpd [2839]') đã tạo ra dữ liệu nhật ký. Tiện ích dòng lệnh 'logger' và hầu hết các API Syslog đều hỗ trợ chỉ định bất kỳ thẻ nào bạn muốn sử dụng cho các ứng dụng của mình.

Chẳng hạn, cá nhân tôi thích sử dụng 'http-access' cho nhật ký truy cập máy chủ Apache của tôi, mà tôi gửi tới Syslog bằng cách chuyển đầu ra nhật ký của Apache tới lệnh 'logger -p local7.info -t' http-access '.


Thú vị, cảm ơn. Tuy nhiên, tôi đang xây dựng một giải pháp dựa trên một số phần mềm hiện có có thể được cấu hình để đăng nhập vào một trong số LOCAL0 đến LOCAL7. Câu hỏi của tôi thực sự liên quan đến các mặc định mà phần mềm khác nhau sử dụng.
Jonathan Clarke

Làm cho ý nghĩa, tôi đã bỏ lỡ điều đó. Nhưng tôi sẽ chỉ ra rằng có một mối nguy hiểm khi dựa vào hành vi không được chuẩn hóa ở đây. Các nhà phát triển hoặc đóng gói của OpenLDAP, Fedora, v.v. có thể (và đôi khi làm) thay đổi các hành vi này từ phiên bản này sang phiên bản khác. Không có gì đảm bảo rằng một bản cập nhật sẽ không phân kỳ khỏi bất kỳ lựa chọn cơ sở Syslog nào được thực hiện trong quá khứ. Đây không phải là một sự cố thỏa thuận, chỉ là một vấn đề tiềm năng mà bạn có thể muốn đề phòng.
Ryan B. Lynch

2

Hầu hết các tệp syslog.conf được thiết lập với các tiện ích ký tự đại diện cho tệp tin nhắn (* .info). Nếu đây chỉ là một ứng dụng chạy và không phải là một con bò đang đăng nhập đầy đủ, bạn có lẽ chỉ nên đăng nhập vào tin nhắn và không phải là một tệp độc lập.

Chọn đăng nhập vào tệp của riêng bạn có nghĩa là thêm một bước cài đặt vào gói cài đặt phần mềm của bạn để thêm một mục thích hợp trong syslog.conf. Điều này cũng có nghĩa là nếu bạn tốt, bạn sẽ thêm một bước cài đặt để tạo một tệp logrotate thích hợp.


Mẹo hay về bao bì cho syslog và logrotate. Cảm ơn.
Jonathan Clarke

-3

Tôi cũng đang tìm kiếm một tệp cấu hình như syslog.conf để tham chiếu chéo các cơ sở local0-7 cho chương trình đang ghi cho chúng. Dường như một tập tin cấu hình như vậy không tồn tại. Để tìm hiểu chương trình nào đang ghi vào nhật ký, bạn sẽ phải mở tệp nhật ký và tìm tên chương trình bên cạnh cột bên cạnh dấu hai chấm, ví dụ ... sendmail [22950]: dành cho chương trình sendmail. Số trong dấu ngoặc vuông là số cổng được sử dụng trong quá trình thực thi chương trình.

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.