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