Linux 系統的日志目錄


連接時間的日志

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

who /var/log/wtmp          【連接時間日志】
who /var/log/utmp          【連接時間日志】
ac -p     //查看每個用戶的連接時間
ac -a     //查看所有用戶的連接時間
ac -d     //查看用戶每天的連接時間

 

系統和服務日志

系統日志服務是由名為syslog的服務管理的,以下日志文件都由syslog日志服務驅動的:
       /var/log/lastlog    :記錄最后一次用戶成功登陸的時間、登陸IP等信息
       /var/log/messages  :記錄Linux操作系統常見的系統和服務錯誤信息
       /var/log/secure   :系統安全日志,記錄用戶和工作組變壞、用戶登陸認證情況
       /var/log/btmp【last】:記錄Linux登陸失敗的用戶、時間以及遠程IP地址
       /var/log/cron      :記錄crond計划任務服務執行情況

進程監控日志

進程統計監控日志在監控用戶的操作指令是非常有效的。當服務器最近發現經常無故關機或者無故被人刪除文件等現象時,可以通過使用進程統計日志查看

[root@server ~]# accton /var/account/pacct      //開啟進程統計日志監控
[root@server ~]# lastcomm    [root@server ~]# accton     //關閉進程統計日志監控

image

RedHat6日志服務介紹

在Linux系統,大部分日志都是由syslog日志服務驅動和管理的,syslog服務由兩個重要的配置文件控制管理,

CentOS 6及其以上:  /etc/rsyslog.conf主配置文件

                                 /etc/init.d/rsyslog是啟動腳本

注意:CentOS 6之前版本是:/etc/syslog.conf. 和 /etc/sysconfig/syslog輔助

[root@server rsyslog.d]# grep -v '#' /etc/rsyslog.conf |grep -v '^$'  

image

消息類型: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

vim /etc/ rsyslog.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錯誤級別(危險)的所有消息發給所有用戶

日志轉發原理了解

對於發送消息到服務器的OS,只要在寫/etc/syslog.conf主配置文件的時候,作用域為@server-ip就行了

針對218.192.87.24這台服務器,把一台系統的所有info級別的auth信息發給日志服務器
 auth.info           @218.192.87.24  就OK了
# 重啟服務
service rsyslog restart

日志轉儲服務

系統工作到了一定時間后,日志文件的內容隨着時間和訪問量的增加而越來越多,

日志文件也越來越大。而且當日志文件超過系統控制范圍時候,還會對系統性能造成影響。

儲方式可以設為每年轉儲、每月轉儲、每周轉儲、達到一定大小轉儲。

在Linux系統,經常使用“logrotate”工具進行日志轉儲,結合cron計划任務,可以輕松實現日志文件的轉儲。

轉儲方式的設置由“/etc/logrotate.conf”配置文件控制

logrotate查看幫助;man logrotate

[root@51cto ~]# 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                                 //轉儲一次
}
       /var/log/news/* {
           monthly                     
           rotate 2
           olddir /var/log/news/old
           missingok           //若日志文件不存在,則跳過。
           postrotate
               kill -HUP ‘cat /var/run/inn.pid‘      //完成后重啟news新聞組服務
           endscript           
           nocompress         //轉儲時不壓縮
       } 

自定義轉儲服務

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

[root@51cto ~]# tail -1 /etc/syslog.conf       //查看該文件的最后一行
	*.info                  /var/log/test.log

2、重啟syslog服務:
[root@51cto ~]# /sbin/service syslog restart
3、創建/etc/logrotate.d/test.log日志轉儲參數配置文件,添加如下:
[root@51cto ~]# vim /etc/logrotate.d/test.log
[root@51cto ~]# 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:

5、查看轉儲后的文件

[root@51cto log]# ls /var/log/test.log*

【更多參考】

日志服務器轉發功能:

https://yq.aliyun.com/ziliao/25149

https://www.cnblogs.com/hanyifeng/p/5463338.html

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM