各種日誌目錄及介紹

linux系統日誌目錄(ubuntu爲例):/var/log

/var/log/alternatives.log-更新替代信息都記錄在這個文件中

/var/log/apport.log -應用程序崩潰記錄

/var/log/apt/   -用apt-get安裝卸載軟件的信息

/var/log/auth.log  -登錄認證log

/var/log/boot.log  -包含系統啓動時的日誌。
/var/log/btmp    -記錄所有失敗啓動信息

/var/log/Consolekit  - 記錄控制檯信息

/var/log/cpus     - 涉及所有打印信息的日誌

/var/log/dist-upgrade  - dist-upgrade這種更新方式的信息

/var/log/dmesg    -包含內核緩衝信息(kernel ringbuffer)。在系統啓動時,顯示屏幕上的與硬件有關的信息

/var/log/dpkg.log   - 包括安裝或dpkg命令清除軟件包的日誌。

/var/log/faillog    - 包含用戶登錄失敗信息。此外,錯誤登錄命令也會記錄在本文件中。

/var/log/fontconfig.log -與字體配置有關的log。

/var/log/fsck     - 文件系統日誌

/var/log/faillog   -包含用戶登錄失敗信息。此外,錯誤登錄命令也會記錄在本文件中。

/var/log/hp/

/var/log/install/

/var/log/jokey.log

/var/log/kern.log –包含內核產生的日誌,有助於在定製內核時解決問題。

/var/log/lastlog —記錄所有用戶的最近信息。這不是一個ASCII文件,因此需要用lastlog命令查看內容。

/var/log/faillog –包含用戶登錄失敗信息。此外,錯誤登錄命令也會記錄在本文件中。

/var/log/lightdm/

/var/log/mail/ – 這個子目錄包含郵件服務器的額外日誌。

/var/log/mail.err    -類似於上面的

/var/log/news/

/var/log/pm-powersave.log

/var/log/samba/ –包含由samba存儲的信息。

/var/log/syss.log

/var/log/speech-dispacher/

/var/log/udev

/var/log/ufw.log

/var/log/upstart/

/var/log/uattended-upgrades/

/var/log/wtmp —包含登錄信息。使用wtmp可以找出誰正在登陸進入系統,誰使用命令顯示這個文件或信息等。

/var/log/xorg.*.log— 來自X的日誌信息。

windows系統日誌路徑:C:\Windows\System32\winevt\Logs或者快捷搜索事件查看器在這裏插入圖片描述

Windows事件日誌中共有五種事件類型,所有的事件必須擁有五種事件類型中的一種,且只可以有一種。五種事件類型分爲:

  • 信息(Information)
    信息事件指應用程序、驅動程序或服務的成功操作的事件。
  • 警告(Warning)
    警告事件指不是直接的、主要的,但是會導致將來問題發生的問題。例如,當磁盤空間不足或未找到打印機時,都會記錄一個“警告”事件。
  • 錯誤(Error)
    錯誤事件指用戶應該知道的重要的問題。錯誤事件通常指功能和數據的丟失。例如,如果一個服務不能作爲系統引導被加載,那麼它會產生一個錯誤事件。
  • 成功審覈(Success audit)
    成功的審覈安全訪問嘗試,主要是指安全性日誌,這裏記錄着用戶登錄/註銷、對象訪問、特權使用、賬戶管理、策略更改、詳細跟蹤、目錄服務訪問、賬戶登錄等事件,例如所有的成功登錄系統都會被記錄爲“ 成功審覈”事件。
  • 失敗審覈(Failure audit)
    失敗的審覈安全登錄嘗試,例如用戶試圖訪問網絡驅動器失敗,則該嘗試會被作爲失敗審覈事件記錄下來。
    事件日誌文件存儲位置(Vista/Win7/Win8/Win10/Server2008/Server 2012及之後的版本)
    在這裏插入圖片描述

Apache日誌路徑:集成環境下在www\server\Apache\logs\access.log 正常情況下在/var/log/apache2/access.log

