CentOS下管理日志服務詳解

Linux服務器一般都是被放置在機房中自動運行,管理員要了解服務器或是應用程序的運行狀態(tài),大都需要通過日志。日志文件用于記錄Linux系統(tǒng)中各種運行消息,不同的日志文件記載了不同類型的信息,例如Linux內核消息、用戶登錄記錄、程序錯誤等。日志文件對于診斷和解決系統(tǒng)中的問題很有幫助,因為在Linux系統(tǒng)中運行的程序通常會把系統(tǒng)消息和錯誤消息寫入相應的日志文件,這樣系統(tǒng)一旦出現(xiàn)問題就會有據(jù)可查。此外,當主機遭受攻擊時,日志文件還可以幫助尋找攻擊者留下的痕跡。
1. 主要日志文件
Linux系統(tǒng)本身和大部分服務程序的日志文件默認情況下都放置在目錄“/var/log”中。有些程序會共用一個日志文件,有些程序則會使用單個日志文件,還有一些比較大型的程序由于日志文件不止一個,所以會在“/var/log”目錄中建立相應的子目錄來存放日志文件。有相當一部分日志文件只有root用戶才有權限讀取,這保證了相關日志信息的安全性。
例:查看“/var/log”目錄中的各種日志文件及子目錄。
在這些日志文件中,比較重要或是經常用到的有:
/var/log/messages:記錄Linux內核消息及各種應用程序的公共日志信息,包括啟動、I/O錯誤、網絡錯誤、程序故障等。對于未使用獨立日志文件的應用程序或服務,一般都可以從該日志文件中獲得相關的事件記錄信息。
/var/log/cron:記錄crond計劃任務產生的事件信息。
/var/log/dmesg:記錄Linux系統(tǒng)在引導過程中的各種事件信息。
/var/log/maillog:記錄進入或發(fā)出系統(tǒng)的電子郵件活動。
/var/log/lastlog:最近幾次成功登錄事件和最后一次不成功登錄事件。
/var/log/rpmpkgs:記錄系統(tǒng)中安裝的各rpm包列表信息。
/var/log/secure:記錄所有與安全相關以及用戶登錄認證過程中的事件信息。
/var/log/wtmp:記錄每個用戶登錄、注銷及系統(tǒng)啟動和停機事件。
/var/run/utmp:記錄當前登錄的每個用戶的詳細信息。
2. 查看日志文件內容
大多數(shù)的日志文件都可以使用tail、more、less、cat等文本處理工具查看日志內容,其中在大多數(shù)情況下都是使用tail命令,這樣可以方便地查看到最近的日志信息。而且如果在tail命令中加上“-f”選項,還可以實時查看到日志文件中的最新信息。
通常情況下,內核及大多數(shù)系統(tǒng)消息都被記錄到公共日志文件“/var/log/messages”中,而其它一些程序消息被記錄到不同的文件中。日志消息還能夠記錄到特定的存儲設備中,或者直接向用戶發(fā)送。
例:實時監(jiān)測/var/log/messages中的日志信息。
[root@localhost ~]# tail -f /var/log/messages
Oct 21 04:48:35 localhost avahi-daemon[3152]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.80.130.
Oct 21 04:48:35 localhost avahi-daemon[3152]: Registering new address record for 192.168.80.130 on eth0.
Oct 21 04:48:35 localhost NET[4094]: /sbin/dhclient-script : updated /etc/resolv.conf
Oct 21 04:48:35 localhost dhclient: bound to 192.168.80.130 -- renewal in 760 seconds.
Oct 21 05:01:15 localhost dhclient: DHCPREQUEST on eth0 to 192.168.80.254 port 67
Oct 21 05:01:15 localhost dhclient: DHCPACK from 192.168.80.254
Oct 21 05:01:15 localhost dhclient: bound to 192.168.80.130 -- renewal in 723 seconds.
Oct 21 05:13:18 localhost dhclient: DHCPREQUEST on eth0 to 192.168.80.254 port 67
Oct 21 05:13:18 localhost dhclient: DHCPACK from 192.168.80.254
Oct 21 05:13:18 localhost dhclient: bound to 192.168.80.130 -- renewal in 749 seconds.
Oct 21 05:22:58 localhost kernel: Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
Oct 21 05:22:58 localhost kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Oct 21 05:22:58 localhost kernel: NFSD: starting 90-second grace period
大部分日志文件中所使用的日志記錄格式都是相同的。下面以公共日志文件“/var/log/messages”為例來說明日志記錄的基本格式。
日志文件中的每一行表示一條消息,每個消息均由四個字段的固定格式組成。
時間標簽:消息發(fā)出的日期和時間。
主機名:生成消息的計算機的名稱。
子系統(tǒng)名稱:發(fā)出消息的應用程序的名稱。
消息:消息的具體內容。
例如上面所顯示的最后一條消息:
Oct 21 05:22:58 localhost kernel: NFSD: starting 90-second grace period
這條消息的含義為:
10月21日05:22:58在localhost這臺主機上,由內核kernel中的nfsd服務所產生的信息,信息的內容為“starting 90-second grace period”。管理日志服務
RHEL系統(tǒng)中的內核及系統(tǒng)日志功能主要由rsyslogd服務提供,該服務的配置文件為"/etc/rsyslog.conf"。
rsyslogd服務默認已經安裝并自動運行,/etc/rsyslog.conf配置文件則可以對日志進行設置,它可以指定那些信息需要記錄,以及記錄在哪里。
例:查看/etc/rsyslog.conf配置文件中的主要內容。
/etc/rsyslog.conf文件中的每一行代表一條設置值,每一條設置值的語法如下:
消息類型 執(zhí)行動作
其中的"消息類型"指定哪些消息需要記錄,"執(zhí)行動作"則告訴系統(tǒng)日志服務該如何處理這些消息。
"消息類型"必須以下列的格式指定消息的種類:
消息來源.優(yōu)先級
"消息來源"表示消息是從哪個子系統(tǒng)傳送過來的,來源主要有以下這些:
authpriv:與用戶安全、驗證有關的消息;
cron:與計劃任務有關的消息;
daemon:與一般服務有關的消息;
kern:來自系統(tǒng)內核的消息;
mail:來自郵件系統(tǒng)的消息;
localN:保留
"優(yōu)先級"則用來指出消息的優(yōu)先等級,即消息的重要程度。其優(yōu)先級別如下(數(shù)字等級越小,優(yōu)先級越高,消息越重要):
0 EMERG(緊急):會導致主機系統(tǒng)不可用的情況。
1 ALERT(警告):必須馬上采取措施解決的問題。
2 CRIT(嚴重):比較嚴重的情況。
3 ERR(錯誤):運行出現(xiàn)錯誤。
4 WARNING(提醒):可能影響系統(tǒng)功能,需要提醒用戶的重要事件。
5 NOTICE(注意):不會影響正常功能,但是需要注意的事件。
6 INFO(信息):一般信息。
7 DEBUG(調試):程序或系統(tǒng)調試信息等。
除此之外,"消息來源"與"優(yōu)先級"可以使用星號(*)代表所有,因此*.*就表示來自所有子系統(tǒng)的所有級別的消息。
而"執(zhí)行動作"字段則用來定義如何處理接收到的消息,可以指定如下幾項內容:
/PATH/FILENAME:將消息存儲到指定的文件中,文件必須以斜線(/)開頭的絕對路徑命名;
USERNAME:將消息發(fā)送給指定的已經登錄的用戶;
@HOSTNAME:將消息轉發(fā)到指定的日志服務器;
*:將消息發(fā)送給所有已經登錄的用戶。
因而文件中的設置值:
authpriv.* /var/log/secure
它所代表的含義為:將與用戶安全、驗證有關的所有級別的消息都存儲到指定的文件/var/log/secure中。
在對“消息類型”進行設置時,有以下三種方法:
l “.”:代表“比后面還要高的優(yōu)先級(含該優(yōu)先級)都被記錄下來”的意思,例如:mail.info代表只要是mail的消息,而且該消息優(yōu)先級高于info(含info本身)時,就會被記錄下來。
l “.=”:代表所需要的優(yōu)先級就是后面的優(yōu)先級而已,其他的不要。
l “.!”:代表不等于,也就是除了該優(yōu)先級外的其他優(yōu)先級都記錄。
比如下面的設置項:
mail.info /var/log/maillog_info
表示mail服務產生的大于等于info優(yōu)先級的信息,都記錄到/var/log/maillog_info文件中。
另外,如果需要對不同類型的消息,采用同一種“執(zhí)行動作”,syslog.conf允許使用分號連接多個消息,例如設置值:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
它表示的含義是:將所有的info級別以上的消息(不包括來自郵件系統(tǒng)的、與用戶安全、驗證有關的、與計劃任務有關的消息),都存儲到指定的文件/var/log/messages中。
相關文章
CentOS系統(tǒng)如何添加用戶操作日志?CentOS系統(tǒng)添加用戶操作日志的方法
一些朋友不知道CentOS系統(tǒng)如何添加用戶操作日志?下面小編就為大家?guī)鞢entOS系統(tǒng)添加用戶操作日志的方法;有需要的朋友一起去看看吧2016-12-15- 今天小編為大家?guī)淼氖荂entOS操作系統(tǒng)的22個log日志;希望對大家會有幫助;有需要的朋友可以過來看看2016-12-11
CentOS 7.0怎么配置mail定時發(fā)送svn日志郵件?
CentOS 7.0怎么配置mail定時發(fā)送svn日志郵件?因為工作的原因,公司要求每天都定時給上司發(fā)送svn日志郵件,在CentOS 7.0系統(tǒng)該怎么配置呢?下面我們來看看詳細配置教程2015-11-25CentOS系統(tǒng)中常用查看系統(tǒng)信息和日志命令小結
這篇文章主要介紹了CentOS系統(tǒng)中常用查看系統(tǒng)信息和日志命令小結,需要的朋友可以參考下2015-04-08- 如何用CentOS上的SARG日志分析器來分析Squid日志?文包含了SARG配置工作,但是分析一個原始Squid日志文件并不直接。比如,你如何分析下面Squid日志中的時間戳和數(shù)字?需要2014-09-19
CentOS7上如何借助系統(tǒng)存儲管理器管理LVM卷?
邏輯卷管理器(LVM)是一種極其靈活的磁盤管理工具,它讓用戶可以從多個物理硬驅創(chuàng)建邏輯磁盤卷,并調整大小,根本沒有停機時間;今天小編為大家?guī)淼氖荂entOS7上借助系統(tǒng)2016-12-26- 今天小編為大家?guī)淼氖荂entOS使用腳本管理服務的詳解,希望會對大家有幫助,有需要的朋友一起去看看吧2016-12-21
- 文件或目錄的創(chuàng)建者對所創(chuàng)建的文件或目錄擁有特別使用權,文件的所有關系是可以改變的,今天小編為大家?guī)淼氖荂entOS操作系統(tǒng)中的文件管理技巧詳解;希望對大家會有幫助,2016-12-20
- 使用udev管理網卡;網卡的udev配置文件路徑為:etc/udev/rules.d/*net*.rules;下面小編就為大家詳細的講一下CentOS6.5使用udev如何管理網卡,有需要的朋友一起去看看吧2016-12-20
- 今天小編為大家?guī)淼氖荂entOS系統(tǒng)管理_基本權限和歸屬的詳解;希望對大家會有幫助;有需要的朋友一起去看看吧2016-12-16