Rsyslog là gì

Trong phần tiếp theo, mình sẽ giới thiệu với anh em vào phần thực hành với syslog và rsyslog để mang lại tính thực tế về log đã được giới thiệu trong phần một và phần hai ở các bài trước.Bạn đang xem: Syslog là gì

1. Chuyên mục điểm tin vắn

Rsyslog là gì


Trước tiên xin chúc toàn thể các bạn đọc của Blog 365 có một cái Tết ấm no, hạnh phúc và đặc biệt AN TOÀN (server hệ thống dù Tết Tây hay Ta đều uptime 100%).

Bạn đang xem: Syslog là gì

Như thường lệ, hãy cùng điểm lại một số nội dung có trong phần 2 của chuỗi series về LOG.

Những tiêu điểm cần nắm vững trong bài thứ 2 đó là :

Phân loại các file log mặc định của LinuxChức năng của từng file LogCác câu lệnh đọc và phân tích Log

Và tại phần 3 này, mình sẽ giới thiệu giao thức Log cổ xưa nhất, lâu đời nhất, nhưng vẫn vô cùng hiệu quả và được sử dụng tới tận bây giờ. Đó chính là Syslog.

2. Giới thiệu về Syslog trong Linux

Như chúng ta đã tìm hiểu trong phần 2, khi một máy Linux được cài lên, máy đó sẽ tự động sinh ra các file log mặc định. Và người quản lý việc sinh ra log đó chính là Syslog.

Vậy Syslog là gì?

Syslog là một giao thức dùng để xử lý các file log Linux. Các file log có thể được lưu tại chính máy Linux đó, hoặc có thể di chuyển và lưu tại 1 máy khác. (Lý do phải chuyển các log lưu tại nơi khác bạn hãy xem ở phần 4 nhé !).

Một số đặc điểm của Syslog cần lưu ý :

Syslog có thể gửi qua UDP hoặc TCP.Các dữ liệu log được gửi dạng cleartext.Syslog mặc định dùng cổng 514.

Syslog được phát triển như thế nào?

Syslog được phát triển năm 1980 bởi Eric Allman, nó là một phần của dự án Sendmail, và ban đầu chỉ được sử dụng duy nhất cho Sendmail. Nó đã thể hiện giá trị của mình và các ứng dụng khác cũng bắt đầu sử dụng nó. Syslog hiện nay trở thành giải pháp khai thác log tiêu chuẩn trên Unix-Linux cũng như trên hàng loạt các hệ điều hành khác và thường được tìm thấy trong các thiết bị mạng như router Trong năm 2009, Internet Engineering Task Forec (IETF) đưa ra chuẩn syslog trong RFC 5424.

Syslog ban đầu sử dụng UDP, điều này là không đảm bảo cho việc truyền tin. Tuy nhiên sau đó IETF đã ban hành RFC 3195 (Đảm bảo tin cậy cho syslog) và RFC 6587 (Truyền tải thông báo syslog qua TCP). Điều này có nghĩa là ngoài UDP thì giờ đây syslog cũng đã sử dụng TCP để đảm bảo an toàn cho quá trình truyền tin.

Xem thêm: Attribute To Là Gì Và Cấu Trúc Từ Attribute Trong Câu Tiếng Anh

Syslog được dùng như thế nào?

Syslog là một giao thức, và được sử dụng bới dịch vụ Rsyslog. Dịch vụ Rsyslog mới là người đưa ra các quyết định như sử dụng port nào để vận chuyển log, sau bao nhiêu lâu thì log sẽ được xoay vòng…

Chúng ta cần làm rõ các khái niệm xoay quanh Syslog :

Syslog : Giao thức dùng để xử lý file log trong Linux.Rsyslog : Dịch vụ sử dụng Syslog

3. Phân tích cấu hình của Syslog

File cấu hình của syslog :

Trong CENTOS, file cấu hình là /etc/rsyslog.conf . File này chứa cả các rule về logTrong UBUNTU file cấu hình là /etc/rsyslog.conf nhưng các rule được định nghĩa riêng trong /etc/rsyslog.d/50-defaul.conf .

File rule này được khai báo include từ file cấu hình /etc/rsyslog.confDưới đây là file cấu hình và khai báo rule trong CENTOS

# rsyslog configuration file# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html#### MODULES ##### The imjournal module bellow is now used as a message source instead of imuxsock.$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)$ModLoad imjournal # provides access to the systemd journal#$ModLoad imklog # reads kernel messages (the same are read from journald)#$ModLoad immark # provides --MARK-- message capability# Provides UDP syslog reception#$ModLoad imudp#$UDPServerRun 514# Provides TCP syslog reception#$ModLoad imtcp#$InputTCPServerRun 514#### GLOBAL DIRECTIVES ##### Where to place auxiliary files$WorkDirectory /var/lib/rsyslog# Use default timestamp format$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat# File syncing capability is disabled by default. This feature is usually not required,# not useful and an extreme performance hit#$ActionFileEnableSync on# Include all config files in /etc/rsyslog.d/$IncludeConfig /etc/rsyslog.d/*.conf# Turn off message reception via local log socket;# local messages are retrieved through imjournal now.$OmitLocalLogging on# File to store the position in the journal$IMJournalStateFile imjournal.state#### RULES ##### Log all kernel messages to the console.# Logging much else clutters up the screen.#kern.* /dev/console# Log anything (except mail) of level info or higher.# Don"t log private authentication messages!*.info;mail.none;authpriv.none;cron.none /var/log/messages# The authpriv file has restricted access.authpriv.* /var/log/secure# Log all the mail messages in one place.mail.* -/var/log/maillog# Log cron stuffcron.* /var/log/cron# Everybody gets emergency messages*.emerg :omusrmsg:*# Save news errors of level crit and higher in a special file.uucp,news.crit /var/log/spooler# Save boot messages also to boot.loglocal7.* /var/log/boot.log# ### begin forwarding rule #### The statement between the begin ... end define a SINGLE forwarding# rule. They belong together, do NOT split them. If you create multiple# forwarding rules, duplicate the whole block!# Remote Logging (we use TCP for reliable delivery)## An on-disk queue is created for this action. If the remote host is# down, messages are spooled to disk and sent when it is up again.#$ActionQueueFileName fwdRule1 # unique name prefix for spool files#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown#$ActionQueueType LinkedList # run asynchronously#$ActionResumeRetryCount -1 # infinite retries if host is down# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional#*.* File cấu hình của syslog cho ta thấy được nơi nơi lưu log của các service cơ bản trong hệ thống. Ví dụ như :