日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux日志服务是哪个,『学了就忘』Linux日志管理 — 2.日志服务rsyslogd

發布時間:2025/3/20 109 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux日志服务是哪个,『学了就忘』Linux日志管理 — 2.日志服务rsyslogd 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、日志文件格式

只要是由日志服務rsyslogd記錄的日志文件,他們的格式是一樣的。

基本日志格式包含以下內容:

事件產生的時間。

發生事件的服務器的主機名。

產生事件的服務名或程序名。

事件的具體信息(具體日志信息)。

我們以/var/log/messages為例:

2、rsyslogd服務的配置文件

rsyslogd服務是的配置文件是/etc/rsyslog.conf。用來確定哪個服務的、什么等級的日志信息,會被記錄在哪個位置。也就是說,rsyslogd日志服務/etc/rsyslog.conf配置文件中主要定義了服務的名稱、日志等級和日志記錄位置。

(1)rsyslog.conf配置文件內容

rsyslog.conf配置文件的位置在/etc/rsyslog.conf配置文件說明。

# 查看/etc/rsyslog.conf配置文件的內容。

[root@localhost ~]# vim /etc/rsyslog.conf

# rsyslog v5 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

# 加載模塊。是`rsyslogd`服務必備的模塊。

#### MODULES ####

# 加載imuxsock模塊,為本地系統登錄提供支持。

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)

# 加載imklog模塊,為內核登錄提供支持。

$ModLoad imklog # provides kernel logging support (previously done by rklogd)

# 加載immark模塊,提供標記信息的能力。

#$ModLoad immark # provides --MARK-- message capability

# 如果你需要把日志發送給其他的服務器,

# 你就需要開啟下面的UPD或者TCP協議的網絡服務。

# 加載UPD模塊,允許使用UDP的514端口,接收采用UDP協議轉發的日志。

# Provides UDP syslog reception

#$ModLoad imudp

#$UDPServerRun 514

# 加載TCP模塊,允許使用TCP的514端口,接收采用TCP協議轉發的日志。

# Provides TCP syslog reception

#$ModLoad imtcp

#$InputTCPServerRun 514

# 定義全局設置。

#### GLOBAL DIRECTIVES ####

# 定義日志的時間,使用默認的時間戳格式。

# 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

# 包含/etc/rsyslog.d/目錄中所有的“.conf"子配置文件。

# 也就是說這個目錄中的所有子配置文件也同時生效。

# Include all config files in /etc/rsyslog.d/

