15、日志管理-2

日志管理2

1、日志服務(wù)的配置文件

? ? [loring ~]# vim /etc/rsyslog.conf

? ? ? ? ? ? # Provides UDP syslog reception? //提供接收遠(yuǎn)程日志的服務(wù)的

? ? ? ? ? ? #$ModLoad imudp

? ? ? ? ? ? #$UDPServerRun 514


? ? ? ? ? ? #### GLOBAL DIRECTIVES ####? //全局配置部分

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

? ? ? ? ? ? $IncludeConfig /etc/rsyslog.d/*.conf? ? //表示包含/etc/rsyslog.d/目錄下所有以.conf結(jié)尾的配置文件


? ? ? ? ? ? *.info;mail.none;authpriv.none;cron.none? ? ? ? ? ? ? ? /var/log/messages

? ? ? ? ? ? ? authpriv.*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /var/log/secure

? ? ? ? ? ? ? mail.*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -/var/log/maillog

? ? ? ? ? ? ? cron.*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /var/log/cron

? ? ? ? ? ? *.emerg? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *

? ? ? ? ? ? ? uucp,news.crit? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /var/log/spooler

? ? ? ? ? ? ? local7.*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /var/log/boot.log

? ? ? ? ? ? 服務(wù)或者設(shè)備.日志的級(jí)別? ? ? ? ? ? ? ? ? ? ? ? ? 日志記錄到哪個(gè)文件


? ? ? ? ? ? local0~local7:自定義的服務(wù)名


2、authpriv.*?

? ? ? 服務(wù)或者設(shè)備.日志的級(jí)別

? ? ? 1)服務(wù)名稱(chēng)

? ? ? ? ? ? authpriv(auth):用戶(hù)授權(quán)相關(guān)的,認(rèn)證等? ssh、login、su等

? ? ? ? ? ? cron:和計(jì)劃任務(wù)相關(guān)的服務(wù)

? ? ? ? ? ? mail:和郵件相關(guān)的

? ? ? ? ? ? news:新聞相關(guān)的? uucp

? ? ? ? ? ? kern:和內(nèi)核相關(guān)的

? ? ? ? ? ? lpr:打印機(jī)相關(guān)的

? ? ? ? ? ? syslog:和rsyslogd進(jìn)程相關(guān)的

? ? ? ? ? ? local0~local7:自定義服務(wù)名稱(chēng)

? ? 2)日志的級(jí)別:級(jí)別越高、日志越少

? ? ? ? ? ? (1)none:不記錄日志

? ? ? ? ? ? (2)debug:調(diào)試信息

? ? ? ? ? ? (3)info:一般的通知信息

? ? ? ? ? ? (4)notice:提醒信息,比info稍微重要點(diǎn)

? ? ? ? ? ? (5)warning(warn):警告信息,可能有問(wèn)題

? ? ? ? ? ? (6)err(error):錯(cuò)誤信息

? ? ? ? ? ? (7)critical(crit):比較嚴(yán)重的錯(cuò)誤

? ? ? ? ? ? (8)alert:警報(bào)信息,需要立即行動(dòng)

? ? ? ? ? ? (9)emerg(panic):緊急(恐慌),系統(tǒng)可能已經(jīng)不可用了

? ? 3)服務(wù)名稱(chēng).日志等級(jí)的表示

? ? ? ? ? ? .? —— mail.warning? 表示記錄mail服務(wù),warning及其以上級(jí)別的日志

? ? ? ? ? ? .=? —— mail.=warning? 表示記錄mail服務(wù)warning級(jí)別日志

? ? ? ? ? ? .! —— mail.!warning 表示除了warning級(jí)別以外的,其他級(jí)別的所有日志都記錄

? ? ? ? ? ? .none —— 表示不記錄

? ? ? ? ? ? * —— 表示所有

? ? ? ? ? ? *.? —— 表示所有服務(wù)

? ? ? ? ? ? .* —— 表示所有日志級(jí)別

? ? ? ? ? ? *.* —— 所有服務(wù)的所有級(jí)別的日志

小實(shí)驗(yàn)

? ? [loring ~]# vim /etc/rsyslog.conf? 在第46行添加如下行:

? ? ? ? authpriv.*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /usr/local/secure? ? ? //自己規(guī)定一個(gè)日志文件

? ? [loring ~]# /etc/init.d/rsyslog restart

? ? 標(biāo)簽一:

? ? [loring ~]# tail -0f /usr/local/secure


? ? 標(biāo)簽二:

? ? ? ? [loring ~]# su - test

? ? ? ? [test@server150 ~]$ su - root

? ? ? ? ? ? Password:

? ? ? ? ? ? su: incorrect password

? ? 看標(biāo)簽一的日志變化。

? ? ? ? [loring ~]# tail -0f /usr/local/secure

? ? ? ? ? ? Aug? 3 12:41:47 server150 su: pam_unix(su-l:session): session closed for user test

? ? ? ? ? ? Aug? 3 12:41:51 server150 su: pam_unix(su-l:session): session opened for user test by root(uid=0)

? ? ? ? ? ? Aug? 3 12:41:55 server150 su: pam_unix(su-l:auth): authentication failure; logname=root uid=500 euid=0 tty=pts/5 ruser=test rhost=? user=root

? ? ? ? 注意:

? ? ? ? ? ? 1)書(shū)寫(xiě)錯(cuò)誤

? ? ? ? ? ? 2)selinux必須要關(guān)閉的或者是permissive模式,否則無(wú)法自動(dòng)生成你配置的日志文件

為了防止別人修改我的日志,如何做?

? ? [loring ~]# chattr +a /var/log/secure


遠(yuǎn)程日志? :可以做日志的備份,也可以做日志的集中管理

? ? 集中管理日志的軟件:splunk? ELK

? ? 環(huán)境:

? ? ? ? 172.16.12.250? 遠(yuǎn)程服務(wù)器

? ? ? ? 172.16.254.251? 本地服務(wù)器

? ? 1、本地配置

? ? ? ? [loring ~]# vim /etc/rsyslog.conf

? ? ? ? ? ? ? ? *.*? ? @172.16.12.250? ? // 此處IP為遠(yuǎn)程服務(wù)器IP

? ? 2、遠(yuǎn)程服務(wù)器配置

? ? ? ? [loring ~]# vim /etc/rsyslog.conf

? ? ? ? # Provides UDP syslog reception? 開(kāi)啟接收遠(yuǎn)程日志的功能

? ? ? ? ? ? ? ? $ModLoad imudp

? ? ? ? ? ? ? ? $UDPServerRun 514

? 3、本地服務(wù)器和遠(yuǎn)程服務(wù)器分別重啟rsyslog服務(wù)

? ? ? ? [loring ~]# /etc/init.d/rsyslog restart? ? //254.251

? ? ? ? ? ? Shutting down system logger:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? OK? ]

? ? ? ? ? ? Starting system logger:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? OK? ]

? ? ? ? [root@srv12 ~]# /etc/init.d/rsyslog restart? ? ? ? ? ? //12.250

? ? ? ? ? ? Shutting down system logger:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? OK? ]

? ? ? ? ? ? Starting system logger:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? OK? ]

? 4、驗(yàn)證

? ? ? ? 在本地隨意切換幾次路徑

? ? ? ? 在遠(yuǎn)程動(dòng)態(tài)監(jiān)控日志


? ? ? ? 注意:

? ? ? ? ? ? 1)服務(wù)別忘記重啟

? ? ? ? ? ? 2)本地selinux關(guān)閉

? ? ? ? ? ? 3)遠(yuǎn)程主機(jī)的防火墻關(guān)閉

? ? ? ? ? ? 4)盡量不要互相傳日志

日志的輪替、日志的輪滾

? ? 為什么要輪滾?

? ? ? ? 1)防止日志文件過(guò)大

? ? ? ? 2)定期清除日志


日志輪滾的配置文件

? ? # vim /etc/logrotate.conf

? ? # grep -v ^# /etc/logrotate.conf | grep -v ^$

? ? ? ? weekly? ? ? //輪滾的周期,一周一輪滾,默認(rèn)每一周執(zhí)行一次rotate輪轉(zhuǎn)工作

? ? ? ? rotate 4? ? //保留多少個(gè)日志文件(輪轉(zhuǎn)幾次).默認(rèn)保留四個(gè).就是指定日志文件刪除之前輪轉(zhuǎn)的次數(shù),0 指沒(méi)有備份

? ? ? ? create? ? ? //舊日志輪滾后是否創(chuàng)建新的空白日志

? ? ? ? dateext? ? //就是切割后的日志文件以當(dāng)前日期為格式結(jié)尾,如xxx.log-20131216這樣,如果注釋掉,切割出來(lái)是按數(shù)字遞增,即 xxx.log-1這種格式

compress? ? ? //是否通過(guò)gzip壓縮轉(zhuǎn)儲(chǔ)以后的日志文件,如xxx.log-20131216.gz ;如果不需要壓縮,注釋掉就行

? ? ? ? include /etc/logrotate.d? ? //包含該路徑下的所有配置文件

? ? ? ? /var/log/wtmp {? ? ? ? ? ? //僅針對(duì) /var/log/wtmp 所設(shè)定的參數(shù)

? ? ? ? ? ? monthly? ? ? ? ? ? ? ? ? ? //輪滾周期,一個(gè)月

? ? ? ? ? ? create 0664 root utmp? //創(chuàng)建新的日志文件? 權(quán)限664 所有者root 所屬組utmp

? ? ? ? minsize 1M? ? ? ? ? ? ? ? ? //文件大小超過(guò) 1M 后才會(huì)切割

? ? ? ? ? ? rotate 1? ? ? ? ? ? ? ? ? ? ?

? ? ? ? }

? ? ? ? /var/log/btmp {

? ? ? ? ? ? missingok? ? ? ? ? ? ? //丟了也沒(méi)關(guān)系

? ? ? ? ? ? monthly

? ? ? ? ? ? create 0600 root utmp

? ? ? ? ? ? rotate 1

? ? ? ? }

? ? ? ? 其他重要參數(shù)說(shuō)明

---------------------------------------------------------------------------------------------------------

compress? ? ? ? ? ? ? ? 通過(guò)gzip 壓縮轉(zhuǎn)儲(chǔ)以后的日志

nocompress? ? ? ? ? ? ? 不做gzip壓縮處理

copytruncate? ? ? ? ? ? 用于還在打開(kāi)中的日志文件,把當(dāng)前日志備份并截?cái)?;是先拷貝再清空的方式,拷貝和清空之間有一個(gè)時(shí)間差,可能會(huì)丟失部分日志數(shù)據(jù)。

nocopytruncate? ? ? ? ? 備份日志文件不過(guò)不截?cái)?/p>

create mode owner group? 輪轉(zhuǎn)時(shí)指定創(chuàng)建新文件的屬性,如create 0777 nobody nobody

nocreate? ? ? ? ? ? ? ? ? 不建立新的日志文件

delaycompress? ? ? ? ? ? 和compress 一起使用時(shí),轉(zhuǎn)儲(chǔ)的日志文件到下一次轉(zhuǎn)儲(chǔ)時(shí)才壓縮

nodelaycompress? ? ? ? ? 覆蓋 delaycompress 選項(xiàng),轉(zhuǎn)儲(chǔ)同時(shí)壓縮。

missingok? ? ? ? ? ? ? ? 如果日志丟失,不報(bào)錯(cuò)繼續(xù)滾動(dòng)下一個(gè)日志

errors address? ? ? ? ? ? 轉(zhuǎn)儲(chǔ)時(shí)的錯(cuò)誤信息發(fā)送到指定的Email 地址

ifempty? ? ? ? ? ? ? ? ? 即使日志文件為空文件也做輪轉(zhuǎn),這個(gè)是logrotate的缺省選項(xiàng)。

notifempty? ? ? ? ? ? ? ? 當(dāng)日志文件為空時(shí),不進(jìn)行輪轉(zhuǎn)

mail address? ? ? ? ? ? ? 把轉(zhuǎn)儲(chǔ)的日志文件發(fā)送到指定的E-mail 地址

nomail? ? ? ? ? ? ? ? ? ? 轉(zhuǎn)儲(chǔ)時(shí)不發(fā)送日志文件

olddir directory? ? ? ? ? 轉(zhuǎn)儲(chǔ)后的日志文件放入指定的目錄,必須和當(dāng)前日志文件在同一個(gè)文件系統(tǒng)

noolddir? ? ? ? ? ? ? ? ? 轉(zhuǎn)儲(chǔ)后的日志文件和當(dāng)前日志文件放在同一個(gè)目錄下

sharedscripts? ? ? ? ? ? 運(yùn)行postrotate腳本,作用是在所有日志都輪轉(zhuǎn)后統(tǒng)一執(zhí)行一次腳本。如果沒(méi)有配置這個(gè),那么每個(gè)日志輪轉(zhuǎn)后都會(huì)執(zhí)行一次腳本

prerotate? ? ? ? ? ? ? ? 在logrotate轉(zhuǎn)儲(chǔ)之前需要執(zhí)行的指令,例如修改文件的屬性等動(dòng)作;必須獨(dú)立成行

postrotate? ? ? ? ? ? ? ? 在logrotate轉(zhuǎn)儲(chǔ)之后需要執(zhí)行的指令,例如重新啟動(dòng) (kill -HUP) 某個(gè)服務(wù)!必須獨(dú)立成行

daily? ? ? ? ? ? ? ? ? ? 指定轉(zhuǎn)儲(chǔ)周期為每天

weekly? ? ? ? ? ? ? ? ? ? 指定轉(zhuǎn)儲(chǔ)周期為每周

monthly? ? ? ? ? ? ? ? ? 指定轉(zhuǎn)儲(chǔ)周期為每月

rotate count? ? ? ? ? ? ? 指定日志文件刪除之前轉(zhuǎn)儲(chǔ)的次數(shù),0 指沒(méi)有備份,5 指保留5 個(gè)備份

dateext? ? ? ? ? ? ? ? ? 使用當(dāng)期日期作為命名格式

dateformat .%s? ? ? ? ? ? 配合dateext使用,緊跟在下一行出現(xiàn),定義文件切割后的文件名,必須配合dateext使用,只支持 %Y %m %d %s 這四個(gè)參數(shù)

size(或minsize) log-size? 當(dāng)日志文件到達(dá)指定的大小時(shí)才轉(zhuǎn)儲(chǔ),log-size能指定bytes(缺省)及KB (sizek)或MB(sizem).

當(dāng)日志文件 >= log-size 的時(shí)候就轉(zhuǎn)儲(chǔ)。 以下為合法格式:

size = 5 或 size 5 (>= 5 個(gè)字節(jié)就轉(zhuǎn)儲(chǔ))

size = 100k 或 size 100k

size = 100M 或 size 100M

查看某個(gè)服務(wù)的日志是否輪滾

? ? [loring logrotate.d]# cat /etc/logrotate.d/syslog

? ? ? ? /var/log/cron

? ? ? ? /var/log/maillog

? ? ? ? /var/log/messages

? ? ? ? /var/log/secure

? ? ? ? /var/log/spooler

? ? ? ? {

? ? ? ? ? ? sharedscripts? ? //與endscript中間夾的是需要執(zhí)行的操作? ? ? ? ?

? ? ? ? ? ? postrotate? ? ? ? ? ? ? //輪滾后執(zhí)行的命令

? ? ? ? /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true? //重新加載配置

? ? ? ? ? ? endscript

? ? ? ? }

小實(shí)驗(yàn):

1、修改配置文件,添加一行自己定義的內(nèi)容,重啟服務(wù)

? ? [loring log]# vim /etc/rsyslog.conf

? ? ? ? authpriv.*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /usr/local/secure

? ? [loring log]# /etc/init.d/rsyslog restart

2、自己編寫(xiě)輪滾配置文件

? ? [loring log]# vim /etc/logrotate.d/secure

? ? ? ? /usr/local/secure {

? ? ? ? ? ? missingok

? ? ? ? ? ? notifempty

? ? ? ? ? ? daily

? ? ? ? ? ? create

? ? ? ? ? ? rotate 4

? ? ? ? ? ? compress

? ? ? ? }

3、手動(dòng)輪滾日志文件

? ? [loring log]# logrotate -vf /etc/logrotate.d/secure

? ? [loring log]# cd /usr/local

? ? [loring local]# ls secure*

? ? ? ? secure? secure.1.gz


實(shí)驗(yàn)續(xù)

[loring log]# vim /etc/logrotate.d/ secure

? ? /usr/local/secure {

? ? ? ? sharedscripts

? ? ? ? ? ? prerotate

? ? ? ? /usr/bin/chattr -a /usr/local/secure? 只能追加,不能vi編輯

? ? ? ? endscript

? ? ? ? missingok

? ? ? ? notifempty

? ? ? ? daily

? ? ? ? create

? ? ? ? rotate 4

? ? ? ? compress

? ? ? ? sharedscripts

? ? ? ? postrotate

? ? ? ? /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null? //重讀配置

? ? ? ? /usr/bin/chattr +a /usr/local/secure

? ? ? ? endscript

? ? }

[loring local]# /etc/init.d/rsyslog restart

[root@server1 local]# chattr +a /usr/local/secure

[loring local]# logrotate -vf /etc/logrotate.d/secure

[loring local]# lsattr secure

? ? -----a-------e- secure

/dev/null:空,不管你向它扔什么,都是空

2> :標(biāo)準(zhǔn)錯(cuò)誤輸出重定向

? ? [root@server1 local]# ls secure

? ? ? ? secure

? ? [root@server1 local]# ls asdf

? ? ? ? ls: cannot access asdf: No such file or directory

? ? [root@server1 local]# ls asdf > /tmp/asdf

? ? ? ? ls: cannot access asdf: No such file or directory

? ? [root@server1 local]# ls asdf 2> /tmp/asdf

? ? [root@server1 local]# cat /tmp/asdf

? ? ? ? ls: cannot access asdf: No such file or directory

2>> :標(biāo)準(zhǔn)錯(cuò)誤輸出追加重定向

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容