新聞中心
linux生成日志文件,輕松了解系統(tǒng)運(yùn)行狀況

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、惠山網(wǎng)絡(luò)推廣、成都小程序開(kāi)發(fā)、惠山網(wǎng)絡(luò)營(yíng)銷、惠山企業(yè)策劃、惠山品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供惠山建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
日志文件在Linux系統(tǒng)中扮演著非常重要的角色,它們記錄著系統(tǒng)的各種信息,包括運(yùn)行狀態(tài)、錯(cuò)誤日志、網(wǎng)絡(luò)連接、用戶操作等等。通過(guò)查看日志文件,我們可以了解到系統(tǒng)所處的實(shí)時(shí)運(yùn)行狀態(tài),及時(shí)發(fā)現(xiàn)并解決異常情況,確保系統(tǒng)的穩(wěn)定性和安全性。本文將為大家介紹Linux系統(tǒng)中的日志文件和如何生成和管理它們。
1.日志文件的種類
在Linux系統(tǒng)中,日志文件分為系統(tǒng)日志和應(yīng)用程序日志兩種類型。系統(tǒng)日志文件記錄系統(tǒng)核心和關(guān)鍵組件的信息,一般存放在/var/log目錄中。應(yīng)用程序日志文件記錄應(yīng)用程序的相關(guān)信息,一般由應(yīng)用程序自身生成。
2.日志文件的生成
在Linux系統(tǒng)中,日志文件是由系統(tǒng)進(jìn)程或應(yīng)用程序產(chǎn)生的。在大多數(shù)情況下,系統(tǒng)日志文件是由syslogd進(jìn)程實(shí)現(xiàn)的,syslogd進(jìn)程可以監(jiān)視各種系統(tǒng)事件,并將事件相關(guān)信息寫入到syslogd配置文件所指定的文件中。應(yīng)用程序日志文件則由應(yīng)用程序自身生成,具體的生成方式由每個(gè)應(yīng)用程序自己決定。
3.日志文件的內(nèi)容
日志文件中的內(nèi)容可以分為兩類:事件記錄和錯(cuò)誤記錄。事件記錄包括系統(tǒng)啟動(dòng)、關(guān)閉、用戶登錄和注銷、網(wǎng)絡(luò)連接和斷開(kāi)等事件;錯(cuò)誤記錄包括系統(tǒng)崩潰、進(jìn)程意外退出、磁盤故障、網(wǎng)絡(luò)故障等錯(cuò)誤事件。這些記錄都可以通過(guò)查看日志文件的方式進(jìn)行分析和處理。
4.日志文件的管理
在Linux系統(tǒng)中,日志文件的管理是非常重要的。針對(duì)系統(tǒng)日志文件的管理,我們可以對(duì)不同的日志文件設(shè)置不同的保留時(shí)間,一般情況下,對(duì)于比較常用的系統(tǒng)日志文件,如/var/log/messages、/var/log/syslog等,我們可以設(shè)置比較長(zhǎng)的保留時(shí)間,保證能夠查看歷史信息。而對(duì)于其它日志文件,如/var/log/mllog、/var/log/httpd/access_log等等,則可以設(shè)置較短的保留時(shí)間,避免占用過(guò)多的磁盤空間。
針對(duì)應(yīng)用程序日志文件的管理,我們可以通過(guò)設(shè)置應(yīng)用程序自身的日志級(jí)別來(lái)控制日志文件的輸出量。一般情況下,我們可以將日志級(jí)別設(shè)置為“錯(cuò)誤”或“警告”,這樣可以避免輸出過(guò)多無(wú)用信息,同時(shí)也可以及時(shí)發(fā)現(xiàn)并解決應(yīng)用程序的錯(cuò)誤情況。
5.
在Linux系統(tǒng)中,日志文件是非常重要的組成部分,通過(guò)查看日志文件,我們可以及時(shí)發(fā)現(xiàn)系統(tǒng)和應(yīng)用程序的異常情況,同時(shí)也可以了解系統(tǒng)的實(shí)時(shí)運(yùn)行狀態(tài)。管理日志文件也是非常重要的,通過(guò)設(shè)置保留時(shí)間和日志級(jí)別,可以有效地控制日志文件的輸出量,從而避免占用過(guò)多的磁盤空間,保證系統(tǒng)的穩(wěn)定性和安全性。
相關(guān)問(wèn)題拓展閱讀:
- linux下怎么用syslog記錄日志文件
- linux系統(tǒng)日志文件的位置命令
linux下怎么用syslog記錄日志文件
1 syslogd的配置文件
syslogd的配置文件/etc/syslog.conf規(guī)定了系統(tǒng)中需要監(jiān)視的事件和相應(yīng)的日志的保存位置
cat /etc/syslog.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 #除了mail/news/authpriv/cron以外,將info或更高級(jí)別的消息送到/var/log/messages,其中*是通配符,代表任何設(shè)備;none表示不對(duì)任何級(jí)別尺李的信息進(jìn)行記錄
# The authpriv file has restricted access.
authpriv.* /var/log/secure #將authpirv設(shè)備的任何級(jí)別的信息記錄到/戚祥var/log/secure文件中,這主要是一些和認(rèn)證,權(quán)限使用相關(guān)的信息.
# Log all the mail messages in one place.
mail.*/var/log/maillog #將mail設(shè)備中的任何級(jí)別的信息記錄到/var/log/maillog文件中, 這主要是和電子郵件相關(guān)的信息.
# Log cron stuff
cron.*/var/log/cron #將cron設(shè)備中的任何級(jí)別的信息記錄到/var/log/cron文件中, 這主要是和系統(tǒng)中定期執(zhí)行的任務(wù)相關(guān)的信息.
# Everybody gets emergency messages
*.emerg* #將任何設(shè)備的emerg級(jí)別或更高級(jí)別的消息發(fā)送給所有正在系統(tǒng)上的用戶.
# Save news errors of level crit and higher in a special file.
uucp,news.crit/var/log/spooler #將uucp和news設(shè)備的crit級(jí)別或更高級(jí)別的消息記錄到/var/log/spooler文件中.
# Save boot messages also to boot.log
local7.* /var/log/boot.log #將和本地系統(tǒng)啟動(dòng)相關(guān)的信息記錄到/var/log/boot.log文件中.
2. syslogd語(yǔ)法
該配置文件的每一行的格式如下:
facility.priority action 設(shè)備.級(jí)別 動(dòng)作
3. Syslogd設(shè)備字段
設(shè)備字段用來(lái)指定需要監(jiān)視的事件.它可取的值如下:
authpriv cron daemon kern lpr syslog user uucp mail news
報(bào)告認(rèn)證活動(dòng)通常,口令等私有信息不會(huì)被記錄 報(bào)告與cron和at有關(guān)的信息 報(bào)告與xinetd有關(guān)的信息 報(bào)告與內(nèi)核有關(guān)的信息 報(bào)告與打印服務(wù)有關(guān)的信息 由syslog生成的信息 報(bào)告由用戶程序生成的任何信息由UUCP生成的信息 報(bào)告與郵件服務(wù)有關(guān)的信息 報(bào)告與網(wǎng)絡(luò)新陵仔遲聞服務(wù)有關(guān)的信息
4. syslogd級(jí)別字段
級(jí)別字段用于指明與每一種功能有關(guān)的級(jí)別和優(yōu)先級(jí):
alert crit err warning notice info debug none * emerg
需要立即引起注意的情況 危險(xiǎn)情況的警告 除了emerg,alert,crit的其他錯(cuò)誤 警告信息需要引起注意的情況 值得報(bào)告的消息 由運(yùn)行于debug模式的程序所產(chǎn)生的消息 用于禁止任何消息 所有級(jí)別,除了none 出現(xiàn)緊急情況使得該系統(tǒng)不可用
5. syslogd動(dòng)作字段
動(dòng)作字段用于描述對(duì)應(yīng)功能的動(dòng)作
file username device @hostname
指定一個(gè)絕對(duì)路徑的日志文件名記錄日志信息 發(fā)送信息到指定用戶,*表示所有用戶 將信息發(fā)送到指定的設(shè)備中,如/dev/console將信息發(fā)送到可解析的遠(yuǎn)程主機(jī)hostname,且該主機(jī)必須正在運(yùn)行syslogd并可以識(shí)別syslog的配置文件
6. 查看日志文件
常見(jiàn)的日志文件日志文件通常存放在/var/log目錄下.在該目錄下除了包括syslogd 記錄的日志之外,同時(shí)還包含所有應(yīng)用程序的日志. 為了查看日志文件的內(nèi)容必須要有root權(quán)限.日志文件中的信息很重要,只能讓超級(jí)用戶有訪問(wèn)這些文件的權(quán)限.
7. log
cups/ httpd/ mail/ news/ boot.log dmesg maillog messages secure wtmp
存儲(chǔ)CUPS打印系統(tǒng)的日志目錄 記錄apache的訪問(wèn)日志和錯(cuò)誤日志目錄 存儲(chǔ)mail日志目錄 存儲(chǔ)INN新聞系統(tǒng)的日志目錄 記錄系統(tǒng)啟動(dòng)日志記錄系統(tǒng)啟動(dòng)時(shí)的消息日志 記錄郵件系統(tǒng)的日志 由syslogd記錄的info或更高級(jí)別的消息日志 由syslogd記錄的認(rèn)證日志 一個(gè)用戶每次登錄進(jìn)入和退出時(shí)間的永久記錄
8. 查看文本日志文件
絕大多數(shù)日志文件是純文本文件,每一行就是一個(gè)消息.只要是在Linux下能夠處理純文本的工具都能用來(lái)查看日志文件.可以使用 cat,tac, more,less,tail和grep進(jìn)行查看文件中每一行表示一個(gè)消息,而且都由四個(gè)域的固定格式組成: 時(shí)間標(biāo)簽(Timestamp):表示消息發(fā)出的日期和時(shí)間. 主機(jī)名(Hostname):表示生成消息的計(jì)算機(jī)的名字. 生成消息的子系統(tǒng)的名字:可以是”Kernel”,表示消息來(lái)自內(nèi)核或者 是進(jìn)程的名字,表示發(fā)出消息的程序的名字. 在方括號(hào)里的是進(jìn)程的PID. 消息(Message),即消息的內(nèi)容.
syslog發(fā)出的消息,說(shuō)明了守護(hù)進(jìn)程已經(jīng)在 Dec 16,03:32:41 重新啟動(dòng)了. Dec 16 03:32:41 cnetos5 syslogd 1.4.1: restart. # 在 Dec 19,00:20:56 啟動(dòng)了內(nèi)核日志 klogd Dec 19 00:20:56 cnetos5 kernel: klogd 1.4.1, log source = /proc/kmsg started. # 在 Dec 19,00:21:01 啟動(dòng)了xinetd Dec 19 00:21:01 cnetos5 xinetd: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
9. 查看非文本日志文件Lastlog
也有一些日志文件是二進(jìn)制文件,需要使用相應(yīng)的命令進(jìn)行讀取.
使用lastlog命令來(lái)檢查某特定用戶上次登錄的時(shí)間,并格式化輸出上次登錄日志 /var/log/lastlog 的內(nèi)容
rpc **從未登錄過(guò)** rpcuser **從未登錄過(guò)** sshd **從未登錄過(guò)** pcap **從未登錄過(guò)** haldaemon **從未登錄過(guò)** xfs **從未登錄過(guò)** gdm **從未登錄過(guò)** boobooke **從未登錄過(guò)** baobao pts/1 192.168.1.2 三 11月 26 12:44:32 +abc **從未登錄過(guò)** test pts/1 192.168.1.5 四 11月 27 17:30:53 +test01 **從未登錄過(guò)**
last命令往回搜索/var/log/wtmp來(lái)顯示自從文件之一次創(chuàng)建以來(lái)登錄過(guò)用戶
root pts/.226.69.195 Fri Aug 31 15::37 (02:49)
10. 查看非文本日志文件lastb
lastb命令搜索/var/log/btmp來(lái)顯示登錄未成功的信息.
root ssh:notty.143.27.97 Thu Sep 6 19::43 (00:00)
11. 查看非文本日志文件who
who命令查詢wtmp文件并報(bào)告當(dāng)前登錄的每個(gè)用戶.who命令的缺省輸出包括用戶名,終端類型,登錄日期及遠(yuǎn)程主機(jī).
# who
root pts/:18 (116.226.69.195)
# w
10:41:31 up 212 days, 20:19, 1 user, load average: 0.21, 0.16, 0.14
USER TTY FROMLOGIN@ IDLE JCPU PCPU WHAT
root pts/.226.69.:.00s 0.09s 0.00s w
12.日志滾動(dòng)
為什么使用日志滾動(dòng)所有的日志文件都會(huì)隨著時(shí)間的推移和訪問(wèn)次數(shù)的增加而迅速增長(zhǎng),因此必須對(duì)日志文件進(jìn)行定期清理以免造成磁盤空間的不必要的浪費(fèi).同時(shí)也 加快了管理員查看日志所用的時(shí)間,因?yàn)榇蜷_(kāi)小文件的速度比打開(kāi)大文件的速度要快.
Logrotate 其命令格式為: logrotate
-d:詳細(xì)顯示指令執(zhí)行過(guò)程,便于排錯(cuò)或了解程序執(zhí)行的情況.
-f:強(qiáng)行啟動(dòng)記錄文件維護(hù)操作,即使logrotate指令認(rèn)為無(wú)需要亦然 -m command:指定發(fā)送郵件的程序,默認(rèn)為 /usr/bin/mail. -s statefile:使用指定的狀態(tài)文件. -v:在執(zhí)行日志滾動(dòng)時(shí)顯示詳細(xì)信息.
13. 日志滾動(dòng)
logrotate 默認(rèn)的主配置文件是 /etc/logrotate.conf /etc/logrotate.d 的目錄下的文件,這些文件被 include 到主配置文件 /etc/logrotate.conf 中
# see “man logrotate” for details # 每周清理一次日志文件
weekly #保存過(guò)去四周的日志文件
rotate 4 #清除舊日志文件的同時(shí),創(chuàng)建新的空日志文件
create #若使用壓縮的日志文件,請(qǐng)刪除下面行的注釋符
#compress #包含/etc/logrotate.d目錄下的所有配置文件
include /etc/logrotate.d #設(shè)置/var/log/wtmp的日志滾動(dòng)
/var/log/wtmp {
monthly
minsize 1M
create 0664 root utmp
rotate 1
}
可以使用ls命令顯示/etc/logrotate.d目錄:
# ls /etc/logrotate.d
mgetty psacct rpm setroubleshoot snmpd syslog yum
每個(gè)文件的基本格式均相同
# cat /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron { #對(duì)日志文件
sharedscripts #調(diào)用日志滾動(dòng)通用函數(shù)sharedscripts
postrotate #在日志滾動(dòng)之后執(zhí)行語(yǔ)句括號(hào)postrotate和endscript之間的命令postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true #重新啟動(dòng)syslogd
endscript
}
logrotate是由crond運(yùn)行的,在默認(rèn)配置中,可以發(fā)現(xiàn)在/etc/cron.daily目錄中有一個(gè)名為logrotate的文件
# cat /etc/cron.daily/logrotate
#!/bin/sh
/usr/in/logrotate /etc/logrotate.conf
EXITVALUE=$?
if ; then
/usr/bin/logger -t logrotate “ALERT exited abnormally with “
fi
linux系統(tǒng)日志文件的位置命令
Linux常見(jiàn)的日志文件詳述如下
1、/var/log/boot.log(自檢過(guò)程)
2、/var/log/cron (crontab守護(hù)進(jìn)程crond所派生的子進(jìn)程的動(dòng)作)
3、/var/log/maillog (發(fā)送罩高核到系統(tǒng)或從系統(tǒng)發(fā)出的電念帶子郵件的活動(dòng))
4、/var/log/syslog (它只記錄警告信息,常常是系統(tǒng)出問(wèn)題的信息,所以更應(yīng)該關(guān)注該文件)
要讓系統(tǒng)生成syslog日志文件,
在/etc/syslog.conf文件中加上:*.warning /var/log/syslog
該日志文件能記錄當(dāng)用戶登錄時(shí)login記錄下的錯(cuò)誤口令、Sendmail的問(wèn)題、su命令執(zhí)行失敗等信息
5、/var/run/utmp
該日志文件需要使用lastlog命令查看
6、/var/log/wtmp
(該日志文物掘件永久記錄每個(gè)用戶登錄、注銷及系統(tǒng)的啟動(dòng)、停機(jī)的事件)
last命令就通過(guò)訪問(wèn)這個(gè)文件獲得這些信息
7、/var/run/utmp
(該日志文件記錄有關(guān)當(dāng)前登錄的每個(gè)用戶的信息) 《Linux就該這么學(xué)》 一起學(xué)習(xí)linux
8、/var/log/xferlog
(該日志文件記錄FTP會(huì)話,可以顯示出用戶向FTP服務(wù)器或從服務(wù)器拷貝了什么文件)
1、/var/log/messages:記錄Linux內(nèi)核消息及各種應(yīng)用程序的公共日志信息;
2、/var/log/cron:記錄crond計(jì)劃任務(wù)產(chǎn)生的事件信息;
3、/var/log/dmesg:記錄Linux操作系統(tǒng)在引導(dǎo)過(guò)程中的各種事件信息;
4、/var/log/maillog:記錄進(jìn)入或發(fā)出系統(tǒng)的電子郵件活動(dòng)手宴;
5、/var/log/lastlog:記錄每個(gè)用戶最近的登錄事件;
6、/var/log/secure:記錄用戶認(rèn)證相關(guān)的安全事件信息;
7、/var/log/畢州銀wtmp:跡悄記錄每個(gè)用戶登錄、注銷以及系統(tǒng)啟動(dòng)和停機(jī)事件;
8、/var/log/btmp:記錄失敗的、錯(cuò)誤的登錄嘗試以及驗(yàn)證事件。
linux生成日志文件的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux生成日志文件,Linux生成日志文件,輕松了解系統(tǒng)運(yùn)行狀況。,linux下怎么用syslog記錄日志文件,linux系統(tǒng)日志文件的位置命令的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
分享名稱:Linux生成日志文件,輕松了解系統(tǒng)運(yùn)行狀況。(linux生成日志文件)
本文網(wǎng)址:http://www.dlmjj.cn/article/dhjcphc.html


咨詢
建站咨詢
