syslog之一:Linux syslog日志系统详解
目錄:
《syslog之一:Linux syslog日志系統(tǒng)詳解》
《syslog之二:syslog協(xié)議及rsyslog服務(wù)全解析》
《syslog之三:建立Windows下面的syslog日志服務(wù)器》
《Linux下dmesg命令處理故障和收集系統(tǒng)信息的7種用法》
一、syslog簡(jiǎn)介
syslog是一種工業(yè)標(biāo)準(zhǔn)的協(xié)議,可用來(lái)記錄設(shè)備的日志。在UNIX系統(tǒng),路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備中,系統(tǒng)日志(System Log)記錄系統(tǒng)中任何時(shí)間發(fā)生的大小事件。管理者可以通過(guò)查看系統(tǒng)記錄,隨時(shí)掌握系統(tǒng)狀況。UNIX的系統(tǒng)日志是通過(guò)syslogd這個(gè)進(jìn)程記錄系統(tǒng)有關(guān)事件記錄,也可以記錄應(yīng)用程序運(yùn)作事件。通過(guò)適當(dāng)?shù)呐渲茫覀冞€可以實(shí)現(xiàn)運(yùn)行syslog協(xié)議的機(jī)器間通信,通過(guò)分析這些網(wǎng)絡(luò)行為日志,藉以追蹤掌握與設(shè)備和網(wǎng)絡(luò)有關(guān)的狀況。
功能:記錄至系統(tǒng)記錄。
二 、syslog服務(wù)與配置
2.1、安裝syslog軟件包
軟件包名稱為:rsyslog-5.8.10-10.el6_6.x86_64
我用的是centos系統(tǒng),配置的有第三方的yum源,我直接yum install直接裝就OK了
裝完后用 rpm -qa | grep syslog下看是否已安裝
2.2、syslog日志系統(tǒng)可以根據(jù)程序詳細(xì)信息的不同定義不同的日志級(jí)別
2.3、Linux上的日志系統(tǒng)分為:syslog和syslog-ng(syslog日志系統(tǒng)的升級(jí)版)
2.4、syslog服務(wù):
syslog服務(wù)進(jìn)程分兩個(gè),分別是:syslogd(系統(tǒng),非內(nèi)核產(chǎn)生的日志)和klogd(專門記錄內(nèi)核產(chǎn)生的日志)
kernel-->物理終端(/dev/console)-->/var/log/dmesg
其中/var/log/dmesg文件可以使用dmesg命令和cat查看文件內(nèi)容
日志滾動(dòng)(日志切割):
所謂的滾動(dòng)是指歷史信息所保存的日志,如;messages文件日志會(huì)越來(lái)越大等到了某一段時(shí)間,會(huì)把messages文件重新命名為messages.1,系統(tǒng)并重新創(chuàng)建messages文件,所以叫做日志滾動(dòng)
/sbin/init
/var/log/messages:系統(tǒng)標(biāo)準(zhǔn)錯(cuò)誤日志信息;非內(nèi)核產(chǎn)生的引導(dǎo)信息,各子系統(tǒng)產(chǎn)生的信息
/vat/log/maillog:郵件系統(tǒng)產(chǎn)生的日志信息
/vat/log/secure:安全相關(guān)log
系統(tǒng)自帶的日志切割程序logrotate
logrotate腳本配置文件
[root@localhost cron.daily]# pwd /etc/cron.daily [root@localhost cron.daily]# vim logrotate
滾動(dòng)日志信息配置文件
[root@localhost cron.daily]# pwd
/etc/cron.daily
[root@localhost cron.daily]# vim /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly #每周滾動(dòng)一次
# keep 4 weeks worth of backlogs
rotate 4 #只保留4個(gè)切割版本文件,超過(guò)后清除
# create new (empty) log files after rotating old ones
create #滾動(dòng)完之后創(chuàng)建一個(gè)空的新的文件
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d #包括/etc/logrotate.d 下的文件,手動(dòng)添加可直接添加到此目錄
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp{
monthly #按月,自己定義
create 0664 root utmp #創(chuàng)建文件并0664權(quán)限
minsize 1M #最新1M
rotate 1 #保留幾個(gè)版本
}
/var/log/btmp{
missingok
monthly
create 0600 root utmp
rotate 1
}
# system-specific logs may be also be configured here.
[root@localhost cron.daily]#
syslog配置文件/etc/rsyslog.conf
注:centos 6 的配置文件是/etc/rsyslog.conf,centos5的配置文件是/etc/syslog.conf
2.5、配置文件定義格式為facility.priority action
facility是指哪個(gè)facility來(lái)源產(chǎn)生的日志; priority是指拿個(gè)級(jí)別的日志 ;action是指產(chǎn)生日志怎么辦是保存在文件中還是其他。。。
facility可以理解為日志的來(lái)源或設(shè)備或選擇條件,目前常用的facility有以下幾種:
auth #認(rèn)證相關(guān)的
authpriv #權(quán)限,授權(quán)相關(guān)的
cron #任務(wù)計(jì)劃相關(guān)的
daemon #守護(hù)進(jìn)程相關(guān)的
kern #內(nèi)核相關(guān)的
lpr#打印相關(guān)的
mail#郵件相關(guān)的
mark #標(biāo)記相關(guān)的
news #新聞相關(guān)的
security #安全相關(guān)的,與auth類似
syslog #syslog自己的
user #用戶相關(guān)的
uucp #unix to unix cp相關(guān)的
local0到local7 #用戶自定義使用
* #*表示所有的facility
priority(log level)日志優(yōu)先級(jí)的級(jí)別,一般分為以下幾種級(jí)別(從低到高)
注:級(jí)別越低記錄的越詳細(xì)
debug #程序或系統(tǒng)的調(diào)試信息
info #一般信息
notice #不影響正常的功能,需要提醒用戶的重要事件
warning/warn#可能影響系統(tǒng)功能,需要提醒用戶的重要事件
err/error#錯(cuò)誤信息
crit #比較嚴(yán)重的
alert #必須馬上處理的
emerg/canic#會(huì)導(dǎo)致系統(tǒng)不可用的
*#表示所有的日志級(jí)別
none#跟*相反,表示什么也沒(méi)有
action(動(dòng)作)日志記錄的位置
系統(tǒng)上的絕對(duì)路徑#普通文件 如:/var/log/XXX
| #管道 通過(guò)管道送給其他的命令出來(lái)
終端#終端 如:/dev/console
@host#遠(yuǎn)程主機(jī) 如@10.1.1.1
用戶#系統(tǒng)用戶 如:root
*#登錄到系統(tǒng)上的所有用戶,一般emerg級(jí)別的日志是這樣定義的
定義格式列子:
mail.info /var/log/mail.log #表示將mail相關(guān)的,級(jí)別為info及info以上級(jí)別的信息記錄到/var/log/mail.log文件中
auth.=info @10.1.1.1 #表示將auth相關(guān)的,級(jí)別為info的信息記錄到10.1.1.1主機(jī)上去,前提是10.1.1.1要能接收其主機(jī)發(fā)來(lái)的日志信息
user.!=error #表示記錄user相關(guān)的,不包括error級(jí)別的信息
user.!error #表示user.error相反
*.info#表示記錄所有的日志信息的info級(jí)別
mail.* #表示記錄所有mail相關(guān)的所有級(jí)別的信息
*.* #表示記錄所有的日志信息的所有的日志級(jí)別
cron.info;mail.info #多個(gè)日志來(lái)源可以用“ ; ”隔開(kāi)
cron,mail.info #與cron.info;mail.info是一個(gè)意思
mail.*;mail.!=info #表示記錄mail相關(guān)的所有級(jí)別的信息,但是不包括info級(jí)別的信息
重啟服務(wù)
#service rsyslog reload 注:不重啟但能讀到配置文件;不建議重啟
2.6、搭建Linux日志服務(wù)器
編輯配置文件 [root@localhost etc]# vim /etc/sysconfig/rsyslog
修改配置文件中SYSLOGD_OPTIONS="-c 5" 添加“ -r選項(xiàng)”即可
目的可以讓服務(wù)器能夠接受客戶端傳來(lái)的數(shù)據(jù)
配置文件如下
[root@localhost etc]# vim /etc/sysconfig/rsyslog # Options for rsyslogd # Syslogd options are deprecated since rsyslog v3. # If you want to use them, switch to compatibility mode 2 by "-c 2" # See rsyslogd(8) for more details SYSLOGD_OPTIONS="-r -c 5" ~
重啟syslog服務(wù)
[root@localhost etc]# service rsyslog restart
關(guān)閉系統(tǒng)日志記錄器: [確定]
啟動(dòng)系統(tǒng)日志記錄器:-r option only supported incompatibility modes 0 to 2 - ignored
[確定]
[root@localhost etc]#
2.7、搭建syslog客戶端
在syslog配置文件中修改/etc/rsyslog.conf
[root@localhost etc]# vim /etc/rsyslog.conf # 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.* @192.168.1.66 # Log cron stuff cron.* /var/log/cron . . . 省略
重啟syslog客戶端
[root@localhost etc]# service rsyslog restart
關(guān)閉系統(tǒng)日志記錄器: [確定]
啟動(dòng)系統(tǒng)日志記錄器:-r option only supported incompatibility modes 0 to 2 - ignored
[確定]
[root@localhost etc]#
總結(jié)
以上是生活随笔為你收集整理的syslog之一:Linux syslog日志系统详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 超短焦投影仪流明怎么测
- 下一篇: 哪家医院能做输卵管造影