CentOS 7系统生成的日志主要是通过systemd日志守护进程进行处理和记录的。其日志记录的内容包括系统和服务启动和关闭的信息、系统运行过程中产生的错误、警告和通知信息等等。
系统日志通常被记录在/var/log目录下,主要的日志文件有:
1. messages: 系统基本日志信息,包括系统启动、关闭、网络等信息。
2. secure: 系统认证和授权相关的日志信息,如登录、su操作、sudo操作等。
3. journalctl: 通过journalctl命令可以查看系统日志的详细信息,包括系统启动信息、服务启动信息、错误信息等。
除此之外,系统日志还包括定时任务的日志信息、yum软件包管理器的日志信息、Apache Web服务器的访问和错误日志、MySQL数据库系统的日志信息等。管理员可以根据不同的需求选择查看特定的日志文件,以了解系统的运行情况和问题。
1 引言
1.1 日志的重要性
Linux系统日志对管理员来说,是了解系统运行的主要途径,因此需要对Linux日志系统有个详细的了解。
Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。
1.2 常见的系统日志
/var/log/messages:记录Linux操作系统常见的系统和服务错误信息以及系统的各种事件(包括 kernel 日志、syslog、auth 日志等)。
/var/1og/boot.log:记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。
/var/log/lastlog:记录最后一次用户成功登陆的时间、登陆IP等信息(一般通过命令lastlog 查看)。
/var/1og/secure:Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况。/var/log/yum.log:记录 yum 包管理器相关的信息,如软件的安装、更新等。
/var/log/httpd/:记录 Apache 访问日志和错误日志。
/var/log/mysql/:记录 MySQL 数据库的访问日志和错误日志。
【单独讲述下/var/log/messages和/var/log/secure】
使用“tail -f /var/log/messages”命令查看日志。
tail -f /var/log/messages
接下来我们重新打开个窗口,使用“systemctl stop httpd”和“systemctl start httpd”命令,查看日志情况。
systemctl stop httpd
systemctl start httpd
使用“tail -f /var/log/secure”命令查看日志,接下来我们重新打开个窗口。
tail -f /var/log/secure
测试一:
使用“useradd mortalz7”命令创建一个新用户mortalz7,同时我们使用“passwd mortalz7”命令更改用户密码。
useradd mortalz7
passwd mortalz7
测试二:
我们使用“su mortalz7”命令切换用户到mortalz7并退出(使用“exit”命令)。
su mortalz7
2 rsyslog日志管理
2.1 日志类型
mark(syslog)-rsyslog:服务内部的信息,时间标识
2.2 日志优先级
1 info 一般信息的日志,最常用
4 err 错误级别,阻止某个功能或者模块不能正常工作的信息
5 crit 严重级别,阻止整个系统或者整个软件不能工作的信息
none 不记录任何信息
2.3 自定义日志
举例:
(1)*.*
第一个*表示的是日志类型,要存储哪一方面的日志;后面的.*表示的是你想要定义的什么级别。
(2)kern.err /var/log/kernel.log
err第四级别,大于错误级别写到/var/log/kernel.log(自己定义的文件)。
(3)mail.info /var/log/mail.log
所有大于等于info级别的mail邮件都写到/var/log/mail.log。
好了,了解的差不多了,最终你就可以使用vim /etc/rsyslog.conf命令开始编写啦~
systemctl restart rsyslog
3 logrotate日志轮转【重点!!!】
3.1 日志轮转
首先先了解下配置文件
vim /etc/logrotate.conf
rotate4 轮转次数 默认轮转4次(只保留四份文件,当第五份日志文件产生之后,将自动删除最旧的那份文件)
强制轮转
logrotate –s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
3.2 日志轮转实例
测试日志轮转,轮转文件/var/log/yum.log
(1)配置轮转规则:vim /etc/logrotate.d/yum
vim /etc/logrotate.d/yum
notifempty表示空文件不轮转(在notifempty前面加#,使空文件也轮转)
(3)查看:ls /var/log/yum.*,只有/var/log/yum.log
ls /var/log/yum.*
date
修改日期(daily是以天来算的,不能等一天再来看效果,所以我们直接选择修改日期)
date 09301805
date后面加“月日时分”
logrotate /etc/logrotate.conf
(6)查看:ls /var/log/yum.*
多了个日志文件,成功啦~
3.3 日志安全,操作日志的隐藏权限
(1)建议测试时先把/etc/logrotate.d/syslog中messages删除(vim命令进入/etc/logrotate.d/syslog中,删除/var/log/messages一行)
vim /etc/logrotate.d/syslog
/var/log/messages {
prerotate
chattr -a /var/log/messages
endscript
#notifempty
daily
create 0777 root root
missingok
rotate 3
postrotate
chattr +a /var/log/messages
endscript
}
logrotate /etc/logrotate.conf
运行完毕后没有报错说明编写没有问题,如果报错说明刚才/etc/logrotate.d/syslog中编写有错。(比如说missingok中没有空格或者postrotate打错字母等等。)
vim命令进入/etc/logrotate.d/syslog中,删除所想要修改的在最下面进行添加即可(跟刚才同理)
创作不易,给个三连吧~
原文地址:https://blog.csdn.net/m0_64304713/article/details/133438972
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_30034.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!