連接時間的日志
連接時間日志一般由/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 //關閉進程統計日志監控
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 '^$'
消息類型: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