<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

    Linux下的日志維護(hù)技巧

    1、系統(tǒng)日志

      /var/log/messages不僅是服務(wù)器的系統(tǒng)日志,很多時(shí)候它也包括許多服務(wù)的日志,所以它被稱為“雜貨鋪”,建議重點(diǎn)關(guān)注。大家一般都喜歡用以下命令來看最后10條日志:tail -n10/var/log/messages。

      其實(shí)還可以將一段日志保存成文件(Xmanager3.0企業(yè)版的shell也有日志錄像截取功能),或者直接用vim來處理。我以前配置主從復(fù)制的bind服務(wù)器時(shí),有時(shí)會因?yàn)闄?quán)限的原因報(bào)錯(cuò),這時(shí)就可以在一臺報(bào)錯(cuò)的服務(wù)器上用命令tail -f/var/log/messages實(shí)時(shí)查看服務(wù)器的日志變化情況,從而查找錯(cuò)誤的蛛絲馬跡。事實(shí)證明,效果很好,而且將此命令用于lvs+keepalived的排錯(cuò)效果也不錯(cuò)。其他服務(wù)器配置排錯(cuò)以此類推,這個(gè)做法也推薦讀者掌握。

      2、系統(tǒng)安全日志

      /var/log/secure記錄登錄系統(tǒng)存取數(shù)據(jù)的文件,例如POP3、SSH、Telnet、FTP等都會被記錄,我們可以利用此文件找出不安全的登錄IP。目前比較流行的SSH防暴力破解工具DenyHosts主要也是讀此文件。另外,我寫了一個(gè)原理類似的shell安全腳本,用于線上服務(wù)器,在后面的章節(jié)跟大家分享。

      3、記錄登錄者的數(shù)據(jù)

      /var/log/wtmp記錄登錄者的信息數(shù)據(jù),由于此文件已經(jīng)被編碼過(為二進(jìn)制文件),想用cat等命令直接查看是不行的,必須使用last指令來取出文件的內(nèi)容,如下所示:

    1. [root@localhost ~]# last  
    2. root pts/2220.249.72.138Wed Mar 30 08:33still logged in  
    3. root pts/2220.249.72.138Tue Mar 29 09:02 - 15:42(06:39)  
    4. root pts/2220.249.72.138Tue Mar 29 07:31 - 09:01(01:30)  
    5. root pts/2219.139.223.49Tue Mar 29 00:14 - 00:29(00:15)  
    6. root pts/2183.94.4.206Mon Mar 28 20:46 - 21:21(00:34)  
    7. root pts/2113.57.224.3Mon Mar 28 11:30 - 12:17(00:46)  
    8. root pts/4219.139.223.142Sun Mar 27 15:58 - 18:10(02:11)  
    9. root pts/3113.57.224.3Sun Mar 27 14:28 - 18:25(03:57)  
    10. root pts/3113.57.224.3Sun Mar 27 09:20 - 11:56(02:35)  
    11. root pts/3219.140.210.152Sun Mar 27 01:16 - 01:29(00:12)  
    12. root pts/2220.249.72.138Sat Mar 26 08:42 - 18:38(1+09:55)  
    13. root pts/2220.249.72.138Thu Mar 24 11:19 - 14:44(1+03:25)  
    14. root pts/2220.249.72.138Wed Mar 23 10:26 - 09:13(22:47)  
    15. root pts/2220.249.72.138Tue Mar 22 07:22 - 13:38(06:16)  
    16. root pts/2119.103.112.43Mon Mar 21 18:08 - 18:38(00:29)  
    17. root pts/2119.103.112.43Mon Mar 21 16:26 - 18:07(01:41)  
    18. root pts/3119.103.82.129Mon Mar 21 12:22 - 12:25(00:02)  
    19. root pts/2119.103.121.252Mon Mar 21 11:59 - 14:11(02:12)  
    20. root pts/2119.103.121.252Mon Mar 21 11:50 - 11:53(00:02)  
    21. root pts/2119.103.30.213Sun Mar 20 10:03 - 12:42(02:39)  
    22. root pts/358.19.17.3Sat Mar 19 12:22 - 12:22(00:00)  
    23. root pts/2220.249.72.138Sat Mar 19 07:07 - 16:05(08:58)  
    24. root pts/2219.140.213.209Sat Mar 19 01:39 - 01:55(00:16)

      4、記錄登錄時(shí)間

      /var/log/lastlog記錄每個(gè)使用者最近登錄系統(tǒng)的時(shí)間。因此當(dāng)使用者登錄時(shí),就會顯示其上次登錄的時(shí)間,你應(yīng)該注意一下這個(gè)時(shí)間,若此時(shí)間不是你上次登錄的時(shí)間,表示賬號可能被人盜用了。此可執(zhí)行文件可用/usr/bin/lastlog指令讀取(在FreeBSD8&FreeBSD8.1下為/usr/sbin/lastlogin)。使用此命令后的記錄如下所示:

    1. [root@localhost ~]# lastlog  
    2. 用戶名  端口 來自 最后登錄時(shí)間  
    3. root  pts/2220.249.72.138三 3月 30 08:33:33 +0800 2011  
    4. bin**從未登錄過**  
    5. daemon**從未登錄過**  
    6. adm**從未登錄過**  
    7. lp**從未登錄過**  
    8. sync**從未登錄過**  
    9. shutdown**從未登錄過**  
    10. halt**從未登錄過**  
    11. mail**從未登錄過**  
    12. news**從未登錄過**  
    13. uucp**從未登錄過**  
    14. operator**從未登錄過**  
    15. games**從未登錄過**  
    16. gopher**從未登錄過**  
    17. ftp**從未登錄過**  
    18. nobody**從未登錄過**  
    19. nscd**從未登錄過**  
    20. vcsa**從未登錄過**  
    21. pcap**從未登錄過**  
    22. rpc**從未登錄過**  
    23. apache**從未登錄過**  
    24. mailnull**從未登錄過**  
    25. smmsp**從未登錄過**  
    26. ntp**從未登錄過**  
    27. hsqldb**從未登錄過**  
    28. xfs**從未登錄過**  
    29. rpcuser**從未登錄過**  
    30. sshd**從未登錄過**  
    31. dbus**從未登錄過**  
    32. avahi**從未登錄過**  
    33. haldaemon**從未登錄過**  
    34. avahi-autoipd**從未登錄過**  
    35. gdm**從未登錄過**  
    36. longfei**從未登錄過**  
    37. ldap**從未登錄過**  
    38. www**從未登錄過**  
    39. mysql**從未登錄過**



     5、服務(wù)器的郵件日志

      服務(wù)器的郵件為/var/log/messages,如果要用專業(yè)的日志分析工具來分析的話,我推薦使用Awstats。如果公司的開發(fā)系統(tǒng)對郵件的要求比較低,可以配置最簡單的Sendmail或Postfix,通過看郵件日志里的status狀態(tài)來判斷郵件到底有沒有正確發(fā)送。在配置Nagios服務(wù)器時(shí),我也習(xí)慣用此日志來判斷報(bào)警郵件到底有沒有發(fā)送。如果對自己的shell水平足夠有自信,也可以寫腳本來收集郵件服務(wù)器的返回狀態(tài)等。但專業(yè)的事情,建議還是由專業(yè)的Awstats工具來做,特別是郵件負(fù)載比較大時(shí)(比如,每天幾百萬條日志或上千萬條日志),依靠人力完全不可取。

      6、輸出iptables日志到一個(gè)指定的文件中

      iptables的man參考頁中提到:我們可以使用iptables在Linux內(nèi)核中建立、維護(hù)和檢查IP包過濾規(guī)則表,iptables自身的3個(gè)表可能已經(jīng)創(chuàng)建,每一個(gè)表包含了很多內(nèi)嵌的鏈,也可能包含用戶自定義的鏈。iptables默認(rèn)把日志信息輸出到/var/log/messages文件中。不過在有些情況下(比如你的Linux服務(wù)器是用來作為防火墻或NAT路由器的),你可能需要修改日志輸出的位置,通過修改或使用新的日志文件,可以幫你創(chuàng)建更好的統(tǒng)計(jì)信息,或者幫你分析網(wǎng)絡(luò)攻擊信息。下面向大家介紹如何建立一個(gè)新的日志文件/var/log/iptables.log。輸出iptables日志信息到一個(gè)指定文件的方法如下所示:

      1)打開/etc/syslog.conf文件。

    # vim /etc/syslog.conf

      2)在文件末尾加入下面這行信息:

    kern.warning /var/log/iptables.log

      3)保存和關(guān)閉文件,使用下面的命令重新啟動syslogd。

    /etc/init.d/syslog restart

      7、日志文件的專業(yè)工具

      系統(tǒng)的一些服務(wù),比如Apache、Nginx、Squid,還有MySQL數(shù)據(jù)服務(wù)器,都有自己特定的日志文件,不過由于其格式比較復(fù)雜,還是推薦使用專業(yè)工具(如Awstats、Cacti)來分析。MySQL的binlog日志可以用mysqlbinlog來分析,Cacti用得比較多的情況是用來分析Nginx負(fù)載均衡器一段時(shí)間內(nèi)的并發(fā)情況及服務(wù)器的流量異常情況。

      8、用dmesg查看啟動消息

      dmesg提供了一個(gè)簡單的方法查看系統(tǒng)啟動信息。當(dāng)Linux啟動的時(shí)候,內(nèi)核的信息被存入內(nèi)核ring緩存當(dāng)中,dmesg可以顯示緩存中的內(nèi)容。默認(rèn)情況下,dmesg打印內(nèi)容到屏幕上,當(dāng)然你可以將其重定向輸出到一個(gè)文件中。如果硬件損壞的話,在dmesg日志里是有顯示的,可用以下命令來查看dmesggrep error,其實(shí)看到的也就是/var/log/dmesg中的內(nèi)容。

      9、關(guān)于cron的日志

      默認(rèn)情況下,Crontab中執(zhí)行的日志寫在/var/log下,我們可以先看看/etc/syslog.conf里的配置,通過命令grep cron/etc/syslog.conf來查看,如下所示:

    1. [root@localhost log]# grep cron /etc/syslog.conf  
    2. *.info;mail.none;authpriv.none;cron.none /var/log/messages  
    3. # Log cron stuff  
    4. cron.*/var/log/cron

      接著看/var/log/下的cron日志,如下所示:

    1. [root@localhost log]# ls -lsart /var/log/cron*  
    2. 80 -rw------- 1 root root 72378 03-20 04:02 /var/log/cron.2  
    3. 812 -rw------- 1 root root 819861 03-27 04:02 /var/log/cron.1  
    4. 524 -rw------- 1 root root 525442 03-31 13:59 /var/log/cron

      當(dāng)crond執(zhí)行任務(wù)失敗時(shí),Crontab的日志會給用戶發(fā)一封郵件。如果在服務(wù)器上發(fā)現(xiàn)一個(gè)任務(wù)沒有正常執(zhí)行,而crond的郵件發(fā)送也失敗,那么就檢查一下mail的日志,看看是否是因磁盤空間不夠而造成的。

      為了方便收集crond的日志信息,也可以將cornd錯(cuò)誤輸出和標(biāo)準(zhǔn)輸出日志都指向自定義的日志文件:0 6 * * * root /root/test_file.sh >>/data/log/mylog.log 2 >&110.用shell或perl來分析日志

      我們在維護(hù)線上服務(wù)器時(shí),并不是每臺服務(wù)器的日志都需要查看,可以偏重于我們有需求的服務(wù)器。如果不太喜歡用Awstats來分析Nginx負(fù)載均衡器的日志,可以編寫一段分析日志的腳本,下一節(jié)我將跟大家分享用shell編寫的分析Nginx日志的腳本。

    posted on 2011-11-17 16:00 順其自然EVO 閱讀(650) 評論(0)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

    <2011年11月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲最大视频网站| 亚洲欧美在线x视频| 亚洲男人的天堂www| 亚洲最大av无码网址| 亚洲国产精品自产在线播放| 又粗又大又硬又爽的免费视频| 国产精品嫩草影院免费| 免费看国产一级特黄aa大片| 国产人成免费视频| 一本色道久久88综合亚洲精品高清| 又爽又黄无遮挡高清免费视频| 亚洲欧洲中文日韩久久AV乱码| 成人福利免费视频| 中文字幕av无码无卡免费| 免费无码又爽又刺激高潮| 国产小视频在线免费| 亚洲av午夜成人片精品电影 | 国产亚洲美女精品久久久久| 亚洲欧美在线x视频| 一日本道a高清免费播放| caoporm超免费公开视频| 黄色网站软件app在线观看免费| 久久精品国产大片免费观看| 精品国产sm捆绑最大网免费站| A级毛片内射免费视频| 日本视频免费在线| 亚洲综合色在线观看亚洲| 亚洲AV区无码字幕中文色| 亚洲成年人电影在线观看| 亚洲欧美成aⅴ人在线观看| 西西人体大胆免费视频| 天天爽亚洲中文字幕| 亚洲熟女乱色一区二区三区| 一本久久免费视频| 免费91最新地址永久入口| 九九久久精品国产免费看小说 | 色综合久久精品亚洲国产| 精品无码一级毛片免费视频观看| 久久精品国产大片免费观看| 久久久久国产精品免费免费搜索| 国产福利免费在线观看|