小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Linux系統(tǒng)日志管理

 zenghui41 2011-11-19

轉(zhuǎn)載自:http://www.cnblogs.com/php5/archive/2010/11/10/1873206.html

Linux系統(tǒng)日志管理

日志分類:

1. 連接時間的日志

  連接時間日志一般由/var/log/wtmp/var/run/utmp這兩個文件記錄,不過這

  兩個文件無法直接cat查看,并且該文件由系統(tǒng)自動更新,可以通過如下:

  w/who/finger/id/last/lastlog/ac 進行查看

  [root@xhot ~]# 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)

  [root@xhot ~]# w

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

  USER TTY FROM LOGIN@ 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

  [root@xhot ~]# ac -p //查看每個用戶的連接時間

  u51 1.23

  u55 0.04

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

  xhot 0.06

  user1 3.93

  total 100.48

  [root@xhot ~]# ac -a //查看所有用戶的連接時間

  total 100.49

  [root@xhot ~]# 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. 進程監(jiān)控日志

  進程統(tǒng)計監(jiān)控日志在監(jiān)控用戶的操作指令是非常有效的。當服務(wù)器最近發(fā)現(xiàn)經(jīng)常

  無故關(guān)機或者無故被人刪除文件等現(xiàn)象時,可以通過使用進程統(tǒng)計日志查看:

  [root@xhot ~]# accton /var/account/pacct //開啟進程統(tǒng)計日志監(jiān)控

  [root@xhot ~]# lastcomm //查看進程統(tǒng)計日志情況

  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

  [root@xhot ~]# accton //關(guān)閉進程統(tǒng)計日志監(jiān)控

3. 系統(tǒng)和服務(wù)日志

  系統(tǒng)日志服務(wù)是由一個名為syslog的服務(wù)管理的,如一下日志文件都是由syslog日志服務(wù)驅(qū)動的:

  /var/log/lastlog :記錄最后一次用戶成功登陸的時間、登陸IP等信息

  /var/log/messages :記錄Linux操作系統(tǒng)常見的系統(tǒng)和服務(wù)錯誤信息

  /var/log/secure Linux系統(tǒng)安全日志,記錄用戶和工作組變壞情況、用戶登陸認證情況

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

  /var/log/cron :記錄crond計劃任務(wù)服務(wù)執(zhí)行情況

  …...

  [root@xhot ~]# 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日志服務(wù)介紹

. Linux系統(tǒng),大部分日志都是由syslog日志服務(wù)驅(qū)動和管理的
      syslog
服務(wù)由兩個重要的配置文件控制管理,分別是/etc/syslog.conf主配置文件和/etc/sysconfig/syslog輔助

  配置文件, /etc/init.d/syslog是啟動腳本,這里主講主配置文件/etc/syslog.conf

  /etc/syslog.conf 語句結(jié)構(gòu):

  [root@xhot ~]# 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

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

. 消息類型: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級別的任何消息都發(fā)送到/var/log/messages日志文件,但郵件系統(tǒng)、驗證系統(tǒng)

  和計劃任務(wù)的錯誤級別信息就除外,不發(fā)送(none表示禁止)

  cron.* /var/log/cron 表示所有級別的cron信息發(fā)到/var/log/cron文件

  *.emerg * 表示emerg錯誤級別(危險狀態(tài))的所有消息類型發(fā)給所有用戶


Linux日志服務(wù)器配置

  此服務(wù)器的配置非常簡單,只是修改一個文件的一個地方,然后重啟服務(wù)即可:

  [root@xhot ~]# grep -v "#" /etc/sysconfig/syslog

  SYSLOGD_OPTIONS="-m 0 -r" //只要在這里添加“-r”就行咯

  KLOGD_OPTIONS="-x"

  SYSLOG_UMASK=077

  [root@xhot ~]# service syslog restart

  關(guān)閉內(nèi)核日志記錄器: [確定]

  關(guān)閉系統(tǒng)日志記錄器: [確定]

  啟動系統(tǒng)日志記錄器: [確定]

  啟動內(nèi)核日志記錄器: [確定]

  對于發(fā)送消息到服務(wù)器的OS,只要在寫/etc/syslog.conf主配置文件的時候,作用域

  為@server-ip就行了,比如針對218.192.87.24這臺日志服務(wù)器,把一臺ubuntu系統(tǒng)的所有

  info級別的auth信息發(fā)給日志服務(wù)器,那么對于ubuntu系統(tǒng)的/etc/syslog.conf文件最后一

  行添加 auth.info @218.192.87.24 OK


