centos日誌文件/var/log詳解

2021-01-07 鼠1年2大3吉

在系統運行正常的情況下學習了解這些不同的日誌文件有助於你在遇到緊急情況時從容找出問題並加以解決。

以下介紹的是20個位於/var/log/ 目錄之下的日誌文件。

1. /var/log/messages — 系統啟動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一;它記錄了各種事件,基本上什麼應用都能往裡寫日誌,在做故障診斷時可以首先查看該文件內容。

[root@localhost ~]# ll /var/log/messages

-rw--. 1 root root 287960 Jul 2 21:26 /var/log/messages

messages日誌文件是文本文件,root用戶或有root組權限的用戶才能查看修改。

可以分為幾個欄位來描述這些事件信息:

1. 事件的日期和時間

2. 事件的來源主機

3. 產生這個事件的程序[進程號]

4. 實際的日誌信息

2. /var/log/dmesg — kernel會將開機信息存儲在ring buffer中。您若是開機時來不及查看信息,可利用dmesg來查看。

參數:

-c  顯示信息後,清除ring buffer中的內容。

-s<緩衝區大小>  預設置為8196,剛好等於ring buffer的大小。

-n  設置記錄信息的層級。

主要應用:

dmesg用來顯示內核環緩衝區(kernel-ring buffer)內容,內核將各種消息存放在這裡。在系統引導時,內核將與硬體和模塊初始化相關的信息填到這個緩衝區中。內核環緩衝區中的消息對於診斷系統問題通常非常有用。

檢查硬碟是否運行在DMA模式:

檢查乙太網連接:

如果一切正常,那麼dmesg顯示每個網卡的硬體配置信息。如果某項系統服務未能得到正確的配置,dmesg日誌很快就填滿錯誤消息,這是診斷故障的良好起點。

3. /var/log/boot.log — 包含系統啟動時的日誌,如果系統啟動之後有什麼異常可以查看該文件信息。

4. /var/log/lastlog — 文件用來記錄進入系統的用戶信息,包括登錄的時間,登錄是否成功等信息。這不是一個ASCII文件,因此需要用lastlog命令查看內容。

5. /var/log/maillog — 包含來著系統運行電子郵件伺服器的日誌信息。例如,sendmail日誌信息就全部送到這個文件中。

6. /var/log/btmp – 記錄所有失敗登錄信息。使用last命令可以查看btmp文件。

使用防火牆屏蔽試圖使用密碼字典登錄ssh服務的IP:

iptables -A INPUT -i eth0 -s *.*.*.0/24 -j DROP

查看惡意ip試圖登錄次數:

lastb | awk 『{ print $3}』 | sort | uniq -c | sort -n

刪除這個日誌:

rm -rf /var/log/btmp

touch /var/log/btmp

7. /var/log/cups — 涉及所有列印信息的日誌。

配置文件:/etc/cups/cupsd.conf

8. /var/log/cron — 每當cron進程開始一個工作時,就會將相關信息記錄在這個文件中。

任務運行的日期與時間 、在哪臺主機上運行 、運行任務的程序[進程號] 、任務運行的具體信息

9. /var/log/secure — 包含驗證和授權方面信息。例如,sshd會將所有信息記錄(其中包括失敗登錄)在這裡。一般用來記錄安全相關的信息,記錄最多的是哪些用戶登錄伺服器的相關日誌,如果該文件很大,說明有人在破解你的 root 密碼。

可以分為幾個欄位來描述這些事件信息:

1. 事件的日期和時間

2. 事件的來源主機 ( 通常是寫主機名 )

3. 產生這個事件的程序[進程號]

4. 實際的日誌信息

10. /var/log/wtmp — 是一個二進位文件,記錄每個用戶的登錄次數和持續時間等信息。該日誌文件永久記錄每個用戶登錄、註銷及系統的啟動、停機的事件。因此隨著系統正常運行時間的增加,該文件的大小也會越來越大,增加的速度取決於系統用戶登錄的次數。該日誌文件可以用來查看用戶的登錄記錄,last命令就通過訪問這個文件獲得這些信息,並以反序從後向前顯示用戶的登錄記錄,last也能根據用戶、終端tty或時間顯示相應的記錄。

