一、日志文件:主要记录在本机上谁什么时间做了什么事情. 1、日志文件在管理中的作用:1).系统故障排错 2).统计访问量 2、日志软件: rpm -q rsyslog 文件列表: rpm -ql rsyslog 配置文件: rpm -qc rsyslog 3、日志文件默认位置:/var/log 注:某些第3方软件的日志文件位于软件自己的目录中的log目录或其他位置。 4、常见的日志文件:(/var/log) 注:文件类型用file命令查。 大多数日志文件是纯文本文件,可以用cat 、head来查看。 还有一些是二进制日志文件,需要用专用的命令来查看。 secure:安全相关,主要是用户认证,如登录 、创建和删除账号 、sudo等 audit/audit.log:审计日志。跟用户账号相关 messages:记录系统和软件的绝大多数消息。如服务启动 、停止 、服务错误等。 boot.log:系统启动日志。能看到启动流程。 cron:计划任务日志。会记录crontab计划任务的创建、执行信息。 dmesg:硬件设备信息(device)。纯文本,也可以用dmesg命令查看。 yum.log:yum软件的日志。记录yum安装、卸载软件的记录。 lastlog:最后登录的日志。用lastlog查看(二进制日志文件) btmp:登录失败的信息(bad)。用lastb查(二进制日志文件) wtmp:正确登录的所有用户命令(who、w),用last查(二进制日志文件) 日志练习:开两个命令终端窗口,分别执行不同的命令,看A窗口中的日志信息变化, A窗口:tail -0f /var/log/messages #实时监测messages日志文件 B窗口:systemctl restart firewalld r> systemctl stop firewalld ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- rsyslog日志程序的配置文件:rpm -qc rsyslog #查的结果如下 /etc/logrotate.d/syslog #日志轮转(切割、轮替)策略文件 /etc/rsyslog.conf #主配置文件 /etc/sysconfig/rsyslog #环境设置配置文件 ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- 主配置文件:/etc/rsyslog.conf ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- 日志类别:(用man 3syslog来查看) 注:日志类别主要是用来区分软件、服务. LOG_AUTH #安全或授权信息 LOG_AUTHPRIV #安全或授权信息 (私有) LOG_CRON #计划任务 LOG_DAEMON #系统守护进程 without separate facility value LOG_FTP #ftp守护进程相关 LOG_KERN #内核消息 (these can't be generated from user processes) LOG_LOCAL0 through LOG_LOCAL #本地自定义 LOG_LPR #打印子系统 LOG_MAIL #邮件子系统 LOG_NEWS #新闻组子系统 LOG_SYSLOG #系统消息(8) LOG_USER (default) #一般用户的等级的消息 LOG_UUCP #UUCP subsystem unix like机器本身相关子系统 ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- 日志等级level:(用man 3 syslog来查看) 注:等级主要用来区分某个软件中日志的分类。 LOG_EMERG #疼痛级,严重错误 LOG_ALERT #报警.必须立即采取措施 LOG_CRIT #较严重 LOG_ERR #错误 LOG_WARNING #警告 LOG_NOTICE #提示信息.normal, but significant, condition LOG_INFO #信息 LOG_DEBUG #调试级信息 注:等级为none表示不记录任何信息。 ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- 案例一:要求创建一个跟messages日志文件相同的日志规则,将日志记录到/var/log/my.log文件中. vim /etc/rsyslog.conf #执行如下操作 *.info;mail.none;authpriv.none;cron.none /var/log/messages #找到此行 *.info;mail.none;authpriv.*;cron.none /var/log/my.log #添加此行 ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- 重启rsyslog服务:systemctl restart rsyslog 查看日志:cat /var/log/my.log ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- 二、logger 是Shell命令,可以通过该命令使用 rsyslog 的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。 1、logger命令的语法为: logger [-i] [-f filename] [-p priority] [-t tag] [message...] 注:-f filename:将 filename 文件的内容作为日志。 -i 每行都记录logger进程的ID。 -p priority:指定优先级;优先级必须是形如 facility.priority 的完整的选择器,默认优先级为 user.notice。 -t tag:使用指定的标签标记每一个记录行。 message:要写入的日志内容,多条日志以空格为分隔;如果没有指定日志内容,并且 -f filename 选项为空,那么会把标准输入作为日志内容。 案例一:将ping命令的结果写入日志: 创建ping的日志:ping -c 3 127.0.0.1 | logger -it logger_test -p local3.notice 创建ping的日志:ping -c 3 127.0.0.5 | logger -it logger_test -p local3.notice 查看日志文件:cat /var/log/user.log 查看到的日志内容:Oct 6 12:48:53 kevein logger_test[22484]:64 bytes from 192.168.0.1: icmp_seq=10 ttl=253 time=931 ms 发现ping命令的结果成功输出到/var/log/userlog 文件。 注:命令 logger -it logger_test -p local3.notice 各选项的含义: -i:在每行都记录进程ID; -t logger_test:每行记录都加上“logger_test”这个标签; -p local3.notice:设置日志类型和优先级。 ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- 三、logrotate日志切割: 1、作用:1).防止日志文件过大 2).定期删除旧日志文件 2、配置文件:rpm -qc logrotate #文件如下 /etc/cron.daily/logrotate /etc/logrotate.conf /etc/rwtab.d/logrotate /var/lib/logrotate/logrotate.status 3、查轮滚策略帮助手册:man logrotate.conf 4、配置文件内容: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 #创建新的空日志文件代替旧文件 # use date as a suffix of the rotated file dateext #使用日志为文件名后缀,禁用此项时默认以数字为后缀. # uncomment this if you want your log files compressed #compress #是否压缩(后缀为.gz) # 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 #文件最小容量 rotate 1 #保留1个备份 } /var/log/btmp { missingok #丢了也不会报错 monthly create 0600 root utmp rotate 1 } # system-specific logs may be also be configured here. ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- 强制测试轮滚:logrotate -fv /etc/logrotate.conf ls /var/log/ 注:1、-f是强制轮滚,-v显示过程 2、日志文件名后缀的数字越大,文件越旧。日志清理时是清理旧文件。 案例一:给/var/log/my.log日志文件创建轮滚策略,每天一轮滚,文件丢了也不报错,保留2个备份,启用压缩功能,用数字作为文件名后缀. vim /etc/logrotate.d/my 添加如下内容 /var/log/my.log { daily #每天一轮滚 missingok #丢了也不报错 nodateex #不使用日期为后缀,即用数字为后缀 create #创建新文件 rotate 2 #保留2个备份 compress #启用压缩(后缀为.gz) } 测试轮滚:logrotate -fv /etc/logrotate.d/my 查看日志文件列表:ls /var/log/my* 注:部分知识点来源于man手册。
centos7—日志文件
猜你喜欢
转载自www.cnblogs.com/brucetang/p/9699588.html
今日推荐
周排行