1. 程式人生 > >如何檢視linux系統下的各種日誌檔案 linux 系統日誌的分析大全

如何檢視linux系統下的各種日誌檔案 linux 系統日誌的分析大全

日誌分類:

1. 連線時間的日誌 

連線時間日誌一般由/var/log/wtmp和/var/run/utmp這兩個檔案記錄,不過這

  兩個檔案無法直接cat檢視,並且該檔案由系統自動更新,可以通過如下:

  w/who/finger/id/last/lastlog/ac 進行檢視

  [[email protected] ~]# who

  root tty1 2010-10-06 22:56

  root pts/0 2010-10-06 22:26 (218.192.87.4)

  root pts/1 2010-10-06 23:41 (218.192.87.4)

  root pts/3 2010-10-06 23:18 (218.192.87.4)

  [[email protected] ~]# w

  01:01:02 up 2:36, 4 users, load average: 0.15, 0.03, 0.01

  USER TTY FROM [email protected] IDLE JCPU PCPU WHAT

  root tty1 - 22:56 1:20m 0.16s 0.16s -bash

  root pts/0 218.192.87.4 22:26 2:05m 0.18s 0.18s -bash

  root pts/1 218.192.87.4 23:41 0.00s 0.41s 0.00s w

  root pts/3 218.192.87.4 23:18 1:38m 0.03s 0.03s -bash

  [[email protected] ~]# ac -p //檢視每個使用者的連線時間

  u51 1.23

  u55 0.04

  root 95.21 //可以看到root連線時間最長吧

  xhot 0.06

  user1 3.93

  total 100.48

  [[email protected] ~]# ac -a //檢視所有使用者的連線時間

  total 100.49

  [[email protected] ~]# ac -d //檢視使用者每天的連線時間

  Sep 24 total 0.14

  Sep 25 total 14.60

  Sep 26 total 13.71

  Sep 27 total 21.47

  Sep 28 total 11.74

  Sep 29 total 6.60

  Sep 30 total 8.81

  Oct 1 total 9.04

  Oct 2 total 0.47 //可以看到我國慶3、4、5號出去玩了

  Oct 6 total 8.62

  Today total 5.29

  其他幾個命令不做具體介紹了

2. 程序監控日誌

  程序統計監控日誌在監控使用者的操作指令是非常有效的。當伺服器最近發現經常

  無故關機或者無故被人刪除檔案等現象時,可以通過使用程序統計日誌檢視:

  [[email protected] ~]# accton /var/account/pacct //開啟程序統計日誌監控

  [[email protected] ~]# lastcomm //檢視程序統計日誌情況

  accton S root pts/1 0.00 secs Thu Oct 7 01:20

  accton root pts/1 0.00 secs Thu Oct 7 01:20

  ac root pts/1 0.00 secs Thu Oct 7 01:14

  ac root pts/1 0.00 secs Thu Oct 7 01:14

  free root pts/1 0.00 secs Thu Oct 7 01:10

  lastcomm root pts/1 0.00 secs Thu Oct 7 01:09

  bash F root pts/1 0.00 secs Thu Oct 7 01:09

  lastcomm root pts/1 0.00 secs Thu Oct 7 01:09

  ifconfig root pts/1 0.00 secs Thu Oct 7 01:09

  lastcomm root pts/1 0.00 secs Thu Oct 7 01:09

  lastcomm root pts/1 0.00 secs Thu Oct 7 01:09

  lastcomm root pts/1 0.00 secs Thu Oct 7 01:09

  accton S root pts/1 0.00 secs Thu Oct 7 01:09

  [[email protected] ~]# accton //關閉程序統計日誌監控

3. 系統和服務日誌

  系統日誌服務是由一個名為syslog的服務管理的,如一下日誌檔案都是由syslog日誌服務驅動的:

  /var/log/lastlog :記錄最後一次使用者成功登陸的時間、登陸IP等資訊

  /var/log/messages :記錄Linux作業系統常見的系統和服務錯誤資訊

  /var/log/secure :Linux系統安全日誌,記錄使用者和工作組變壞情況、使用者登陸認證情況

  /var/log/btmp :記錄Linux登陸失敗的使用者、時間以及遠端IP地址

  /var/log/cron :記錄crond計劃任務服務執行情況

  …...

  [[email protected] ~]# cat /var/log/lastlog

  Lpts/0218.192.87.4

  Lpts/1218.192.87.4

  Lpts/1218.192.87.4

  Lpts/0218.192.87.46

  Lpts/0218.192.87.4

  …...


