linux檢視系統日誌(linux如何檢視日誌)

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視訊,請在微信搜尋公眾號“智傳網優”直接開始自助視訊學習

1. 前言

在Linux日常管理中,我們肯定有檢視某些服務的日誌需求,或者是系統本身的日誌。本文主要介紹如何檢視Linux的系統日誌,包括檔案的路徑、工具的使用等等。會看Linux日誌是非常重要的,不僅在日常操作中可以迅速排錯,也可以快速的定位。

2. 如何檢視Linux日誌

Linux日誌檔案的路徑一般位於,/var/log/,比如ngix的日誌路徑為/var/log/nginx/,如果要檢視某服務的日誌,還可以使用systemctl status xxx,比如檢視ssh服務的壯態,systemctl status sshd

檢視Linux某服務的日誌

Liunx的配置檔案在/etc/rsyslog.d裡,可以看到如下資訊

在linux系統當中,有三個主要的日誌子系統:

1、連線時間日誌:由多個程式執行,把記錄寫入到/var/log/wtmp和/var/run/utmp,

login等程式會更新wtmp和utmp檔案,使系統管理員能夠跟蹤誰在何時登入到系統。

2、程序統計:由系統核心執行,當一個程序終止時,為每個程序往程序統計檔案中寫一個記錄。程序統計的目的是為系統中的基本服務提供命令使用統計

3、錯誤日誌:由rsyslogd守護程式執行,各種系統守護程序、使用者程式和核心通過rsyslogd守護程式向檔案/var/log/messages報告值得注意的時間。另外有許多linux程式建立日誌,像HTTP和FTP這樣提供的伺服器也保持詳細的日誌。

4、其他日誌……

檢視Linux日誌預設路徑

可以看到在/var/log目錄下存在很多的日誌檔案,接下來就對裡面的一些常用日誌檔案進行分析

主要日誌檔案介紹:

核心及公共訊息日誌:/var/log/messages

計劃任務日誌:/var/log/cron

系統引導日誌:/var/log/dmesg

郵件系統日誌:/var/log/maillog

使用者登入日誌:/var/log/lastlog

/var/log/boot.log(記錄系統在引導過程中發生的時間)

/var/log/secure (使用者驗證相關的安全性事件)

/var/log/wtmp(當前登入使用者詳細資訊)

/var/log/btmp(記錄失敗的的記錄)

/var/run/utmp(使用者登入、登出及系統開、關等事件)

日誌檔案詳細介紹:

/var/log/secure

Linux系統安全日誌,記錄使用者和工作組的情況、使用者登陸認證情況

例子:我建立了一個zcwyou的使用者,然後改變了該使用者的密碼,於是該資訊就被記錄到該日誌下

Linux系統安全日誌預設路徑

該日誌就詳細的記錄了我操作的過程。

[root@zcwyou ~]# cat /var/log/messages    

核心及公共資訊日誌,是許多程序日誌檔案的彙總,從該檔案中可以看出系統任何變化

檢視Linux核心及公共資訊日誌

[root@zcwyou ~]# cat /var/log/dmesg    

系統引導日誌

該日誌使用dmesg命令快速檢視最後一次系統引導的引導日誌

檢視Linux系統系統引導日誌

/var/log/lastlog    

最近的使用者登入事件,一般記錄最後一次的登入事件

該日誌不能用諸如cat、tail等檢視,因為該日誌裡面是二進位制檔案,可以用lastlog命令檢視,它根據UID排序顯示登入名、埠號(tty)和上次登入時間。如果一個使用者從未登入過,lastlog顯示 Never logged。

last /var/log/wtmp    

該日誌檔案永久記錄每個使用者登入、登出及系統的啟動、停機的事件。該日誌為二進位制檔案,不能用諸如tail/cat/等命令,使用last命令檢視。

/var/log/mailog    

記錄郵件的收發

/var/log/btmp    

此檔案是記錄錯誤登入的日誌,可以記錄有人使用暴力破解ssh服務的日誌。該檔案用lastb開啟

/var/log/utmp    

該日誌記錄當前使用者登入的情況,不會永久儲存記錄。可以用who/w命令來檢視

3. 常用的日誌分析工具與使用方法

3.1 統計一個文字中包含字元個數

[root@zcwyou ~]# cat access.log |grep /2012/ |wc -l[root@zcwyou ~]# cat access.log |grep "/message/publishmsg//|/message/publish/" >test1.log    

3.2 檢視當天訪問排行前10的url

oucanrong@zcwyou:/var/log/nginx$ cat access.log | grep “10/Dec/2010″ | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10    

3.3 檢視apache的程序數

[root@zcwyou ~]# ps -aux | grep httpd | wc -l    

3.4 訪問量前10的IP

[root@zcwyou ~]# cat access.log | cut -f1 -d " " | sort | uniq -c |sort -k 1 -n -r | head -10    

cut部分表示取第1列即IP列,取第4列則為URL的訪問量

3.5 檢視最耗時的頁面

[root@zcwyou ~]# cat access.log | sort -k 2 -n -r | head -10    

按第2列響應時間逆序排序

3.6 使用grep查詢檔案中指定字元出現的次數

[root@zcwyou ~]# grep -o '目標' test.txt | wc -l    

-o 指示grep顯示所有匹配的地方,並且每一個匹配單獨一行輸出。這樣只要統計輸出的行數就可以知道這個字元出現的次數了。

4. 總結

檢視Linux日誌需求瞭解和熟悉使用一些常用的工具方能提升我們的查詢和定位效率。比如使用 Grep 搜尋,使用Tail命令,使用Cut,使用AWK 和 Grok 解析日誌和使用 Rsyslog 和 AWK 過濾等等,只要能掌握這些工具。我們才能高效地處理和定位故障點。

本文已同步至部落格站,尊重原創,轉載時請在正文中附帶以下連結:

https://www.linuxrumen.com/rmxx/647.html

點選瞭解更多,快速檢視更多的技術文章列表。