新聞中心
隨著企業(yè)信息化建設(shè)的深入推進(jìn),Linux系統(tǒng)在生產(chǎn)環(huán)境中的應(yīng)用越來(lái)越廣泛。Linux系統(tǒng)相比其他操作系統(tǒng)具有更高的可靠性、更高的安全性、更高的性能等優(yōu)勢(shì),因此不少企業(yè)選擇了將其作為生產(chǎn)環(huán)境中的主要操作系統(tǒng)。然而,在使用Linux系統(tǒng)時(shí),由于各種原因,可能會(huì)遇到各種問(wèn)題,如程序崩潰、系統(tǒng)死機(jī)、網(wǎng)絡(luò)故障等,這些問(wèn)題往往需要依賴日志文件來(lái)進(jìn)行排查。因此,就變得尤為重要。

堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都自上料攪拌車小微創(chuàng)業(yè)公司專業(yè)提供企業(yè)網(wǎng)站設(shè)計(jì)營(yíng)銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺(jué)設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開(kāi)發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
1. 什么是Linux主機(jī)日志?
在Linux系統(tǒng)中,日志記錄是非常重要的,它記錄了系統(tǒng)的各種操作,包括系統(tǒng)啟動(dòng)、程序運(yùn)行、系統(tǒng)關(guān)閉等等。這些記錄保存在/var/log目錄中的各個(gè)子目錄下,每個(gè)子目錄都對(duì)應(yīng)著一種類型的日志文件。常見(jiàn)的日志文件類型和對(duì)應(yīng)的子目錄如下:
access.log:記錄Apache訪問(wèn)日志,位于/var/log/httpd目錄下。
auth.log:記錄用戶認(rèn)證信息,包括登錄、登出、passwd修改等,位于/var/log目錄下。
boot.log:記錄系統(tǒng)啟動(dòng)信息,有關(guān)內(nèi)核的信息和用戶空間的信息,位于/var/log目錄下。
cron:記錄計(jì)劃任務(wù)信息,包括計(jì)劃任務(wù)的啟動(dòng)和停止,位于/var/log目錄下。
dmesg:記錄內(nèi)核信息,包括啟動(dòng)時(shí)的硬件檢測(cè)信息,也可用于排錯(cuò),位于/var/log目錄下。
mllog:記錄郵件信息,位于/var/log目錄下。
secure:記錄安全信息,包括sudo操作、登錄失敗等,位于/var/log目錄下。
syslog:記錄系統(tǒng)信息,包括應(yīng)用程序、系統(tǒng)進(jìn)程框架等信息,位于/var/log目錄下。
2. 如何查看Linux主機(jī)日志?
在Linux系統(tǒng)中查看日志文件主要使用命令為“tl”和“grep”命令。其中,tl命令用于查看最新的日志信息,它能夠不斷地對(duì)日志文件進(jìn)行監(jiān)視,并輸出最新的日志信息。語(yǔ)法如下:
tl -f 日志文件名
例如,查看Apache訪問(wèn)日志可以使用以下命令:
tl -f /var/log/httpd/access_log
grep命令用于根據(jù)關(guān)鍵字過(guò)濾日志信息,它可以根據(jù)指定的關(guān)鍵字從日志文件中篩選出符合條件的行。語(yǔ)法如下:
grep 關(guān)鍵字 日志文件名
例如,查看用戶認(rèn)證信息日志可以使用以下命令:
grep ‘login’ /var/log/auth.log
3. 如何分析Linux主機(jī)日志?
分析Linux主機(jī)日志是排查問(wèn)題的關(guān)鍵。當(dāng)出現(xiàn)故障時(shí),我們需要查看日志文件,根據(jù)日志信息判斷故障原因,查找解決方案。以下是一些常見(jiàn)的排錯(cuò)技巧:
①查找關(guān)鍵字:關(guān)鍵字通常是故障相關(guān)的信息,搜索關(guān)鍵字可以快速定位有關(guān)故障的信息。例如,如果想查找有關(guān)硬盤的信息,可以搜索關(guān)鍵字“disk”:
grep ‘disk’ /var/log/messages
②查看時(shí)間戳:時(shí)間戳提供了精確的時(shí)間信息,可以幫助我們確定故障出現(xiàn)的時(shí)間。例如,查看系統(tǒng)啟動(dòng)時(shí)間可以使用以下命令:
grep “Starting kernel” /var/log/messages
③診斷錯(cuò)誤信息:錯(cuò)誤信息通常是問(wèn)題產(chǎn)生的根本原因。例如,如果Apache服務(wù)器無(wú)法啟動(dòng),我們需要查看Apache錯(cuò)誤日志,確定錯(cuò)誤信息:
tl -n 30 /var/log/httpd/error_log
4. 如何優(yōu)化Linux主機(jī)日志?
Linux主機(jī)日志是系統(tǒng)的重要組成部分,但也會(huì)占用大量磁盤空間和系統(tǒng)資源。為了優(yōu)化系統(tǒng)性能,我們可以采取以下策略:
①限制日志文件大?。簩?duì)于一些日志文件,可以通過(guò)在配置文件中增加logrotate或logadm命令的語(yǔ)句來(lái)限制日志文件的大小。這可以減少系統(tǒng)資源的占用,也可以保留某些最新的日志信息。
②優(yōu)化日志輸出:可以通過(guò)在程序中控制日志輸出的級(jí)別,減少不必要的日志信息。例如,只記錄錯(cuò)誤信息,而不記錄調(diào)試信息。
③設(shè)置日志備份:可以設(shè)置日志備份來(lái)保存日志歷史信息。這可以幫助我們?cè)诔霈F(xiàn)問(wèn)題時(shí)更好地了解過(guò)去的操作。
結(jié)語(yǔ)
通過(guò)了解Linux主機(jī)日志,我們不僅可以輕松排錯(cuò),更能優(yōu)化系統(tǒng)性能、提升系統(tǒng)穩(wěn)定性。無(wú)論是初學(xué)者還是專業(yè)人員,掌握Linux主機(jī)日志的知識(shí)都將成為您的一項(xiàng)寶貴技能。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-869222204-9 Linux 中的日志分析
日志:系統(tǒng)、軟件 和 用戶操作交互信息的記錄文件。用于系統(tǒng)審核,日常故障快速定位和排錯(cuò)改指。
日志文件保存在 /var/log 和 /var/run 目錄下。在 RedHat 7 中,系統(tǒng)日志消息由兩個(gè)服務(wù)負(fù)責(zé)處理,它們是 systemd-journald 和 rsyslogd。
日志的保存時(shí)間系統(tǒng)默認(rèn)是4周,可以通過(guò) cat /etc/logrotate.conf 里面的一項(xiàng)參數(shù)查到。rotate 可以修改。
主要日志文件介紹:
/var/log/messages:系統(tǒng)日志,主要記錄內(nèi)核和公共消息。
/var/log/cron:計(jì)劃執(zhí)行任務(wù)日志。
/var/log/dmesg:系統(tǒng)引導(dǎo)日志。
/var/log/maillog:郵件日志。
/var/log/lastlog:用戶登錄日志。(用 lastlog 命令)
/var/log/boot.log:系統(tǒng)啟動(dòng)日志。
/var/log/secure:安全和身份驗(yàn)證日志 。
/var/log/wtmp:記錄所有用戶登錄的詳細(xì)信息。(用 last 命令)
/var/log/btmp:記錄失敗的登錄記錄(用 lastb 命令)
/var/族仿run/utmp:用戶登錄、注銷及系統(tǒng)開(kāi)、關(guān)等事件。(用 w / who 命令)
(wtmp、btmp 和 utmp 是二進(jìn)制文件,不能用cat、vi、tail、more這些命令打開(kāi)查看)
1、/var/log/messages:系統(tǒng)日志,主要記錄內(nèi)核和公共消息。
1)、messages 信息項(xiàng)包括:事件發(fā)生的日期和時(shí)間、主機(jī),終端名、進(jìn)程 和 事件日志。
2)、紅色下劃線:systemctl restart sshd 重啟 sshd 服務(wù)。
黃色下劃線:tail /var/log/messages 查看 messages 日志。
藍(lán)色方框:messages 日志已經(jīng)可以查到重啟 sshd 服務(wù)的記錄。
綠色下劃線:每個(gè)動(dòng)作都記錄得很清楚。暫停中(Stopping)、已暫停(Stopped)、啟動(dòng)中(Starting) 和 已啟動(dòng)(Started)
2、/var/log/cron:計(jì)劃執(zhí)行任務(wù)日志。
1)、cron 信息項(xiàng)包括:事件發(fā)生的日期和時(shí)間、主機(jī),終端名、進(jìn)程 和 事件日志。
2)、cron 保存的是計(jì)劃任務(wù)的日志,我們也可以通過(guò)特定輸出查看計(jì)劃進(jìn)程的一些規(guī)律。從中也可以梳理一下計(jì)劃任務(wù)的概念。好像 run-parts(/etc/cron.hourly) 進(jìn)程,基本都是從開(kāi)機(jī)開(kāi)始,整點(diǎn) 1 個(gè)小時(shí)就執(zhí)行一次。一次由兩個(gè)事件為一組核穗配,一條 starting 0anacron ,另一條 finished 0anacron。
輸入 grep run-parts'(‘/etc/cron.hourly’)’ 的時(shí)候,()括號(hào)需要用單引號(hào)引起來(lái)。
CROND進(jìn)程,基本上也是從開(kāi)機(jī)開(kāi)始,整點(diǎn) 1 個(gè)小時(shí)就執(zhí)行一次。
run-parts(/etc/cron.daily) 進(jìn)程每天開(kāi)機(jī)執(zhí)行一次。一次由四個(gè)事件為一組,四個(gè)事件里面有兩個(gè)事件是對(duì)應(yīng)關(guān)系。starting man-db.cron 對(duì)應(yīng) finished man-db.cron,starting logrotate 對(duì)應(yīng) finished logrotate。
從 cron 日志知道系統(tǒng)的計(jì)劃任務(wù)什么時(shí)候觸發(fā),執(zhí)行了什么事件,產(chǎn)生了什么信息。
3、/var/log/dmesg:系統(tǒng)引導(dǎo)日志,顯示硬件相關(guān)的信息。
head -20 dmesg | nl 列出開(kāi)頭 20 行信息。
4、/var/log/maillog:郵件日志。
紅色下劃線:tail maillog 查看 maillog 后 10 行信息。
黃色下劃線:starting the Postfix mail system 啟動(dòng) Postfix 郵件系統(tǒng)。daemon started 守護(hù)進(jìn)程啟動(dòng)完成。
maillog 記錄的信息都是和郵件有關(guān)。
5、/var/log/lastlog:記錄所有用戶登錄最后一次登錄本系統(tǒng)的時(shí)間信息。用 lastlog 讀取信息。lastlog 的幾列內(nèi)容:Username(用戶名)、Port(端口)、From(登錄IP)、Latest(最后登錄時(shí)間)。
系統(tǒng)用戶是調(diào)用系統(tǒng)當(dāng)中一些特殊服務(wù)的用戶,不能登錄系統(tǒng)(所以它們的登錄狀態(tài)都是顯示“**Never logged in**”從來(lái)沒(méi)有登錄)。能夠登錄系統(tǒng)的只有 root 和 新建的普通用戶。
6、/var/log/boot.log:系統(tǒng)啟動(dòng)日志。
head /var/log/boot.log 列出頭 10 條系統(tǒng)啟動(dòng)的信息(內(nèi)容較長(zhǎng),里面記錄了多次啟動(dòng)的信息)。
通過(guò) 3 次的重啟,查看 boot.log 大小。每重啟一次文件的容量就會(huì)增大。也證明了每次啟動(dòng)都會(huì)往 boot.log 這個(gè)文件寫(xiě)信息。
7、/var/log/secure:安全和身份驗(yàn)證日志 。
tail secure 列出 secure 文件最后 10 行信息。通過(guò) secure 的信息可以發(fā)現(xiàn)記錄的是安全相關(guān)的信息,記錄最多的是哪些用戶登錄服務(wù)器的相關(guān)日志。
黃色下劃線:Failed password for root —— root 的密碼錯(cuò)誤。
紅色下劃線:Accepted password for root —— 密碼正確,root 用戶接受的密碼。
綠色下劃線:pam_unix(sshd:session): session opened for user root —— 為 root 用戶建立會(huì)話。
8、/var/log/wtmp:記錄所有用戶登錄的詳細(xì)信息。一個(gè)二進(jìn)制文件,不能用cat、vi、tail、more這些命令打開(kāi)查看。用 last 命令查看。last 作用是顯示近期用戶或終端登錄的情況(包括:登錄、注銷及系統(tǒng)的啟動(dòng)、停機(jī)的事件。因此隨著系統(tǒng)正常運(yùn)行時(shí)間的增加,該文件的大小也會(huì)越來(lái)越大,)
last -n 10 —— -n 跟一個(gè)數(shù)字,指定顯示最近登錄的數(shù)據(jù)。(或者 last -10 一樣效果)
顯示的內(nèi)容有六列:
之一列:用戶名。
第二列:終端位置。(pts/0 偽終端,SSH 或 telnet 等工具遠(yuǎn)程連接的用戶,tty0 直接連接到計(jì)算機(jī)或本地連接的用戶,后面的數(shù)字代表連接編號(hào))。
第三列:登錄 IP 或 內(nèi)核。(如果是 0.0 或者 什么都沒(méi)有,意味著用戶通過(guò)本地終端連接,除了啟動(dòng)活動(dòng),內(nèi)核版本會(huì)顯示在狀態(tài)中)。
第四列:開(kāi)始時(shí)間。
第五列:結(jié)束時(shí)間。(still、login in 尚未推出,down 直到正常關(guān)機(jī),crash 直到強(qiáng)制關(guān)機(jī))。
第六列:持續(xù)時(shí)間。
9、/var/log/btmp:記錄失敗的登錄記錄,主要查看錯(cuò)誤的登錄信息。一個(gè)二進(jìn)制文件,不能用cat、vi、tail、more這些命令打開(kāi)查看。用 lastb 命令查看。
lastb -n 10 —— -n 跟一個(gè)數(shù)字,指定顯示最近登錄的數(shù)據(jù)。(或者 lastb -10 一樣效果)
顯示的內(nèi)容有六列:
之一列:用戶名。
第二列:終端位置。(連接失?。簄otty)。
第三列:登錄 IP。
第四列:開(kāi)始時(shí)間。
第五列:結(jié)束時(shí)間。
第六列:持續(xù)時(shí)間。
10、/var/run/utmp:用戶登錄、注銷及系統(tǒng)開(kāi)、關(guān)等事件。一個(gè)二進(jìn)制文件,不能用cat、vi、tail、more這些命令打開(kāi)查看。用 w / who 命令查看。
w 命令:查看登錄者的信息及行為。
之一行:系統(tǒng)當(dāng)前時(shí)間、系統(tǒng)沒(méi)有中斷持續(xù)性的運(yùn)行時(shí)間、當(dāng)前登錄用戶數(shù)、CPU在之前 1 分鐘、5分鐘、15分鐘的平均負(fù)載。
USER: 登錄用戶名。
TTY:登錄后系統(tǒng)分配的終端號(hào)。(tty:物理機(jī)本機(jī)終端、pts:遠(yuǎn)程終端)
FROM:遠(yuǎn)程主機(jī)名 IP。(tty 物理機(jī)本機(jī)不顯示、pts 遠(yuǎn)程終端會(huì)顯示 IP)
LOGIN@ :登錄時(shí)間。
IDLE:用戶閑置時(shí)間 。這是個(gè)計(jì)時(shí)器,用戶執(zhí)行任何操作,計(jì)時(shí)器就會(huì)被重置。(這里顯示的時(shí)間是距離上次命令操作后多久沒(méi)有進(jìn)行操作的閑置時(shí)間)
JCPU:執(zhí)行命令進(jìn)程所消耗的總時(shí)間。 終端連接的所有進(jìn)程占用時(shí)間,包括當(dāng)前正在運(yùn)行作業(yè)占用的時(shí)間。
PCPU:當(dāng)前進(jìn)程所消耗 CPU 的時(shí)間。
WHAT:用戶正在運(yùn)行的進(jìn)程 或 命令。(-bash 進(jìn)程是終端進(jìn)程)
who 命令:顯示關(guān)于當(dāng)前在本地系統(tǒng)上的所有用戶信息。who 和 w 差不多,who 顯示的內(nèi)容更為簡(jiǎn)潔。who 命令顯示以下內(nèi)容:登錄名、tty、登錄日期 和 時(shí)間。如果用戶是從遠(yuǎn)程終端登錄的,那么該終端的 IP 也會(huì)顯示出來(lái)。
11、whoami:顯示自己的登錄用戶。
linux查看日志的命令是?具體怎么用
要看你想查什么樣的日志了,linux下面日志有很多,有系統(tǒng)的,有應(yīng)用沖判棗的。如果是系統(tǒng)下面的日志,一般都在/var/log下面。
如果是看應(yīng)用日志,那就到應(yīng)用日志所在目錄去看,這個(gè)要看具沖漏體應(yīng)用,每個(gè)的路徑都不一樣。
一般查看日志,可以看靜態(tài)日志,也就是用’vi 日志文件名’,或者散拆用more之類的工具查看。
還可以看動(dòng)態(tài)日志,用’tail -f 日志文件名’,可以實(shí)時(shí)查看打命令之后產(chǎn)生的所有新日志。
tail -f 日志文件路徑主要用于查看實(shí)時(shí)的日志記錄,屬于動(dòng)態(tài)記錄查看。
cat日志路徑主要用于查看靜態(tài)的歷史日志記錄,一般跟路徑名稱,常見(jiàn)的這周類型的日志記錄一般用管道符進(jìn)行過(guò)濾篩選自己所需的記錄。
dmesg主要用于調(diào)試腳本或者命令,出現(xiàn)異常中斷來(lái)排查錯(cuò)誤原因顯示的。
tail -n 10 test.log,查詢?nèi)罩疚膊孔詈?0行的日志。
tail -n +10 test.log,查詢10行之后的所有日志。
head -n 10 test.log,查詢?nèi)罩疚呐D帆清件中的頭10行日志。
head -n -10 test.log,查詢?nèi)罩疚募俗詈?0行的其他所有日志。
操作命令
首先介紹一個(gè)名詞“控制臺(tái)(console)”,它就是我們通常見(jiàn)到的使用字符操作界面的人機(jī)接口,例如dos。我們說(shuō)控制臺(tái)命令,就是指通過(guò)字符界面輸入的可以操作系統(tǒng)的命令。
例如dos命令就是控制臺(tái)命令。要了解的是基于Linux操作系統(tǒng)的基本控制臺(tái)命令。有一點(diǎn)一定要注意,和dos命令不同的是,Linux的命輪前令(也轎攔包括文件名等等)對(duì)大小寫(xiě)是敏感的,也就是說(shuō),如果你輸入的命令大小寫(xiě)不對(duì)的話,系統(tǒng)是不會(huì)做出你期望的響應(yīng)的。
Linux查看日志的命令有很多,比如tail、cat、tac、head、echo等,今天給大家介紹幾種常用的方法:
1、臘李tail-實(shí)時(shí)查看變化的日志
命令格式:tail
-f:循環(huán)讀取
-q:不顯示處理信息
-v:顯示詳細(xì)的處理信息
-c:顯示的字節(jié)數(shù)
-n:顯示行數(shù)
-q, –quiet, –silent:從不輸出給出文件名的首部
-s, –sleep-interval=S:與-f合用,表示在每次反復(fù)的間隔休眠S秒
2、head
跟tail相反,head是看日志的前多少行
head -n 10 test.log:查詢?nèi)罩疚募械那?0行日志;
head -n -10 test.log:查詢?nèi)罩疚募俗詈?0行的其他所有日志;
3、cat-搜索關(guān)鍵掘派字附近的日志
cat是由之一行到最后一行連續(xù)顯示在屏幕上
最常用的命令:cat -n filename | grep “關(guān)鍵字”
cat app.log | grep -C 5 ‘關(guān)鍵字’:顯示日志里匹配字串那行判局賀以及前后5行;
cat app.log | grep -B 5 ‘關(guān)鍵字’:顯示匹配字串及前5行;
cat app.log | grep -A 5 ‘關(guān)鍵字’:顯示匹配字串及后5行;
4、more
more命令是一個(gè)基于vi編輯器文本過(guò)濾器,它以全屏幕的方式按頁(yè)顯示文本文件的內(nèi)容,支持vi中的關(guān)鍵字定位操作。
關(guān)于linux 主機(jī)日志的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過(guò)多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專業(yè)從事IT產(chǎn)品開(kāi)發(fā)和營(yíng)銷公司。廣泛應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)、設(shè)計(jì)、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
分享文章:深入了解Linux主機(jī)日志,輕松排錯(cuò)高效維護(hù)(linux主機(jī)日志)
本文URL:http://fisionsoft.com.cn/article/cdpshsi.html


咨詢
建站咨詢