Linux日誌服務介紹

1. 在Linux系統,大部分日誌都是由syslog日誌服務驅動和管理的
      syslog服務由兩個重要的配置檔案控制管理,分別是/etc/syslog.conf主配置檔案和/etc/sysconfig/syslog輔助

  配置檔案, /etc/init.d/syslog是啟動指令碼,這裡主講主配置檔案/etc/syslog.conf:

  /etc/syslog.conf 語句結構:

  [[email protected] ~]# grep -v "#" /etc/syslog.conf //列出非#打頭的每一行

  *.info;mail.none;authpriv.none;cron.none /var/log/messages

  authpriv.* /var/log/secure

  mail.* -/var/log/maillog

  cron.* /var/log/cron

  *.emerg *

  uucp,news.crit /var/log/spooler

  local7.* /var/log/boot.log

  選擇域(訊息型別.錯誤級別) 動作域

2. 訊息型別:auth,authpriv,security;cron,daemon,kern,lpr,mail, mark,news,syslog,user,uucp,local0~local7.

  錯誤級別:(8級)debug,info,notice,warning|warn;err|error;crit,alert,emerg|panic

  動作域:file,user,console,@remote_ip

  舉如上的/etc/syslog.conf檔案三個例子:

  *.info;mail.none;authpriv.none;cron.none /var/log/messages

  表示info級別的任何訊息都發送到/var/log/messages日誌檔案,但郵件系統、驗證系統

  和計劃任務的錯誤級別資訊就除外,不傳送(none表示禁止)

  cron.* /var/log/cron 表示所有級別的cron資訊發到/var/log/cron檔案

  *.emerg * 表示emerg錯誤級別(危險狀態)的所有訊息型別發給所有使用者


Linux日誌伺服器配置

  此伺服器的配置非常簡單,只是修改一個檔案的一個地方,然後重啟服務即可:

  [[email protected] ~]# grep -v "#" /etc/sysconfig/syslog

  SYSLOGD_OPTIONS="-m 0 -r" //只要在這裡新增“-r”就行咯

  KLOGD_OPTIONS="-x"

  SYSLOG_UMASK=077

  [[email protected] ~]# service syslog restart

  關閉核心日誌記錄器: [確定]

  關閉系統日誌記錄器: [確定]

  啟動系統日誌記錄器: [確定]

  啟動核心日誌記錄器: [確定]

  對於傳送訊息到伺服器的OS,只要在寫/etc/syslog.conf主配置檔案的時候,作用域

  為@server-ip就行了,比如針對218.192.87.24這臺日志伺服器,把一臺ubuntu系統的所有

  info級別的auth資訊發給日誌伺服器,那麼對於ubuntu系統的/etc/syslog.conf檔案最後一

  行新增 auth.info @218.192.87.24 就OK了


日誌轉儲服務

  系統工作到了一定時間後,日誌檔案的內容隨著時間和訪問量的增加而越來越多,

  日誌檔案也越來越大。而且當日志文件超過系統控制範圍時候,還會對系統性能

  造成影響。轉儲方式可以設為每年轉儲、每月轉儲、每週轉儲、達到一定大小轉儲。

  在Linux系統,經常使用“logrotate”工具進行日誌轉儲,結合cron計劃任務,可以輕鬆

  實現日誌檔案的轉儲。轉儲方式的設定由“/etc/logrotate.conf”配置檔案控制:

  [[email protected]ot ~]# cat /etc/logrotate.conf

  # see "man logrotate" for details //可以檢視幫助文件

  # rotate log files weekly

  weekly //設定每週轉儲

  # keep 4 weeks worth of backlogs

  rotate 4 //最多轉儲4次

  # create new (empty) log files after rotating old ones

  create //當轉儲後文件不儲存時建立它

  # uncomment this if you want your log files compressed

  #compress //以壓縮方式轉儲

  # RPM packages drop log rotation information into this directory

  include /etc/logrotate.d //其他日誌檔案的轉儲方式,包含在該目錄下

  # no packages own wtmp -- we'll rotate them here

  /var/log/wtmp { //設定/var/log/wtmp日誌檔案的轉儲引數

  monthly //每月轉儲

  create 0664 root utmp //轉儲後文件不存在時建立它,檔案所有者為root,

  所屬組為utmp,對應的許可權為0664

  rotate 1 //轉儲一次

  }

  # system-specific logs may be also be configured here.


