0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解析Linux系統(tǒng)日志

阿銘linux ? 來(lái)源:阿銘linux ? 作者:阿銘linux ? 2023-01-05 09:41 ? 次閱讀

日志記錄了系統(tǒng)每天發(fā)生的各種各樣的事情,比如監(jiān)測(cè)系統(tǒng)狀況、排查系統(tǒng)故障等。你可以通過(guò)日志來(lái)檢查錯(cuò)誤發(fā)生的原因,或者受到攻擊時(shí)攻擊者留下的痕跡。日志的主要功能是審計(jì)和監(jiān)測(cè),還可以實(shí)時(shí)地監(jiān)測(cè)系統(tǒng)狀態(tài),監(jiān)測(cè)和追蹤侵入者等。
在RockyLinux8系統(tǒng)里,以下幾個(gè)日志默認(rèn)是不存在的,需要安裝rsyslog包,命令如下:

yuminstall-yrsyslog
systemctlstartsyslog
systemctl enable syslog
14.8.1/var/log/messages
阿銘常查看的日志文件為/var/log/messages,它是核心系統(tǒng)日志文件,包含了系統(tǒng)啟動(dòng)時(shí)的引導(dǎo)消息,以及系統(tǒng)運(yùn)行時(shí)的其他狀態(tài)消息。I/O錯(cuò)誤、網(wǎng)絡(luò)錯(cuò)誤和其他系統(tǒng)錯(cuò)誤都會(huì)記錄到這個(gè)文件中。其他信息,比如某個(gè)人的身份切換為root,以及用戶(hù)自定義安裝的軟件(如,Apache)的日志也會(huì)在這里列出。

通常情況下,/var/log/messages是做故障診斷時(shí)首先要查看的文件。那你肯定會(huì)說(shuō),這么多日志都記錄到這個(gè)文件中,如果服務(wù)器上有很多服務(wù),豈不是這個(gè)文件很快就會(huì)寫(xiě)得很大?沒(méi)錯(cuò),但是系統(tǒng)有一個(gè)日志輪詢(xún)的機(jī)制,每星期切換一個(gè)日志,切換后的日志名字類(lèi)似于messages-20200301,會(huì)存放在/var/log/目錄下面,連同messages一共有5個(gè)這樣的日志文件。這里的20200301就是日期,它表示日志切割的年月日。這是通過(guò)logrotate工具的控制來(lái)實(shí)現(xiàn)的,它的配置文件是/etc/logrotate.conf(如果沒(méi)有特殊需求,請(qǐng)不要修改這個(gè)配置文件)。
# cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# system-specific logs may be also be configured here.
這個(gè)配置文件里面的內(nèi)容還是很容易明白的,都帶有解釋。除了logrotate.conf外,在/etc/logrotate.d/下面還有一些子配置文件。
# ls /etc/logrotate.d
bootlog btmp  chrony  dnf  sssd  syslog  up2date  wtmp.
# cat /etc/logrotate.d/syslog 
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
missingok
sharedscripts
postrotate
/usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
endscript
}
其中syslog就是messages日志相關(guān)的配置文件了。/var/log/messages是由rsyslogd這個(gè)守護(hù)進(jìn)程產(chǎn)生的,其服務(wù)為rsyslog.service,如果停止這個(gè)服務(wù)則系統(tǒng)不會(huì)產(chǎn)生/var/log/messages,所以這個(gè)服務(wù)不要停止。rsyslog服務(wù)的配置文件為/etc/rsyslog.conf,這個(gè)文件定義了日志的級(jí)別。若沒(méi)有特殊需求,這個(gè)配置文件是不需要修改的,詳細(xì)內(nèi)容阿銘不再闡述。如果你感興趣,請(qǐng)使用命令man rsyslog.conf獲得更多關(guān)于它的信息。
14.8.2dmesg
除了關(guān)注/var/log/messages外,你還應(yīng)該多關(guān)注一下dmesg這個(gè)命令,它可以顯示硬件(如,磁盤(pán)、網(wǎng)卡等)相關(guān)信息。如果你的某個(gè)硬件有問(wèn)題(比如網(wǎng)卡),用這個(gè)命令也是可以看到的:
# dmesg |tail 
[ 8.671924] RAPL PMU: hw unit of domain pp0-core 2^-0 Joules
[ 8.671925] RAPL PMU: hw unit of domain package 2^-0 Joules
[ 8.671926] RAPL PMU: hw unit of domain dram 2^-0 Joules
[ 8.671927] RAPL PMU: hw unit of domain pp1-gpu 2^-0 Joules
[ 10.555690] NET: Registered protocol family 40
[ 14.545496] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready
[ 14.551791] e1000: ens33 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 14.557466] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready
[ 14.557477] IPv6: ADDRCONF(NETDEV_CHANGE): ens33: link becomes ready
[ 4202.922934] hrtimer: interrupt took 19983639 ns
14.8.3安全日志
關(guān)于安全方面的日志,阿銘簡(jiǎn)單介紹幾個(gè)命令或者日志。