$IncludeConfig /etc/rsyslog.d/*.conf

# 日志文件保存規則。

#### RULES ####

# kern服務.所有日志級別保存在/dev/console。

# 這個日志默認沒有開啟,如果需要,則取消注釋。

# Log all kernel messages to the console.

# Logging much else clutters up the screen.

#kern.* /dev/console

# *.info;mail.none;authpriv.none;cron.none意思是:

# 所有服務.info以上級別的日志,保存在/var/log/messages日志中。

# 除了mail,authpriv,cron的日志不記錄在/var/log/messages日志文件中,因為它們都有自己的日志文件。

# 所以/var/log/messages日志,是最重要的系統日志文件,需要經常查看!

# 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

# 用戶認證服務所有級別的日志,保存在/var/log/secure日志中。

# The authpriv file has restricted access.

authpriv.* /var/log/secure

# mail服務的所有級別的日志保存在/var/log/maillog日志中。

# “-”號的含義是日志先在內存之中保存,當日志夠多之后,再向文件中保存。

# Log all the mail messages in one place.

mail.* -/var/log/maillog

# 計劃任務的所有日志保存在/var/log/cron日志中。

# Log cron stuff

cron.* /var/log/cron

# 所有日志服務的疼痛等級日志對所有在線用戶廣播。

# Everybody gets emergency messages

*.emerg *

# uucp和news日志服務的crit以上的日志保存在/var/log/sppoler 日志文件中。

# Save news errors of level crit and higher in a special file.

uucp,news.crit /var/log/spooler

# loac17日志服務的所有日志寫入/var/log/boot.log日志中。

# 會把開機時的檢測信息在顯示到屏幕的同時,寫入/var/log/boot.log日志中

# Save boot messages also to boot.log

local7.* /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.

#$WorkDirectory /var/lib/rsyslog # where to place spool files

#$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

#*.* @@remote-host:514

# ### end of the forwarding rule ###

(2)rsyslog.conf配置文件內容說明

@1、/etc/rsyslog.conf配置文件格式

格式:

#服務名稱[連接符號]日志等級 日志記錄位置

authpriv.* /var/log/secure

說明:

認證相關服務.所有日志等級 記錄在/var/log/secure日志中。

@2、服務名稱

rsyslogd服務可以識別以下服務的日志,也可以理解為,以下這些服務委托了rsyslogd服務來代為管理日志。

服務名稱

說明

auth (LOG_AUTH)

安全和認證相關消息(不推薦使用authpriv替代)。

authpriv (LOG_AUTHPRIV)

安全和認證相關消息(私有的)。

cron (LOG_CRON)

系統定時任務cront和at產生的日志。

daemon (LOG_DAEMON)

和各個守護進程相關的日志。

ftp (LOG_FTP)

ftp守護進程產生的日志。

kern (LOG_KERN)

內核產生的日志(不是用戶進程產生的)。

local0-local7 (LOG_LOCAL0-7)

為本地使用預留的服務。

lpr (LOG_LPR)

打印產生的日志。

mail (LOG_MAIL)

郵件收發信息。

news (LOG_NEWS)

與新聞服務器相關的日志。

syslog (LOG_SYSLOG)

有syslogd服務產生的日志信息
(雖然服務名稱已經改為rsyslogd,但是很多配置都還是沿用了syslogd的,這里并沒有修改服務名)。

user (LOG_USER)

用戶等級類別的日志信息。

uucp (LOG_UUCP)

uucp子系統的日志信息,uucр是早Linux系統進行數據傳遞的協議,后來也常用在新聞組服務中。

@3、連接符號

日志服務連接日志等級的格式是:

日志服務[連接符號]日志等級 日志記錄位置

在這里連接符號可以識別為:

.代表只要比后面的等級高的(包含該等級)日志都記錄下來。

比如:cron.info代表cron服務產生的日志,只要日志等級大于等于info級別,就記錄。

.=代表只記錄所需等級的日志,其他等級的都不記錄。

比如:*.=emerg代表任何日志服務產生的日志信息,只要等級是emerg等級就記錄。(這種方式用的很少)

.!代表不等于,也就是除了該等級的日志外,其他等級的日志都記錄。

@4、日志等級

等級名稱

說明

debug (LOG_DEBUG)

一般的調試信息說明。

info (LOG_INFO)

基本的通知信息。

notice (LOG_NOTICE)

普通信息,但是有一定的重要性。

warning (LOG_WARNING)

警告信息,但是還不會影響到服務或系統的運行。

err (LOG_ERR)

錯誤信息,一般達到err等級的信息,已經可以影響到服務或系統的運行了。

crit (LOG_CRIT)

臨界狀況信息,比err等級還要嚴重。

alert (LOG_ALERT)

警告狀態信息,比crit還要嚴重。必須立即采取行動。

emerg (LOG_EMERG)

疼痛等級的日志信息,系統已經無法使用了。

*

代表所有日志等級,比如:"authpriv.*”代表authpriv認證信息服務產生的日志,所有的日志等級都記錄。

debug日志等級最低, emerg日志等級最高。日志等級低,他記錄的日志信息可能就會多些。

提示:

日志等級這里還可以識別none,如果日志等級是none,就說明忽略這個日志服務,該服務的所有日志都不再記錄。

@5、日志記錄位置

日志記錄位置就是當前日志輸出到哪個日志文件中保存,當然也可以把日志輸出到打印機打印,或者輸出到遠程日志服務器上(當然日志服務器要允許接收才行)。日志的記錄位置也是固定的,我們來學習下:

日志文件的絕對路徑。這是最常見的日志保存方法,如/var/log/secure就是保存系統驗證和授權信息日志的。

系統設備文件。如/dev/lp0代表第一臺打印機,如果日志保存位置是打印機設備的話,當有日志時就會在打印機打印(現在基本上沒有這種情況了,請放棄)。

轉發給遠程主機。因為可以選擇使用TCP協議和UDP協議傳輸日志信息,所以有兩種發送格式。

如果使用@192.168.0.210:514,就會把日志內容使用UDP協議發送到192.168.0.210的UDP 514端口上,

如果使用@@192.168.0.210:514就會把日志內容使用TCP協議發送到192.168.0.210的TCP 514端口上。

其中514是日志服務默認端口。(知道有這個功能即可)

當然只要192.168.0.210服務器同意接收此日志,就可以把日志內容保存在日志服務器上。

用戶名。如"root",就會把日志發送給root用戶,當然root要在在線,否則就收不到日志信息了。

發送日志給用戶時,可以使用*代表發送給所有在線用戶,如mail.emerg *就會把mail服務產生的所有級別的日志發送給所有在線用戶。

如果需要把日志發送給多個在線用戶,用戶名之間用,分隔。

~:忽略或丟棄日志。如果接受日志的對象是~,代表這個日志不會記錄,而被直接丟棄。

例如local3.* ~代表忽略local3服務類型所有的日志都不記錄。

(3)定義自己的日志

為什么需要自己定義日志配置文件。

因為我們日常工作中,可能需要對某些日志信息做一些操作。有自定義的日志信息,按照自己習慣或者方便查看的方式定義日志信息格式,作為模板,我們能夠更好的操作日志。

# 1.編輯/etc/rsyslog.conf配置文件。

[root@localhost ~]# vim /etc/rsyslog.conf

# 寫入如下日志信息配置。

# 把所有服務的“錯誤信息”以上的錯誤都保存在/var/log/err.log日志文件中。

*.err /var/log/err.log

# 2.重啟rsyslog服務。

[root@localhost ~]# service rsyslog restart

關閉系統日志記錄器: [確定]

啟動系統日志記錄器: [確定]

# 3.重啟rsyslog服務完成后,查看/var/log/目錄下,是否有err.log文件。

[root@localhost ~]# ll /var/log/err.log

-rw-------.1 root root 06月 6 16:33 /var/log/err.log

# 查看到了err.log日志文件,說明上面配置的"*.err"自定義日志生效了。

總結

以上是生活随笔為你收集整理的linux日志服务是哪个,『学了就忘』Linux日志管理 — 2.日志服务rsyslogd的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。