舉兩個例子: 
為/var/log/news/目錄下的所有檔案設定轉儲引數,每週轉儲,轉儲2次,轉儲

時將老的日誌檔案放到/var/log/news/old目錄下,若日誌檔案不存在,則跳過。完成後重啟

news新聞組服務,轉儲時不壓縮。那麼可以在/etc/logrotate.conf檔案的最後新增如下:

  /var/log/news/*{

  monthly

  rotate 2

  olddir /var/log/news/old

  missingok

  postrotate

  kill -HUP `cat /var/run/inn.pid`

  endscript

  nocompress

  }


另一個例子:為/var/log/httpd/access.log和/var/log/httpd/error.log日誌設定轉儲引數。轉儲

  5次,轉儲時傳送郵件給[email protected]使用者,當日志文件達到100KB時才轉儲,轉儲後重啟

  httpd服務,那麼可以直接在/etc/logrotate.conf檔案的最後新增如下:

  /var/log/httpd/access.log /var/log/http/error.log{

  rotate 5

  size=100k

  sharedscripts

  /sbin/killall -HUP httpd

  endscript

  }

自定義日誌轉儲(/etc/logrotate.d/*)

  通過下面一個例子將所有型別錯誤級別為info的日誌轉儲到/var/log/test.log日誌檔案中,並設定

  /var/log/test.log達到50KB後進行轉儲,轉儲10次,轉儲時壓縮,轉儲後重啟syslog服務

  1、修改/etc/syslog.conf檔案使得如下:

  [[email protected] ~]# tail -1 /etc/syslog.conf //檢視該檔案的最後一行

  *.info /var/log/test.log

  2、重啟syslog服務: 

[[email protected] ~]# /sbin/service syslog restart

  關閉核心日誌記錄器: [確定]

  關閉系統日誌記錄器: [確定]

  啟動系統日誌記錄器: [確定]

  啟動核心日誌記錄器: [確定]

  3、建立/etc/logrotate.d/test.log日誌轉儲引數配置檔案,新增如下: 

[[email protected] ~]# vim /etc/logrotate.d/test.log

  [[email protected] ~]# cat /etc/logrotate.d/test.log

  /var/log/test.log{

  rotate 10

  size = 50k

  compress

  postrotate

  killall -HUP syslog

  endscript

  }

  4、檢視檔案/etc/cron.daily/logrotate確保如下:

  [[email protected] ~]# cat /etc/cron.daily/logrotate

  #!/bin/sh

  /usr/sbin/logrotate /etc/logrotate.conf

  EXITVALUE=$?

  if [ $EXITVALUE != 0 ]; then

  /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"

  fi

  exit 0

  5、檢視轉儲後的檔案 

[[email protected] log]# pwd

  /var/log

  [[email protected] log]# ls test.log*

  …… //結果等要轉儲的時候會發現壓縮檔案和原本的test.log檔案

syslog是一個被UNIXLinux廣泛使用的日誌系統,Linux系統中大部分的日誌檔案都是通過它進行管理的。本節將對syslog的功能及配置、日誌檔案的檢視和管理,以及syslog中預設配置的日誌檔案進行介紹。

12.2.1 syslog簡介

syslog是一個歷史悠久的日誌系統,幾乎所有的UNIX和Linux作業系統都是採用syslog進行系統日誌的管理和配置。Linux系統核心和許多程式會產生各種錯誤資訊、警告資訊和其他的提示資訊。這些資訊對管理員瞭解系統的執行狀態是非常有用的,所以應該把它們寫到日誌檔案中去。而執行這個過程的程式就是syslog。syslog可以根據資訊的來源以及資訊的重要程度將資訊儲存到不同的日誌檔案中,例如,為了方便查閱,可以把核心資訊與其他資訊分開,單獨儲存到一個獨立的日誌檔案中。在預設的syslog配置下,日誌檔案通常都儲存在“/var/log”目錄下。syslog的守護程序為syslogd,系統啟動時,預設會自動執行syslogd守護程序。

如果要手工啟動,可以使用如下命令:

/sbin/syslogd

在修改syslog配置後,需要重新啟動syslogd守護程序才能使新的配置生效。其命令如下所示。

# killall -HUP syslogd

Red Hat Enterprise Linux 5.2安裝後預設就已經在syslog中定義了一些日誌檔案,這些日誌的位置以及它們的說明如表12.2所示。

表12.2 預設配置syslog日誌

日 志 文 件

說    明

/var/log/message

系統啟動後的資訊和錯誤日誌,是Red Hat Linux中最常用的日誌之一

/var/log/secure

與安全相關的日誌資訊

/var/log/maillog

與郵件相關的日誌資訊

/var/log/cron

與定時任務相關的日誌資訊

/var/log/spooler

與UUCP和news裝置相關的日誌資訊

/var/log/boot.log

守護程序啟動和停止相關的日誌訊息

相關推薦

如何檢視linux系統各種日誌檔案 linux 系統日誌分析大全

日誌分類: 1. 連線時間的日誌  連線時間日誌一般由/var/log/wtmp和/var/run/utmp這兩個檔案記錄,不過這   兩個檔案無法直接cat檢視,並且該檔案由系統自動更新,可以通過如下:   w/who/finger/id/last/lastlog

Linux 系統 /etc/group 檔案結構

linu 結構 passwd 一行 www 賬號 機會 sys 冒號 這個檔案就是在記錄讓 GID 與組名的對應了 /etc/group 內容有點像這樣: [[email protected] ~]# head -n 4 /etc/group root:x:0:r

Linux系統python學習筆記——Linux檔案和目錄常用命令詳解

一、檢視目錄內容 ls命令說明: 英文單詞list的簡寫,功能為列出目錄的內容,是使用者最常用的命令字義    Linux下檔案和目錄的特點: Linux檔案或目錄名稱最長可以有256個字元 以 . 開頭的檔案為隱藏檔案,需要用-a引數才能顯示(all

處理Linux系統已刪除檔案繼續佔用空間問題

在Linux中,當我們使用rm在linux上刪除了大檔案,但是如果有程序打開了這個大檔案,卻沒有關閉這個檔案的控制代碼,那麼linux核心還是不會釋放這個檔案的磁碟空間,最後造成磁碟空間佔用100%,整個系統無法正常執行。這種情況下,通過df和du命令查詢的磁碟空間,兩者是無法匹配的,可能df顯示磁

EasyNVR在Linux系統將錄影檔案與EasyNVR執行分離

問題背景 在工控機上執行EasyNVR,WEB訪問出現裝置線上,但是視訊沒有快照和無法正常直播 問題原因分析 通過上工控機發現是由於磁碟空間被佔滿導致的軟體執行收到影響。 解決問題分析 由於錄影檔案沾滿磁碟導致的EasyNVR軟體執行收到影響,我們可以將軟體

Linux系統掛載Windows系統的共享檔案

宣告:本文是小編借鑑大神們的經驗,僅供學習使用。  第一步:在Windows系統上選擇要共享的資料夾,右擊“屬性”-“共享”-“高階共享”-勾選“共享此檔案”-設定共享名-“許可權”-“新增”-“高階”-“立即查詢”-“選擇本地的使用者名稱”然後一路確定回去。這樣就實現了檔案的共享 

Linux系統一切皆檔案,socket程式設計淺析

“一切皆Socket!” 話雖些許誇張,但是事實也是,現在的網路程式設計幾乎都是用的socket。 ——有感於實際程式設計和開源專案研究。 我們深諳資訊交流的價值,那網路中程序之間如何通訊,如我們每天開啟瀏覽器瀏覽網頁時,瀏

在windows系統使用notepad++編輯linux檔案

     編輯linux系統上檔案,我想大家都很清楚是用vim+檔名的命令,進入vim編輯器裡編輯檔案的。但是在vim裡編輯檔案特別費勁。於是小編在網上搜了一下在windows系統下使用notepad

linux 系統home中檔案出現在桌面的問題解決

為了使路徑中不出現中文,昨天把home中的"桌面"資料夾改成了"desktop",結果今天開機後home中的檔案都出現在了桌面上,本來以為桌面上出現的只是快捷圖示,就刪掉了,但是home中的檔案也消失了,我才意識到了這是路徑出現了問題。解決方法:開啟終端,輸入:gksudo

Linux系統的bootloader、Linux核心、root檔案系統介紹

簡介:三部分:bootloader、linux kernel(linux核心)、rootfile(根檔案系統)。那麼這3部分是怎麼相互協作來構成這個系統的呢?各自有什麼用呢?三者有什麼聯絡?怎麼聯絡?系統的執行流程又是怎麼樣的呢?搞清楚這個問題你對整個系統的執行就很清楚了,

Linux系統設定交換檔案(swapfie)一提升效能。

如果當初安裝Linux,沒有分配交換分割槽,或者十分不願意分配一個小分割槽專門作為交換分割槽,但任務一多,記憶體又不夠(特別是還在linux下開虛擬機器),又不願意花錢升級記憶體),這時最好的解決方案就是建立一個磁碟檔案來作為交換空間(若磁碟是SSD,那效果也是非常明顯的)

Linux系統刪除亂碼檔案或者目錄,rm刪除不了

Linux系統下解壓zip或rar檔案後可能會產生亂碼檔案或者目錄,使用rm -rf fileName 無法刪除,rm -rf 刪除上一級目錄可以,但是需要先備份,比較費時間, 其實可以根據索引節點(i節點) 進行刪除。 [[email protected] Ul

Linux修改fstab檔案造成系統無法啟動解決

        新添加了一個硬碟sdb1,將其掛載到/mnt/cdrom下,為了在啟動伺服器時能自動掛載,修改了/etc/fstab檔案,導致啟動時報無法掛載錯誤,進入repair filesyste

服務器Linux系統的ext文件系統修復方案

數據恢復一、故障描述 服務器是dell 730系列服務器,存儲陣列是MD3200系列存儲5T的Lun,操作系統是Linux centos 7,文件系統類型是EXT4,因意外斷電,導致系統不能正常啟動,修復之後系統可以正常啟動,但是掛載的5T分區不能正常訪問了,對這個5T的分區進行fsck修復,修復完成之

記錄Window系統myeclipes連接linuxmysql所出現的一個bug

給賬號 onf flush 問題 info drive strong user BE 記錄myeclipes遠程連接mysql所出現的一個bug 今天在玩框架hibernate時,出現一個非常費解的bug,話不多說,先看bug Access denied for

linux系統安裝JDK並配置系統環境

        這是我個人的第一篇技術文件,以下均已試驗成功,希望可以給大家帶來幫助!以下的配置在suse Linux系統和centos 7以上版本都已驗證成功,廢話不多說了,直接給出操作步驟! 工欲善其事,必先利其器。首先下載要配置

Linux系統python學習筆記——Linux系統其他命令

Linux系統其他命令 一、查詢檔案 find    通常用來在特定目錄下搜尋符合條件的檔案 find [路徑] -name "*.py"    查詢指定路徑下副檔名是.py的檔案,包括子目錄(*為萬用字元) 如果省略路徑,表示在當前資料夾下查

Linux系統python學習筆記——Linux系統資訊相關命令

系統資訊相關命令 目的:主要是為了方便通過遠端終端維護伺服器時,檢視伺服器上當前的  系統日期  和   時間/磁碟空間佔用情況/   程式執行情況。基本都是查詢命令,通過這些命令可以對系統資源的使用情況有個瞭解。 1、時間和日期 date&nbs

Linux系統python學習筆記——Linux系統使用者許可權命令

1、基本概念 使用者是Linux系統工作中重要的一環,使用者管理包括使用者與組管理。在Linux系統中,不論是由本機或是遠端登入系統,每個系統都必須擁有一個賬號,並且對於不同的系統資源擁有不同的使用許可權。在Linux中,可以指定每一個使用者針對不同的檔案或者目錄的不同許可權。 對檔案/目錄

Linux系統python學習筆記——Linux系統遠端管理命令

Linux系統遠端管理常用命令 一、關機/重啟shutdown 格式:shutdown 選項 時間 選項:-r :重新啟動 時間:now(立刻關閉)   22:45  +10(十分鐘之後執行 ) 不指定選項和引數,預設一分鐘之後關閉電腦 遠端維護伺服器時,