last命令用來(lái)查看登錄Linux的歷史信息,具體用法如下:
# last |head
root pts/1        192.168.72.128   Fri Jun 26 17:41   still logged in
root pts/0        192.168.72.1     Fri Jun 26 15:46   still logged in
reboot system boot  4.18.0-147.3.1.e Fri Jun 26 15:41   still running
root pts/3        192.168.72.1     Fri Jun 26 15:33 - 15:40  (00:06)
root pts/2        192.168.72.1     Fri Jun 26 15:30 - 15:40  (00:10)
root pts/0        192.168.72.1     Fri Jun 26 15:13 - 15:40  (00:27)
root pts/2        192.168.72.1     Fri Jun 26 15:07 - 15:13  (00:05)
root pts/1        192.168.72.1     Fri Jun 26 09:39 - 15:40  (06:01)
root pts/0        192.168.120.106  Fri Jun 26 08:54 - 15:08  (06:14)
root tty1                          Fri Jun 26 08:33 - 15:40  (07:07)
上例中,從左至右依次為賬戶(hù)名稱(chēng)、登錄終端、登錄客戶(hù)端IP、登錄日期及時(shí)長(zhǎng)。last命令輸出的信息實(shí)際上是讀取了二進(jìn)制日志文件/var/log/wtmp,只是這個(gè)文件不能直接使用cat、Vim、head、tail等工具查看。 另外/var/log/secure也是和登錄信息有關(guān)的日志文件。該日志文件記錄驗(yàn)證和授權(quán)等方面的信息,比如ssh登錄系統(tǒng)成功或者失敗時(shí),相關(guān)的信息都會(huì)記錄在這個(gè)日志里。

最后,阿銘建議你以后在日常的管理工作中,要養(yǎng)成多看日志的習(xí)慣,尤其是一些應(yīng)用軟件的日志。比如Nginx、MySQL、Redis(后續(xù)內(nèi)容會(huì)講到)等常用的軟件,看它們的錯(cuò)誤日志,可以幫助你排查問(wèn)題以及監(jiān)控它們的運(yùn)行狀況是否良好。

14.8.4journal日志

如果不安裝rsyslog包,系統(tǒng)就沒(méi)有/var/log/messages日志,那系統(tǒng)有問(wèn)題我們?cè)趺纯慈罩灸??可以通過(guò)jounalctl來(lái)查看:
jounalctl
常用選項(xiàng)有:

-n 后面跟數(shù)字,比如5,查看最后5行


-e 查看最后的日志


-x 增加注釋


-o 設(shè)置日志格式,比如-o json,-o export,-o short


-p 設(shè)置日志級(jí)別,emerg、alert、crit、err、warning、notice、info、debug



-f 動(dòng)態(tài)查看



-u 指定unit,比如-u chrony


-r 倒序查看


-k 只看內(nèi)核相關(guān)

具體示例,如下:

查看sshd服務(wù)日志

journalctl -u sshd

2. 查看系統(tǒng)內(nèi)核日志

journalctl -k

3.動(dòng)態(tài)查看sshd服務(wù)日志

journalctl -u sshd -f

4.直接打印全部,不讓它分頁(yè)

journalctl --no-page

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11324

    瀏覽量

    209938
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    691

    瀏覽量

    22062
  • 日志
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    10659

