16-日志管理 本文共有2524个字,关键词: 日志管理:一般是自己编写管理脚本 日志的管理服务:syslog--->rsyslog(rsyslog向前兼容) rsyslog只针对系统相关日志,分析日志的类型,将日志保存到指定的位置,支持将日志通过TCP协议簇汇总到日志服务器,汇总后的日志通过主机名进行区分 常见的日志文件(系统默认的日志) /var/log/cron 记录了定时任务相关的日志 /var/log/cpus 记录了打印信息的日志 /var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令查看内核自检信息。 /var/log/btmp 记录错误登录日志,这是一个二进制文件,不能使用vim等文本查看工具直接打开,需要使用lastb命令查看。 /var/log/mail/log 记录邮件信息 /var/log/lastlog 记录系统中最后一次登录时间的日志,这个文件是二进制文件,需要使用lastlog命令查看。 /var/log/message 记录系统产生的重要信息日志,这个日志文件记录了linux系统的巨大多数重要信息,如果系统出现问题,首先要检查这个文件。 /var/log/secure 记录验证和授权方面的信息,只要涉及账号密码的操作都会记录到这个文件中。 /var/log/wtmp 永久记录所有用户的登录,注销信息、同时记录系统的启动、重启、关机事件、二进制文件,需要使用last命令进行查看。 /var/run/utmp 记录当前已登录用户的信息,这个文件会随着用户的登录和注销而不断变化、只记录挡圈登录用户的信息,使用w/who/users等命令查询 /var/log/httpd RPM包的apache服务的默认日志目录 /var/log/mail RPM包安装的邮件服务的额外日志目录 /var/log/samba RPM包安装的samba服务的日志目录 /var/log/sssd 守护进程安全服务目录 源码包的日志安装在指定的目录下 日志文件中的格式 事件的发生时间 服务器的主机名 服务名或者程序名 事件的集体信息 rsyslog配置文件 /etc/rsyslog.conf 第一列为日志类型和日志优先级的组合,每个类型和优先级的组合称为选择器。 第二列为保存日志的文件、服务器,或输出日志的终端,syslog根据选择器决定如何操作日志。 1. 日志的类型和优先级使用"."进行分隔 2. 规则定义越详细优先级越高,如:kernel、debug的优先级大于debug 3. "*"表示所有,如:*.debug表示所有类型的调试信息 kernel.* 表示内核产生的所有消息 4. 可以使用逗号","分割多个日志类型,使用分号";"分割多个选择器 日志类型.none表示此类型日志不记录 对日志的操作: 1. 将日志输出到文件:/var/log/message,/dev/console 2. 将消息发送给用户,多个用户使用逗号分隔 3. 通过管道将消息发送给用户程序,程序放到管道符后 4. 将消息发送给其它主机上的rsyslog进程 只有rsyslog识别的服务才能写入配置文件中 日志服务[连接符号] 日志等级 日志的记录位置 "." 将日志大于、等于指定等级的日志全部记录下来 ".=" 只记录指定等级的日志 ".!" 除了该等级外的日志都记录 日志等级: debug 一般的调试信息说明 info 基本的通知信息 notice 普通信息,又一定的重要性 warning 警告信息,但是还不影响到服务或系统的运行 err 错误信息,一般达到err等级的信息可以影响到服务或系统的运行 crit 临界状态信息,比err等级严重 alert 警告状态信息,比crit严重,必须立即采取行动 emerg 疼痛等级信息,系统已经无法使用 日志的轮替: 主要目的是为了防止单个文件过大,按照我们的规则对日志进行相应处理 主要依赖/etc/logrotate.conf配置文件,dateext参数实现日志的处理 weekly 每周对日志进行依次轮替 rotate 在轮替的过程中,自动创建信息的文件 dateext 使用日期作为日志文件的后缀 compress 是否压缩进行轮替的日志 size 大小,日志只有大于指定大小才进行轮替 missingok 如果日志不存在忽略该日志的警告信息 notifempty 如果日志为空文件,则不进行日志的轮替 系统自动进行日志轮替的原因: /etc/cron.daily/下有一个脚本,每天都运行,查看是否有符合轮替的日志,然后进行相应处理。 rsyslog所管理的服务:系统服务 logratate能管理绝大部分的日志,rpm包安装的包能够被logrotate管理,但是需要加入规则 将产生的日志按照预设的参数进行轮替。 日志文件类型改为压缩类型后,之前产生的日志将永久保存,不会删除。 ~]# logrotate -vf /etc/logratate.conf 强制执行日志的轮替 ~]# split FileName -b 按大小对文件进行切割(会切断行),单位自行指定 -l 按行进行切割 -d 声明文件切割后的文件前缀 -a 3 指定以数字作为后缀,且以三位数值显示 将工具(脚本)模块化的思路: 1. 写成函数文件/函数 2. 将每一个功能单独实现,在一个主脚本中去调用 日志(受rsyslog管理的日志),改名、移动后均会向其中写入日志,删除后不会创建新文件,也不会记录日志。?需要在产生日志的环境下验证,比如httpd日志 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 基础笔记综合整理 2018-10-11 评论 2374 次浏览