日志轉(zhuǎn)儲服務(wù)

  系統(tǒng)工作到了一定時間后,日志文件的內(nèi)容隨著時間和訪問量的增加而越來越多,

  日志文件也越來越大。而且當日志文件超過系統(tǒng)控制范圍時候,還會對系統(tǒng)性能

  造成影響。轉(zhuǎn)儲方式可以設(shè)為每年轉(zhuǎn)儲、每月轉(zhuǎn)儲、每周轉(zhuǎn)儲、達到一定大小轉(zhuǎn)儲。

  在Linux系統(tǒng),經(jīng)常使用“l(fā)ogrotate”工具進行日志轉(zhuǎn)儲,結(jié)合cron計劃任務(wù),可以輕松

  實現(xiàn)日志文件的轉(zhuǎn)儲。轉(zhuǎn)儲方式的設(shè)置由“/etc/logrotate.conf”配置文件控制:

  [root@xhot ~]# cat /etc/logrotate.conf

  # see "man logrotate" for details //可以查看幫助文檔

  # rotate log files weekly

  weekly //設(shè)置每周轉(zhuǎn)儲

  # keep 4 weeks worth of backlogs

  rotate 4 //最多轉(zhuǎn)儲4

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

  create //當轉(zhuǎn)儲后文件不存儲時創(chuàng)建它

  # uncomment this if you want your log files compressed

  #compress //以壓縮方式轉(zhuǎn)儲

  # RPM packages drop log rotation information into this directory

  include /etc/logrotate.d //其他日志文件的轉(zhuǎn)儲方式,包含在該目錄下

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

  /var/log/wtmp { //設(shè)置/var/log/wtmp日志文件的轉(zhuǎn)儲參數(shù)

  monthly //每月轉(zhuǎn)儲

  create 0664 root utmp //轉(zhuǎn)儲后文件不存在時創(chuàng)建它,文件所有者為root,

  所屬組為utmp,對應(yīng)的權(quán)限為0664

  rotate 1 //轉(zhuǎn)儲一次

  }

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


舉兩個例子:
/var/log/news/目錄下的所有文件設(shè)置轉(zhuǎn)儲參數(shù),每周轉(zhuǎn)儲,轉(zhuǎn)儲2次,轉(zhuǎn)儲

時將老的日志文件放到/var/log/news/old目錄下,若日志文件不存在,則跳過。完成后重啟

news新聞組服務(wù),轉(zhuǎn)儲時不壓縮。那么可以在/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日志設(shè)置轉(zhuǎn)儲參數(shù)。轉(zhuǎn)儲

  5次,轉(zhuǎn)儲時發(fā)送郵件給root@localhost用戶,當日志文件達到100KB時才轉(zhuǎn)儲,轉(zhuǎn)儲后重啟

  httpd服務(wù),那么可以直接在/etc/logrotate.conf文件的最后添加如下:

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

  rotate 5

  mail root@localhost

  size=100k

  sharedscripts

  /sbin/killall -HUP httpd

  endscript

  }

自定義日志轉(zhuǎn)儲(/etc/logrotate.d/*

  通過下面一個例子將所有類型錯誤級別為info的日志轉(zhuǎn)儲到/var/log/test.log日志文件中,并設(shè)置

  /var/log/test.log達到50KB后進行轉(zhuǎn)儲,轉(zhuǎn)儲10次,轉(zhuǎn)儲時壓縮,轉(zhuǎn)儲后重啟syslog服務(wù)

  1、修改/etc/syslog.conf文件使得如下:

  [root@xhot ~]# tail -1 /etc/syslog.conf //查看該文件的最后一行

  *.info /var/log/test.log

  2、重啟syslog服務(wù):

  [root@xhot ~]# /sbin/service syslog restart

  關(guān)閉內(nèi)核日志記錄器: [確定]

  關(guān)閉系統(tǒng)日志記錄器: [確定]

  啟動系統(tǒng)日志記錄器: [確定]

  啟動內(nèi)核日志記錄器: [確定]

  3、創(chuàng)建/etc/logrotate.d/test.log日志轉(zhuǎn)儲參數(shù)配置文件,添加如下:

  [root@xhot ~]# vim /etc/logrotate.d/test.log

  [root@xhot ~]# 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確保如下:

  [root@xhot ~]# 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、查看轉(zhuǎn)儲后的文件

  [root@xhot log]# pwd

  /var/log

  [root@xhot log]# ls test.log*

  …… //結(jié)果等要轉(zhuǎn)儲的時候會發(fā)現(xiàn)壓縮文件和原本的test.log文件

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多