日志
什么是日志
可以将系统日志理解为记录系统运行情况的一种日记。它包含了各种级别的信息,从调试信息和错误报告到警告和系统事件等。通过对系统日志进行分析,管理员可以了解系统的状态和运行情况,发现并解决问题,确保系统的正常运行。因此,系统日志是管理和维护 Linux 系统的一个重要工具。
日志格式:
时间 机器名 用户名 发生事件
日志的配置文件
在 /var/log
日志的分类
/var/log/secure:系统安全日志(用户登录),文本格式,应周期性分析
/var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
/var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
/var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
/var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录专用命令dmesg查看,可持续记录硬件变化的情况
/var/log/boot.log 系统服务启动的相关信息,文本格式
/var/log/messages :系统中大部分的信息
/var/log/anaconda : anaconda的日志操作系统安装时安装的软件信息
日志信息的优先级和重要等级
在 Linux 内核中,根据日志消息的重要程度不同,将其分为不同 的优先级别(数字等级越小,优先级越高,消息越重要)
0 EMERG(紧急) :会导致主机系统不可用的情况。
1 ALERT(警告) :必须马上采取措施解决的问题。
2 CRIT(严重) :比较严重的情况。
3 ERR(错误) :运行出现错误。
4 WARNING(提醒) :可能影响系统功能,需要提醒用户的重要事件。
5 NOTICE(注意) :不会影响正常功能,但是需要注意的事件。
6 INFO(信息) :一般信息。
7 DEBUG(调试) :程序或系统调试信息等
在日志文件中出现NOTICE时就要注意程序文件是否出现问题
日志管理于配置
日志管理工具journalctl
logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,称为日志转储或滚动。可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行
logrotate配置
软件包:logrotate
[root@localhost log]# yum install logrotate.x86_64 -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.cqu.edu.cn
* extras: mirrors.cqu.edu.cn
* updates: mirrors.cqu.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 logrotate.x86_64.0.3.8.6-14.el7 将被 升级
---> 软件包 logrotate.x86_64.0.3.8.6-19.el7 将被 更新
--> 解决依赖关系完成
依赖关系解决
============================================================================
Package 架构 版本 源 大小
============================================================================
正在更新:
logrotate x86_64 3.8.6-19.el7 base 70 k
事务概要
============================================================================
升级 1 软件包
总计:70 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : logrotate-3.8.6-19.el7.x86_64 1/2
清理 : logrotate-3.8.6-14.el7.x86_64 2/2
验证中 : logrotate-3.8.6-19.el7.x86_64 1/2
验证中 : logrotate-3.8.6-14.el7.x86_64 2/2
更新完毕:
logrotate.x86_64 0:3.8.6-19.el7
完毕!
相关文件
- 计划任务:/etc/cron.daily/logrotate
- 程序文件:/usr/sbin/logrotate
- 配置文件: /etc/logrotate.conf
- 日志文件:/var/lib/logrotate/logrotate.status
配置文件更改
/var/log/wtmp { #服务程序绝对路劲
monthly #
create 0664 root utmp #配置参数
minsize 1M #
rotate 1 #
}
配置文件类型
配置 | 说明 |
---|---|
compress | 通过gzip压缩转储以后的日志 |
prerotate/endscript | 在转储以前需要执行的命令,这两个关键字必须单独成行 |
postrotate/endscript | 在转储以后需要执行的命令,这两个关键字必须单独成行 |
nocreate | 不建立新的日志文件 |
errors address | 专储时的错误信息发送到指定的Email地址 |
daily | 指定转储周期为每天 |
size size | 当日志文件到达指定的大小时才转储bytes(缺省)及KB或MB |
missingok | 如果日志不存在,不提示错误,继续处理下一个 |
missingok | 如果日志不存在,提示错误,此为默认值 |
等等等
rsyslog
rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。
rsyslog特性
1.多线程支持。Rsyslog利用多线程技术,提高了日志处理的并发性能。
2.支持多种传输协议。它支持UDP、TCP、SSL、TLS等协议,保证了日志传输的可靠性。并且支持RELP协议,进一步增强了日志传输的可靠性。
3.日志存储。Rsyslog可以将日志存储在多种数据库如MySQL、PostgreSQL、MongoDB、ElasticSearch等中,便于日志的筛选和查询。
4.过滤和处理能力。Rsyslog提供了基于正则表达式、属性比较、IF/THEN等的高级过滤和处理功能,能够灵活地处理日志信息。
5.自定义输出格式。Rsyslog允许自定义日志的输出格式,包括支持高精度时间戳的格式。
6.支持数据加密和压缩传输。Rsyslog支持对日志数据进行加密和压缩传输,保护日志信息的安全性。
标签:x86,logrotate,var,日志,el7,log From: https://www.cnblogs.com/zhj0708/p/18153257