日志

日志

什么是日志

可以将系统日志理解为记录系统运行情况的一种日记。它包含了各种级别的信息,从调试信息和错误报告到警告和系统事件等。通过对系统日志进行分析,管理员可以了解系统的状态和运行情况,发现并解决问题,确保系统的正常运行。因此,系统日志是管理和维护 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支持对日志数据进行加密和压缩传输,保护日志信息的安全性。

posted @ 2024-04-23 16:57  红荼  阅读(1)  评论(0编辑  收藏  举报