日志进程rsyslog
rsyslogd:系统专职日志程序。理绝大部分日志记录,系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息。
httpd/nginx/mysql:各类应用程序,可用用自己的方式记录日志
ps aux |grep rsyslogd#查看rsyslogd程序
tail -10 /var/log/messages⊙#系统主日志文件
tail -f /var/log/messages#动态查看日志文件的尾部
tailf /var/log/secure#认证、安全
tail /var/log/yum.log#yum
tail /var/log/maillog#跟邮件postfix相关
tail /var/log/cron#crond、at进程产生的日志
tail /var/log/dmesg#和系统启动相关
tail /var/log/audit/audit.log#系统审计日志
tail /var/log/mysqld.log#MySQL
tail /var/log/xferlog#和访问FTP服务器相关
tail /var/log/wtmp#当前登录的用户(命令:w)
tail /var/log/btmp#最近登录的用户(命令last)
tail /var/log/lastlog#所有用户的登录情况(命令lastlog)
########## rsyslog配置 ##############
yum install rsyslog logrotate#默认已经安装
systemctl start rsyslog.service#启动服务
rpm -qc rsyslog#观察日志程序的配置文件。-q查询软件包的安装情况
/etc/rsyslog.conf#rsyslogd的主配置文件(关键)
/etc/sysconfig/rsyslog#rsyslogd相关文件,定义级别
/etc/logrotate.d/syslog#和日志办轮转(切割)相关
vim /etc/rsyslog.conf
#RULES:即规则,是一套生成日志,以及存储日志的策略。
#规则由设备+级别+存放位置组成。
#RULES由FACILITY+LEVEL+FILE组成
authpriv.* /var/log/secure(ssH信息)
mail.* -/var/log/maillog(发邮件)#-代表异步方式记录
cron.* /var/log/cron(创建任务)
###level级别###
LOG EMERG#紧急,致命,服务无法继续运行,如配置文件丢失
LOG ALERT#报警,需要立即处理,如磁盘空使用95%
LOG CRIT#致命行为
LOG ERR#错误行为
LOG WARNING#警告信息
LOG NOΠCE#普通,重要的标准信息
LOG INFO#标准信息
LOG DEBUG#调试信息,排错所需,一般不建议使用©
日志轮转logrotate
日志记录了程序运行时各种信息。通过日志可以分析用户行为,记录运行轨迹,查找程序问题。为了节省空间和整理方便,日志文件经常需要按时间或大小等维度分成多份,删除时间久远的日志文件。
主配置文件:/etc/logrotate.conf(决定每个日志文件如何轮转)
子配置文件夹:/etc/logrotate.d/*(自定义配置,便于管理)
vim /etc/logrotate.conf
# see "man logrotate" for details 详细的日志轮转规则使用man logrotate
# rotate log files weekly 每周轮转日志文件
weekly
# keep 4 weeks worth of backlogs 保留4份
rotate 4
# create new (empty) log files after rotating old ones 轮转后创建新文件
create
# use date as a suffix of the rotated file 使用日期作为后缀
dateext
# 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 and btmp -- we'll rotate them here
/var/log/wtmp { #对某日志设置轮转方式
monthly #一月轮转一次
create 0664 root utmp #轮转后创建新文件并设置权限
minsize 1M #最小1M才开始轮转
rotate 1 #保留一份
}
/var/log/btmp {
missingok #丢失不提示
monthly #每月轮转一次
create 0600 root utmp #轮转后创建新文件并设置权限
rotate 1 #保留一份
}
# system-specific logs may be also be configured here.