last 命令:

功能說明:列出目前與過去登入系統的用戶相關信息。

語  法:last [-adRx][-f ][-n ][帳號名稱...][終端機編號...]

補充說明:單獨執行last指令,它會讀取位於/var/log目錄下,名稱為wtmp的文件,並把該給文件的內容記錄的登入系統的用戶名單全部顯示出來。

參  數:

-a  把從何處登入系統的主機名稱或IP位址,顯示在最後一列。

-d  將IP位址轉換成主機名稱。

-f  指定記錄文件。

-n 或-  設置列出名單的顯示列數。

-R  不顯示登入系統的主機名稱或IP位址。

-x  顯示系統關機,重新開機,以及執行等級的改變等信息。

除了手動存檔和清除這些日誌文件以外,還可以使用logrotate在文件達到一定大小後自動刪除。logrotate程序是一個日誌文件管理工具。用於分割日誌文件,刪除舊的日誌文件,並創建新的日誌文件,起到「轉儲」作用。可以節省磁碟空間。Linux系統默認安裝logrotate工具,它默認的配置文件在:

/etc/logrotate.conf

/etc/logrotate.d/

相關焦點

  • Linux 自帶神器 logrotate 詳解
    不知為何,我發現很多運維同學的伺服器上都運行著一些諸如每天切分 Nginx日誌之類的 CRON 腳本,大家似乎遺忘了 Logrotate,爭相發明自己的輪子,這真是讓人沮喪啊!就好比明明身邊躺著現成的性感美女,大家卻忙著自娛自樂,罪過!logrotate 程序是一個日誌文件管理工具。用於分割日誌文件,刪除舊的日誌文件,並創建新的日誌文件,起到「轉儲」作用。可以節省磁碟空間。
  • linux系統下各種日誌文件的介紹,查看,及日誌服務配置
    於這些程序只負責管理自己的日誌文件,因此不同程序所使用的日誌記錄格式也會存在較大的差異。日誌文件的位置Linux系統本身和大部分伺服器程序的日誌文件默認放在/var/log/下。 部分程序共用一個日誌文件,一部分程序使用單個日誌文件。
  • Logreduce:用 Python 和機器學習去除日誌噪音
    $ logreduce diff /var/log/audit/audit.log.1 /var/log/audit/audit.logINFO logreduce.Classifier - Training took 21.982s at 0.364MB/s (1.314kl/s) (8.000 MB - 28.884 kilo-lines)0.244
  • 使用 logzero 在 Python 中進行簡單日誌記錄 | Linux 中國
    你可以使用它基本的記錄到標準輸出的日誌記錄,就像你可以使用 print 來獲得信息和調試一樣,學習它的更高級日誌記錄(例如記錄到文件)的學習曲線也很平滑。讓我們嘗試一下:from logzero import logger, logfilelogfile('/home/pi/test.log')現在,你的日誌條目將記錄到文件 test.log 中。記住確保腳本有權限寫入該文件及其目錄結構。
  • Logreduce:用 Python 和機器學習去除日誌噪音 | Linux 中國
    當一個作業失敗時,弄清楚出了什麼問題可能是一個繁瑣的過程,它涉及到調查日誌以發現根本原因 —— 這通常只能在全部的作業輸出的一小部分中找到。為了更容易地將最相關的數據與其餘數據分開,可以使用先前成功運行的作業結果來訓練 Logreduce 機器學習模型,以從失敗的運行日誌中提取異常。此方法也可以應用於其他用例,例如,從 Journald 或其他系統級的常規日誌文件中提取異常。
  • 噓,我已經瞞著開發解鎖APP日誌文件抓取及分析啦!
    主要包括APP日誌查看工具APP日誌文件分類APP日誌文件抓取詳解APP日誌相關面試題分享不同等級log信息顯示的顏色不同,使用起來方便直觀。ddms監控系統或應用日誌、監控線程狀態、VM使用狀況(內存洩漏通過它來判斷)、模擬簡訊電話事件、生成logcat日誌、文件管理及截屏等功能。
  • 如何在 CentOS 中設置 NTP 伺服器
    vim /etc/ntp.confserver 0.oceania.pool.ntp.orgserver 1.oceania.pool.ntp.orgserver 2.oceania.pool.ntp.orgserver 3.oceania.pool.ntp.org默認情況下,NTP 伺服器的日誌保存在
  • Linux-系統日誌簡介
    前言日誌在排查文件的時候至關重要,在Linux上一般跟系統相關的日誌默認都會放到/var/log下面。1、/var/log/boot.log一般包含系統啟動時的日誌,包括自啟動的服務。2、/var/log/btmp記錄所有失敗登錄信息。非文本文件,可以使用last -f /var/log/btmp進行查看。3、/var/log/croncron計劃任務的日誌,每當cron任務被執行的時候都會在這個文件裡面記錄。
  • 安全的log日誌記錄伺服器
    稍微有點概念的 hacker 都知道,進入系統後的第一見事情就是去清理 log, 而發現入侵的最簡單最直接的方法就是去看系統紀錄文件.現在我們來說說如何設定一個安全的 log 伺服器. 想想看,如果入侵者無法連結您的 log 伺服器,又如何能改您的 log 呢?現在我們來學習如何設定一個無 ip 的 log 伺服器.
  • MySQL 日誌(redo log 和 undo log) 都是什麼鬼?
    1.2 redo log的基本概念redo log包括兩部分:一是內存中的日誌緩衝(redo log buffer),該部分日誌是易失性的;二是磁碟上的重做日誌文件(redo log file),該部分日誌是持久的。
  • MySQL 中的 binlog 和 relay-log 結構完全詳解
    _%'; #查看日誌目錄mysqlbinlog --short-form --force-if-open --base64-output=never /usr/local/var/mysql/binlog.000029
  • Kubernetes ELK 日誌收集
    ,只需要在宿主機上收集每個容器中的日誌/var/log和/var/lib/docker/containers (目錄要根據docker info中的dir進行修改)容器會將日誌轉化為JSON格式,是docker中的配置起的作用。
  • 必須了解的mysql三大日誌-binlog、redo log和undo log
    binlog 是 mysql的邏輯日誌,並且由 Server 層進行記錄,使用任何存儲引擎的 mysql 資料庫都會記錄 binlog 日誌。binlog 是通過追加的方式進行寫入的,可以通過 max_binlog_size 參數設置每個 binlog文件的大小,當文件大小達到給定值之後,會生成新的文件來保存日誌。
  • golang標準庫log
    /golangprojects/duoke360.com/pro01/demo.go:12: my log日誌前綴配置log包提供兩個日誌前綴配置的相關函數:func Prefix() string // 返回日誌的前綴配置func SetPrefix(prefix string)  // 設置日誌前綴日誌前綴配置實例package mainimport ( "fmt" "log")func
  • 必須了解的MySQL三大日誌:binlog、redo log和undo log
    日誌是mysql資料庫的重要組成部分,記錄著資料庫運行期間各種狀態信息。mysql日誌主要包括錯誤日誌、查詢日誌、慢查詢日誌、事務日誌、二進位日誌幾大類。作為開發,我們重點需要關注的是二進位日誌(binlog)和事務日誌(包括redo log和undo log),本文接下來會詳細介紹這三種日誌。
  • 如何讓AutoCAD列印時不產生列印日誌plot.log文件
    在AutoCAD使用過程中,不管是我們AutoCAD進行列印圖紙還是通過列印的方式導出JPG圖片,細心的朋友會發現只要執行列印功能就會在文件的同一文件夾產生一個叫做plot.log的文件,這個文件是AutoCAD列印日誌文件,每次列印命令完成以後就會產生,不刪除留著沒啥用,刪除它每次都要刪除比較麻煩
  • 在 Linux 上用 SQL 語句查詢 Apache 日誌
    Apache 日誌背景知識Apache 有兩種日誌:Access log:存放在路徑 /var/log/apache2/access.log (Debian) 或者 /var/log/httpd/access_log (Red Hat)。Access Log 記錄所有 Apache web server 執行的請求。
  • Mysql的binlog和relay-log到底長啥樣?
    _%'; #查看日誌目錄mysqlbinlog --short-form --force-if-open --base64-output=never /usr/local/var/mysql/binlog.000029