原文標(biāo)題:Linux系統(tǒng)日志

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于linux系統(tǒng)日志文件的學(xué)習(xí)與理解

    日志文件是用于記錄系統(tǒng)操作時(shí)間的記錄文件或文件集合。操作系統(tǒng)最近學(xué)習(xí)了有關(guān)linux系統(tǒng)日志的相
    發(fā)表于 10-25 15:06

    Linux系統(tǒng)日志的默認(rèn)分類(lèi)

    1.系統(tǒng)日志默認(rèn)分類(lèi)日志監(jiān)控可以使用命令 tail -f /var/log/logname/var/log/messages##系統(tǒng)服務(wù)及日志
    發(fā)表于 07-05 08:20

    崩潰日志快速解析方法

    iOS快速解析崩潰日志
    發(fā)表于 10-09 14:13

    企業(yè)級(jí)的LInux系統(tǒng)日志管理

    企業(yè)級(jí)LInux系統(tǒng)日志管理
    發(fā)表于 05-29 11:33

    Linux系統(tǒng)日志的管理

    Linux-系統(tǒng)日志
    發(fā)表于 06-04 17:24

    Linux日志系統(tǒng)Journald

      Toradex從V2.0 Linux BSP 開(kāi)始,使用Journald作為默認(rèn)的日志管理系統(tǒng)。下面將基于Toradex Colibri iMX6DL ARM嵌入式平臺(tái)介紹Journald的基本使用方法,這個(gè)平臺(tái)是基于NXP
    發(fā)表于 09-18 09:36 ?5次下載

    Linux日志文件系統(tǒng)解析

    在近代歷史上,日志文件系統(tǒng)被認(rèn)為十分奇特,主要是處于研究階段。而如今,日志文件系統(tǒng)(ext3)已經(jīng)成為 Linux的缺省文件
    發(fā)表于 11-01 15:23 ?0次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>日志</b>文件<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>解析</b>

    linux系統(tǒng)日志在哪里

    Linux系統(tǒng)擁有非常靈活和強(qiáng)大的日志功能,可以保存幾乎所有的操作記錄,并可以從中檢索出我們需要的信息。日志文件的默認(rèn)路徑是:/var/log下面是幾個(gè)重要的
    發(fā)表于 11-03 12:25 ?3789次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>日志</b>在哪里

    對(duì)于大規(guī)模系統(tǒng)日志日志模式提煉算法的優(yōu)化

    LARGE框架是部署在中國(guó)科學(xué)院超級(jí)計(jì)算環(huán)境中的日志分析系統(tǒng),通過(guò)日志收集、集中分析、結(jié)果反饋等步驟對(duì)環(huán)境中的各種日志文件進(jìn)行監(jiān)控和分析。在對(duì)環(huán)境中
    發(fā)表于 11-21 14:54 ?7次下載
    對(duì)于大規(guī)模<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>日志</b>的<b class='flag-5'>日志</b>模式提煉算法的優(yōu)化

    基于機(jī)器學(xué)習(xí)的日志解析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    針對(duì)現(xiàn)有日志分類(lèi)方法只適用于格式化的日志,且性能依賴(lài)于日志結(jié)構(gòu)的問(wèn)題,基于機(jī)器學(xué)習(xí)方法對(duì)日志信息解析算法LogSig進(jìn)行了擴(kuò)展改進(jìn),并設(shè)計(jì)開(kāi)
    發(fā)表于 03-29 15:33 ?4次下載

    你了解過(guò)Linux日志文件系統(tǒng)?

    最早的日志文件系統(tǒng)是 IBM? Journaled File System(JFS)。JFS 于 1990 年首次發(fā)行,而當(dāng)前 Linux 支持的版本是后期開(kāi)發(fā)的 JFS2。1994 年,Silicon Graphics 為 I
    發(fā)表于 04-29 16:59 ?3949次閱讀
    你了解過(guò)<b class='flag-5'>Linux</b><b class='flag-5'>日志</b>文件<b class='flag-5'>系統(tǒng)</b>?

    Linux系統(tǒng)日志文件中的JFS文件系統(tǒng)

    嵌入式linux中文站向大家介紹一下JFS文件系統(tǒng)。Linux系統(tǒng)日志文件中的JFS系統(tǒng), JF
    發(fā)表于 05-05 14:10 ?5062次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>日志</b>文件中的JFS文件<b class='flag-5'>系統(tǒng)</b>

    學(xué)會(huì)用日志了解你的 Linux 系統(tǒng)

    Linux 系統(tǒng)日志非常重要,后臺(tái)運(yùn)行的程序(通常被稱(chēng)為守護(hù)進(jìn)程或者服務(wù)進(jìn)程)處理了你 Linux 系統(tǒng)中的大部分任務(wù)。
    發(fā)表于 05-06 16:39 ?734次閱讀

    嵌入式linux設(shè)備中應(yīng)用運(yùn)行日志的實(shí)現(xiàn)

    嵌入式linux設(shè)備中應(yīng)用運(yùn)行日志的實(shí)現(xiàn)? ? ? 最近在做一個(gè)項(xiàng)目時(shí),需要記錄設(shè)備運(yùn)行中情況,以方便對(duì)故障進(jìn)行跟蹤定位,完善.所以決定采用記錄程序運(yùn)行日志,經(jīng)過(guò)在網(wǎng)上搜索,采用
    發(fā)表于 11-01 17:22 ?8次下載
    嵌入式<b class='flag-5'>linux</b>設(shè)備中應(yīng)用運(yùn)行<b class='flag-5'>日志</b>的實(shí)現(xiàn)

    如何使用journalctl來(lái)讀取、監(jiān)控和分析Linux中的日志

    Systemd是大多數(shù)主要Linux發(fā)行版的默認(rèn)的初始化程序。Systemd的主要功能之一收集日志以及為分析日志提供工具。
    的頭像 發(fā)表于 12-23 16:44 ?4611次閱讀