在下面的教程中,我們將分析Linux中的特定日志文件和Windows Event Viewer中的日志。另外一章將通過Systemd進行日志分析。
Linux日志文件
不幸的是,分發之間的差異很大,可以從特定的日志文件中提取信息。在下文中,我們將分析Debian 8和centos 7.2的日志文件結構。查找日志文件的第一個位置應始終為/ var / log /。根據它們的配置,apache,nginx或類似的應用程序也會將日志文件寫入此文件夾。系統日志規范和位置可以在文件/etc/rsyslog.conf中找到。
Debian 8:
/var/log/auth.log
可以在此日志文件中找到對系統進行的成功和失敗身份驗證的日志。當用戶通過sudo調用命令時,也會記錄該日志。
/ var / log / messages
該文件包含常規系統信息的日志條目,此外,您還將找到系統新貴日志。
/ var / log / dmesg或dmesg
可以使用dmesg讀取內核環形緩沖區。您將根據系統的硬件和軟件找到有關系統啟動,運行時內核模塊消息以及許多其他消息的信息。默認情況下,dmesg顯示完整的環形緩沖區。但是,可以通過添加特定參數來自定義輸出。完整的文檔可在手冊頁(man dmesg)中找到。
/ var / log / syslog
通常,這是最重要的日志文件之一。通過實現syslog接口,每個Linux進程均可自由登錄到syslog。它還記錄系統新貴和執行的cron-jobs。
centos 7.2:
由于日志文件的結構與Debian 8的非常相似,因此我們將僅提及它們之間的區別。
/ var / log / secure
該日志文件等效于Debian系統中的/var/log/auth.log。各種身份驗證都記錄在這里。
/ var / log / messages
在centos中,沒有將/ var / log / messages和/ var / log / syslog分開,可以在此處找到實現syslog接口的進程的所有系統日志。
/ var / log / cron
Cron特定的日志文件不像Debian中那樣是syslog的一部分。它們可以在上述文件中找到。
通過Systemd進行日志分析
Systemd基本上是當今幾乎所有主要Linux發行版的標準Init系統。自從至少2015年4月,當Debian和Ubuntu切換到Systemd以來,每個Linux管理員或用戶都已經與Systemd聯系。由于Systemd是一個復雜的系統,因此我們只會研究提供的日志分析功能。Systemd中的每個進程都被標識為一個單元。可以通過以下命令顯示所有活動單位:
systemctl列表單位
附加參數–all時,此命令還將顯示所有非活動單位。
由Systemd創建的日志在所謂的日志中進行管理。可以通過journalctl二進制文件訪問這些日志。如果沒有任何參數調用journalctl,它將打印出整個Journal。但是,也可以僅輸出特定單元的日志條目。在以下示例中,我們將分析apache Web服務器的日志文件。
journalctl -u httpd
也可以使用參數–since和–until限制輸出。
journalctl -u httpd –自“ 2016-11-01 20:00:00” –直到“ 2016-11-03 20:00:00”
上面的命令將在2016-11-01 20:00:00和2016-11-03 20:00:00之間輸出apache日志條目。也可以使用“今天”或“昨天”之類的關鍵字。
您還可以同時輸出多個單位的日志文件。在以下示例中,我們將輸出自昨天以來記錄的所有apache和nginx日志條目。
journalctl -u httpd -u nginx –從昨天開始
如果使用參數-f,則會實時顯示所有所需的日志條目。
上面只是對journalctl的可能性的簡要介紹,在手冊頁(man journalctl)上有其他有用的功能。
通過Windows Event Viewer進行日志分析
在左側導航欄中的上圖中,您可以看到“ Windows Logs”條目。以下條目是最??重要的。
應用
此項將顯示本地安裝的應用程序的事件。
安全
在這里,您可以看到成功和失敗的登錄嘗試。
系統
通過條目“自定義視圖”->“服務器角色”->“遠程桌面服務”,您可以看到與RDP相關的事件和錯誤。
可以通過“應用程序和服務日志”->“硬件事件”來識別潛在的硬件問題。
對于錯誤分析有用的概述也可以通過“概述和摘要”->“管理事件摘要”看到,它提供了系統狀態的摘要概述。