對于linux中的日志文件很多的朋友對于這個不是很了解,下文小編為各位整理了一篇關于日志文件的一些常識,有興趣的可以和小編來看看.
概述:日志文件的概念很好理解,就是什么時間,誰,在哪里里,做了什么事。專門有一個叫做syslog(ubuntu采用的拓展的rsyslog)的程序來負責收集系統產生的這些信息,然后按照規則把他們寫道特定的地方,這些地方包括文件,控制臺,打印機,遠程主機等。由于日志文件記錄信息逐漸增多,就需要有程序管理日志文件,這就是logrotate。對于這兩個程序的認識主要對配置文件的了解。但是最重要的不是這些,而是要能看懂日志信息,這就要對系統,對服務等有個全面的認識,這樣才能知道日志文件里說的是怎么一回事。
syslog配置:
語法:服務名稱 [運算符] 信息等級 記錄信息的位置
服務名稱:該服務產生的訊息會被紀錄的意 思。syslog 認識的服務主要有底下這些:
auth, authpriv:主要與認證有關的機制,例如telnet, login, ssh 等需要認證的服務都是使用此一機制;
cron:例行性命令 cron/at 等產生訊息記錄的地方;
daemon:與各個 daemon 有關的訊息;
kern:核心 (kernel) 產生訊息的地方;
lpr:打印相關的訊息!
mail:只要與郵件收發有關的訊息紀錄都屬于這個;
news:與新聞群組服務器有關的東西;
syslog:syslogd 這支程序本身產生的信息啊!
user, uucp, local0 /~ local7:與 Unix like 機器本身有關的一些訊息。
運算符
運算符限制了記錄信息的范圍
. :代表比后面還要高的等級(含該等級)都被記錄下來的意思, 例如:mail.info 代表只要是 mail 的信息,而且該信息等級高于 info (含info )時,就會被記錄下來;
.=:代表所需要的等級就是后面接的等級而已;
.!:代表不等于。
信息等級
信息等級:總共分成下列幾種等級:
info:提示一些訊息數據;
notice:注意!需要比較留意的訊息;
waring 或 warn:警示的訊息,以上三個訊息都還是沒有錯誤的情況,雖然是需要留意,但是還沒有到錯誤的情況;
err 或 error:呀!錯誤訊息出現了!該要檢驗錯誤的問題發生原因了;
crit:臨界點了!再不處理可就傷腦筋了!
alert:錯誤訊息一再地警告警告!你將要完蛋了!
emerg 或 panic:阿!系統已經進入混亂的階段!真的是完蛋了~~
特殊等級:例如 debug(顯示較多的信息)及 none(不要記錄該服務的內容)等.
記錄日志位置
記錄信息的位置,檔案的絕對路徑:通常就是放在 /var/log 里頭的檔案啦,如果絕對路徑后跟“-”表示異步寫入,這樣能提升性能.
打印機或其它設備:例如 /dev/lp0 這個打印機裝置,/dev/console指控制臺
使用者名稱:如root,顯示給使用者,就是告訴所有用戶.
遠程主機:例如 @test.adsldns.org
配置文件示例:
- # 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 stuff
- cron.* /var/log/cron
- # Everybody gets emergency messages
- *.emerg *
- # Save news errors of level crit and higher in a special file.
- uucp,news.crit /var/log/spooler
- # Save boot messages also to boot.log
- local7.* /var/log/boot.log
logrotate配置:
/etc/logrotate.conf和/etc/logrotate.d/*
這是一個默認配置文件,也就是如果具體的服務沒有具體設置就采用此默認項.
- # see "man logrotate" for details
- # rotate log files weekly
- weekly
- # keep 4 weeks worth of backlogs
- rotate 4
- # create new (empty) log files after rotating old ones
- create
- # uncomment this if you want your log files compressed
- #compress
- # RPM packages drop log rotation information into this directory
- #具體程序的配置文件在下面這個目錄內,語法規則類似
- include /etc/logrotate.d
- # no packages own wtmp -- we'll rotate them here
- /var/log/wtmp { --Vevb.com
- monthly
- minsize 1M
- create 0664 root utmp
- rotate 1
- }
- # system-specific logs may be also be configured here.
新聞熱點
疑難解答