知識庫 使用 Profitserver 服務的簡單說明
主要 知識庫 如何閱讀 Linux 日誌以及在哪裡找到它

如何閱讀 Linux 日誌以及在哪裡找到它


當你遇到伺服器效能問題時,你要做的第一件事就是 檢查你的 Linux 日誌。在系統日誌中,您可以找到來自作業系統不同元件(如核心或各種服務)的一些有用的診斷訊息,因此您很可能會在那裡找到故障原因。

日誌中的每個訊息都是作業系統中某些事件的結果:來自使用者、授權、服務關閉或應用程式故障。這些事件根據其重要程度有不同的優先順序。 Linux中有以下類型的事件:

  1. emerg - 失敗,最高優先權;
  2. alert - 緊急警告;
  3. crit - 關鍵事件;
  4. err - 一般錯誤;
  5. warn - 普通警告;
  6. notice - 通知;
  7. info - 訊息訊息;
  8. debug - 調試資訊;

目前,Linux 中主要的日誌收集服務有 系統日誌 以及 系統日誌。它們與大多數現代發行版軟體包相容並且獨立運作。

系統日誌

該服務的日誌位於“/ var / log /”資料夾中以普通文字檔案的形式保存日誌資訊。日誌資訊根據事件類型保存在不同文件中。例如,“/var/log/auth.log”包含用戶在系統中的授權信息,“/var/log/kern.log” 包含內核訊息。文件名在不同的發行包中可能有所不同,因此我們來看一下配置文件,了解其中的內容。/etc/rsyslog.d/50-default.conf“。

Linux 上的 rsyslog

這些規則顯示哪個檔案包含每種類型的日誌訊息。左側部分以以下形式顯示訊息類型“[來源].[優先]”右側顯示日誌檔案的名稱。在寫入訊息類型時“*”字元可以添加。它表示空值或“沒有” 將其從清單中刪除。讓我們仔細看看前兩個規則。

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

第一條規則意味著從授權機制收到的所有訊息都將被記錄到“/var/log/auth.log」文件。所有授權嘗試(無論成功與否)都將記錄在此文件中。第二條規則表示,除與授權相關的訊息外,所有訊息都將記錄到「在/ var / log / syslog的」檔案。這兩個檔案通常是最受歡迎的。以下規則定義了儲存核心日誌的路徑“字距。 *”和郵件服務日誌“郵件。 *

日誌檔案可以藉助任何文字編輯器打開,例如 , , 尾巴。讓我們打開“/var/log/auth.log“ 文件

less /var/log/auth.log
Запись в лог-файле Линукс о неудачной попытке авторизации SSHSH

文件的每一行都是從應用程式或服務接收的單獨的訊息。所有訊息無論其來源為何都具有一種格式並由 5 個部分組成。讓我們以螢幕截圖中突出顯示的訊息為例。

  1. 訊息時間戳記 - “12 月 06 日 18:33:XNUMX”
  2. 發送訊息的電腦的名稱 - “vds”
  3. 發送訊息的應用程式或服務的名稱 - “sshd”
  4. 進程 ID — [653]
  5. 訊息文字 - “已接受來自 188.19.42.165 埠 2849 ssh2 的 mihail 密碼”

這是成功連接 SSH 的範例。

失敗的登入嘗試如下所示:

Linux 邏輯

此文件還記錄具有高級權限的命令

Linux 上的應用程式

讓我們打開 在/ var / log / syslog的 文件

螢幕截圖上突出顯示的消息是關於網路介面關閉的消息。

Утилита logorotate

要透過長文本文件搜尋訊息,請使用 grep的 公用事業。您可以查找來自以下地址的所有訊息 PPTP 服務於“在/ var / log / syslog的“檔案。

grep 'pptpd' /var/log/syslog
файл “/etc/logrotate.d/rsyslog”

在診斷過程中,您可以使用 尾巴 可以顯示文件最後幾行的實用程式。命令 ”tail -f / var / log / syslog”將讓您即時觀看日誌記錄。

