日志管理
/var/log
10年积累的做网站、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有杜集免费网站建设让你可以放心的选择与我们合作。
常用的系统日志如下:
核心启动日志:/var/log/messages
系统报错或重启服务等日志:/var/log/messages
邮件系统日志:/var/log/maillog
cron(定制任务日志):/var/log/cron #计划日志执行成功与否,在这个文件中
验证系统用户登录: /var/log/secure
记录所有的登录和登出:/var/log/wtmp
每个用户最后登入信息:/var/log/lastlog
错误的登入信息:/var/log/btmp
>/var/log/wtmp #清空登入登出记录
last #查看wtmp
lastlog #查看用户最后登录时间
lastb #查看错误登入信息,可以判断是否存在暴力破解
2.日志记录方式: 先分类,然后每个类中再分级别
主要7种日志分类(FACILITY):
authpriv 安全认证相关
cron at和cron定时相关
daemon 后台进程相关
kern 内核产生
lpr 打印系统产生
mail 邮件系统相关
syslog 日志服务本身
news 新闻系统 (和BBS差不多,新闻组)
uucp uucp系统产生 。Unix-to-Unix Copy(UNIX至UNIX的拷贝),Unix系统的一项功能,允许计算机之间以存储-转发方式交换e-mail和消息。在Internet兴起之前是Unix系统之间连网的主要方式。
local0到local7 #共8个类型,系统保留的:8个系统日志类型,给其它程序使用。或用户 自定义用
8个日志级别:以下排列,由轻到重
级别(PRIOROTY):
debug 排错信息。开发人
info 正常信息
notice 稍微要注意的
warn 警告
err(error) 错误
crit(critical) 关键的错误
alert 警报警惕
emerg(emergency) 紧急,突发事件
日志服务:
1).rhel5:
服务名称:syslog
配置文件:
#vim /etc/syslog.conf
2) .RHEL6:rsyslog
配置文件:
#vim /etc/rsyslog.conf
3).RHEL7:rsyslog
配置文件:
#vim /etc/rsyslog.conf
进入配置文件显示内容如下:
1. kern.* 内核类型的所级别日志
2 *.info;mail.none;news.none;authpriv.none;cron.none:由于 mail, news, authpriv, cron 等类别产生的讯息较多,因此在 /var/log/messages 里面不记录这些项目。除此其他讯息都写入/var/log/messages 中。所以messages 文件很重要
3. authpriv.* 认证方面的讯息均写入 /var/log/secure 档案;
4. mail.*:邮件方面的讯息则均写入 /var/log/maillog 档案;
5. cron.*:例行性工作排程均写入 /var/log/cron 档案;
6. local7.*:将本机开机时应该显示到屏幕的讯息写入到 /var/log/boot.log 档案中;
/etc/rsyslog.conf 中日志输入规则:
例:
. :代表『比后面还要高的等级都被记录下来』的意思,
例如: mail.info 代表只要是 mail 类型的信息,而且该信息等级高于 info (包括 info 本身)时,就会被记录下来的意思。
.= :代表所需要的等级就是后面接的等级而已, 其他的都不要!
.! :代表不等于,亦即是除了该等级外的其他等级都记录。
举例:
cron.none 对于cron类型日志不记录任何信息
cron.=err 对于cron类型日志只记录err级别的信息
cron.err 对于cron类型日志记录大于err级别的信息
cron.!err 对于cron类型日志不记录err级别的信息,其他级别都记录。
记录日志的位置:
1、日志的相对路径:通常就是放在 /var/log中
2、 存在远程日志服务器上
3、有时日志会直接弹出在屏幕上。类似于wall命令。
扩展:
wall命令介绍:
wall -- send a message to everybody’sterminal.
[root@localhost ~]#wall Today is nice day!!!
wall Today is nicedayvim /etc/rsyslog.conf !
Broadcast message fromroot@localhost.localdomain (pts/0) (Thu Dec 17 22:10:28 2015):
Today is nice dayvim/etc/rsyslog.conf !
这样所有登录Linux的虚端的用户都会收到这个信息。
[root@localhost ~]# vim /etc/rsyslog.conf
mail.* -/var/log/maillog
在上面的第四行关于 mail 的记录中,在记录的档案 /var/log/maillog 前面还有个减号『 - 』是干嘛用的?
由于邮件所产生的讯息比较多,因此我们希望邮件产生的讯息先储存在速度较快的内存中 (buffer) ,等到数据量够大了才一次性的将所有数据都填入磁盘内,这样将有利于减少对磁盘读写的次数,减少IO读写开销。另外,由于讯息是暂存在内存内,因此若不正常关机导致登录信息未写入到文档中,可能会造成部分数据的遗失。
自定义sshd服务的日志
[root@localhost ~]# vim /etc/rsyslog.conf
local0.* /var/log/sshd.log
[root@localhost ~]#systemctl restart rsyslog.service
配置sshd服务的配置文件
[root@localhost ~]# vim /etc/ssh/sshd_config
SyslogFacility local0
[root@localhost ~]#systemctl restart sshd
[root@localhost ~]# ls /var/log/sshd.log
/var/log/sshd.log
[root@localhost ~]# cat!$
cat /var/log/sshd.log
Dec 17 22:18:38localhost sshd[35876]: Server listening on 0.0.0.0 port 22.
Dec 17 22:18:38localhost sshd[35876]: Server listening on :: port 22.
日志查看方式
时间 主机 进程ID 执行的操作
如何防止日志被***删除呢?
[root@localhost ~]#chattr +a /var/log/sshd.log
[root@localhost ~]#lsattr /var/log/sshd.log
-----a----------/var/log/sshd.log
加入了这个属性后,你的 /var/log/messages 登录档从此就仅能被增加,而不能被删除,直到 root 以『 chattr -a /var/log/messages 』取消这个 a 的参数后,才能被删除移!
5.日志回滚:
logrotate(日志回滚过程: 创建新文件、改名旧文件。)
配置文件:
#vim/etc/logrotate.conf
[root@localhost ~]# vim /etc/logrotate.conf
weekly <==预设每个礼拜对日志档进行一次 rotate 的工作
rotate 4<==保留几个日志文档呢?预设是保留四个!
create <== 回滚日志后,创建一个新的空文件来存储新的数据。
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
说明:
/var/log/wtmp { <==仅针对 /var/log/wtmp 所设定的参数
http://scyanting.com/article/gjcgeg.html