Apache的配置文件(httpd.conf)中是存在着 兩個可調配 的日誌文件的,這兩個日誌文件分別是 訪問日誌access_log(在Windows上是access.log)和錯誤日誌error_log(在Windows上是error.log)。如果使用 SSL 服務的話,還可能存在 ssl_access_log和ssl_error_log 和 ssl_request_log 三種日誌文件

  1. 遠程主機IP:表明訪問網站的是誰
  2. 空白(E-mail):爲了避免用戶的郵箱被垃圾郵件騷擾,第二項就用“-”取代了
  3. 空白(登錄名):用於記錄瀏覽者進行身份驗證時提供的名字。
  4. 請求時間:用方括號包圍,而且採用“公用日誌格式”或者“標準英文格式”。 時間信息最後的“+0800”表示服務器所處時區位於UTC之後的8小時。
  5. 方法+資源+協議:服務器收到的是一個什麼樣的請求。該項信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 資源 協議”。 METHOD: GET、POST、HEAD、…… RESOURCE:
    /、index.html、/default/index.php、……(請求的文件) PROTOCOL: HTTP+版本號
  6. 狀態代碼:請求是否成功,或者遇到了什麼樣的錯誤。大多數時候,這項值是200,它表示服務器已經成功地響應瀏覽器的請求,一切正常。
  7. 發送字節數:表示發送給客戶端的總字節數。它告訴我們傳輸是否被打斷(該數值是否和文件的大小相同)。把日誌記錄中的這些值加起來就可以得知服務器在一天、一週或者一月內發送了多少數據。

mysql日誌路徑:/var/log/mysqld.log


MySQL有四種類型的日誌:Error Log、General Query Log、Binary Log 和 Slow Query Log。

(1)第一種錯誤日誌,記錄MySQL運行過程ERROR,WARNING,NOTE等信息,系統出錯或者某條記錄出問題可以查看ERROR日誌。

(2)第二種日常運行日誌,記錄MySQL運行中的每條請求數據。

(3)第三種二進制日誌,包含了一些事件,這些事件描述了數據庫的改動,如建表、數據改動等,也包括一些潛在改動,主要用於備份恢復、回滾等操作。

(4)第四種慢查詢日誌,用於MySQL性能調優。

--------------------------------------------------------------------------------
Error Log
MySQL錯誤日誌默認以hostname.err存放在MySQL日誌目錄,如果不知道MySQL當前的錯誤日誌目錄可以使用查詢語句:
mysql> show variables like 'log_error';
+---------------+--------------------------------------+
| Variable_name | Value                                |
+---------------+--------------------------------------+
| log_error     | /usr/local/var/mysql/mysql-error.log |
+---------------+--------------------------------------+
修改錯誤日誌地址可以在/etc/my.cnf中添加--log-error[=file_name]選項來開啓mysql錯誤日誌。
錯誤日誌記錄了MySQL Server每次啓動和關閉的詳細信息以及運行過程中所有較爲嚴重的警告和錯誤信息。
知道了MySQL錯誤日誌地址,我們就可以查看MySQL錯誤日誌:
2015-09-12 16:03:20 2624 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 35
2015-09-12 16:03:20 2624 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
2015-09-13 00:03:21 2183 [Note] InnoDB: Shutdown completed; log sequence number 426783897
InnoDB: Unable to lock ./ibdata1, error: 35 可以得出資源被搶佔,有可能是開了多個MySQL線程。

--------------------------------------------------------------------------------
General Query Log
日常請求的SQL:
添加方式一樣在 /etc/my.cnf 中添加 general-log-file[=file_name]。
在my.cnf中的mysqld下面添加:
general-log=on
general-log-file=/tmp/mysqlog

--------------------------------------------------------------------------------
Binary Log
啓用Binlog
修改 /etc/my.cnf:
binlog_format = STATEMENT
binlog_cache_size = 2M
max_binlog_cache_size = 4M
max_binlog_size = 512M
log-bin = master-bin
log-bin-index = master-bin.index
log-bin-index 指向 master-bin 這個文件,記錄有哪些分塊的Binlog文件名。
log-bin 記錄Binlog文件名前綴,後綴會用數字遞增。
Binlog格式
Binlog有3種格式,STATMENT,ROW,MIXED。https://dev.mysql.com/doc/refman/5.1/en/binary-log-mixed.html
混合格式(mixed)會在適當時候切換row和statment格式,statment就是直接的SQL語句格式。
分析Binlog
通過MySQL自帶的mysqlbinlog 命令,可以直接查看到Binlog轉碼數據:
mysqlbinlog /usr/local/var/mysql/master-bin.000117
得到:
# at 335
#150913  0:05:12 server id 1  end_log_pos 366 CRC32 0xa31b50db     Xid = 151
COMMIT/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
第一行包含日誌文件偏移字節值(335)。
第二行包含:
  ● 事件的日期事件,MySQL會使用他們來產生SET TIMESTAMP
  ● 服務器的服務器id
  ● end_log_pos 下一個事件的偏移字節
  ● 事件類型,這裏是Xid,常見的還有其他,例如:Intvar,Query,Stop,Format_desc
  ● 原服務器上執行語句的線程id,用於審計和CONNECTION_ID()
  ● exec_time對於master端的Binlog來說是執行這個event所花費的時間
  ● 原服務器產生的錯誤代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章