該服務 系統日誌 非常靈活和強大。它可用於收集本機系統以及企業級的日誌。您可以在官方網站上找到完整文檔 https://www.rsyslog.com/

Linux 中的日誌輪換

日誌記錄會不斷進行,因此檔案的大小不斷增加。輪換機制確保自動歸檔舊日誌並建立新檔案。根據規則,它可以每天、每週、每月發生或按大小限制發生。當建立新日誌時,舊日誌可以被刪除或透過電子郵件發送。日誌輪換由 日誌輪播 公用事業。您可以在「/etc/logrotate.conf”文件中。文件內容也在“/etc/logrotate.d/“ 文件夾

新規則可以登入主設定檔。不過,最好在「/etc/logrotate.d/”預設情況下,此目錄中有幾個文件

Настраиваем ротацию логов в Линукс

讓我們看一下文件“/etc/logrotate.d/rsyslog「包含日誌輪替規則 系統日誌 服務。

Пример вывода всех ошибок pptpd в лог-файлах

首先,規則應該包含日誌檔案的路徑,然後包含所有在括號中的指導方針。

  • 旋轉7 - 要保留的文件數量 - 7
  • 每天 - 每天建立一個新文件
  • 壓縮 - 壓縮並存檔舊文件
Учимся читать логи Линукс

您可以在螢幕截圖中看到“/ var / log /”資料夾中有主日誌“系統日誌」等7個檔案,與設定檔中的規則相對應。

您可以在手冊中找到有關 logrotate 的更詳細描述,執行“手動旋轉”命令

收集 Linux 日誌 - journald

原木採伐服務 系統日誌 是初始化系統的一部分 systemd。 Linux 日誌檔案儲存在“/var/log/日誌/” 以特殊格式儲存,可使用 journalctl 公用事業。記錄格式與 系統日誌.

命令 journalctl 沒有屬性顯示所有記錄但它不適合較大的日誌。讓我們來看看這個實用程式的一些選項。

  • journalctl -b - 顯示自上次啟動以來的所有記錄
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - 顯示特定時間內的記錄
  • journalctl -u pptpd - 顯示特定服務的記錄
  • journalctl -k - 顯示內核訊息
  • journalctl -p err - 顯示特定優先順序的訊息,在這種情況下顯示更高優先順序的訊息(crit、alert、emerg)
  • journalctl -f - 即時顯示訊息

為了獲得更好的靈活性,您可以組合這些選項。讓我們顯示所有錯誤 PPTP 服務

journalctl -u pptpd -p err
上次

如果將可執行檔的路徑指定為屬性,則該公用程式將顯示此檔案傳送的所有訊息。讓我們顯示文件“/usr/bin/sudo” 自04年15月18日2020:XNUMX起。實際上,它會顯示所有以更高權限執行的命令。

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
柯曼多伊 lastb

若要了解日誌檔案佔用了多少磁碟空間,請執行下列命令

journalctl --disk-usage

為了將日誌檔案限制為 1Gb,請執行下列命令

journalctl --vacuum-size=1G

開啟二進位文件

現在讓我們看看“/ var / log /」資料夾,其中儲存了所有登入嘗試。這些文件是二進位文件,只能使用特殊程式開啟。

/var/log/wtmp 包含有關成功登入嘗試的資訊。使用最後一個實用程式來打開它。

使用 lastlog

/var/日誌/btmp - 包含所有失敗的登入嘗試。可以使用具有高級權限的 lastb 開啟。屬性 -n 定義從文件末尾顯示的行數。

/var/log/上次日誌 - 包含每個帳戶記錄的最後一次登入操作的時間。可以使用 最新日誌

❮ 上一篇文章 如何在 CentOS 中設定網路介面
下一篇文章❯ Linux 文本編輯器

向我們諮詢有關 VPS 的問題

無論白天或黑夜,我們隨時準備好解答您的問題。