Linux日志管理与分类

Linux默认系统日志

  1.   /var/log/messages

    这是Linux最核心的日志文件,假若某个服务没有定义日志文件,那么该服务产生的日志文件就会记录到这个文件中,该日志每周归档一次,默认只保留5次。归档的方法都是由“/etc/logrotate.conf”这个文件来控制的。这个日志也有个守护进程“rsyslogd”如果把这个服务停止掉,就不会产生日志,在centos6之前的版本是由“syslogd”这个守护进程来管理的,不管是“rsyslogd”还是“syslogd”文件都在/sbin/目录下面,“syslogd”或者“rsyslogd”他们的服务配置文件在/etc/下面的的“rsyslog.conf”或者“syslog.conf”来控制

  2.  /var/log/wtmp

    查看用户的登录,注销信息,同时记录系统的启动,重启,关机等事件。不用能cat直接查看,必须用last查看

  3.   /var/log/btmp

    和wtmp类似,也不能用cat直接查看,用lastb查看,记录用户登录无效的历史

  4. /var/log/maillog

    用来记录邮件相关的日志,比如发给哪个,是否发出去

  5.  /var/log/secure
  6. 用来记录安全认证相关的信息,只要涉及到用户账户密码程序都会记录,比如系统登录,ssh登录,su切换用户,sudo授权,添加用户,修改密码等
  7.  /var/log/cron

    记录了系统定时任务相关的日志

  8. /var/log/cpus/

    记录了打印信息的日志

  9. /var/log/lastlog

    记录所有用户的最后一次登录时间,只可能通过lastlog命令查看

  10. dmesg

    系统开机日志(直接输入dmesg)就会出来,不可以直接cat。记录了系统在开机自检的信息

  11. RPM方式安装的系统服务也会默认把日志记录在/var/log/目录中

            /var/log/httpd/

    RPM包安装的apache服务的默认日志目录

            /var/log/mail/

    RPM包安装的邮件服务的额外日志目录

            /var/log/samba/

    RPM包安装的samba服务的日志目录

            /var/log/sssd/

    守护进程安全服务目录

  12. 源码包的日志在源码包指定的目录中,这些日志不是由rsyslogd服务来管理的,而是由各个服务使用自己的日志管理
  13. Linux系统默认的日志文件格式是事件产生的时间,发生事件的服务器的主机名,产生事件的服务名或者程序名,事件的具体信息rsyslogd服务的配置文件说明“/etc/rsyslog.conf”

格式是,比如:authpriv.*            /var/log/secure

服务名称连接符号日志等级 日志记录位置(这里是*代表是发送在线的给任何人)

这里的记录位置可以是:

日志文件绝对路径,如“/var/log/secure”

系统设备文件,如“/dev/lp0”

转发给远程主机,如“@192.168.1.1:514”

用户名,如“root”

忽略或丢弃日志,如“~”


名称:

auth 安全和认证相关的消息(不推荐使用authpriv代替)
authpriv 安全和认证相关的消息(私有的)
cron 系统定时任务crond和at产生的日志
ftp ftp守护进程产生的日志
kern 内核产生的日志(不是用户进程产生的)
Local1 为本地使用预留的服务
lpr 打印产生的日志
mail 邮件收发信息
news 与新闻服务器相关的日志
syslog 有syslogd服务产生的日志,虽然服务名称已经改为rsyslogd,但是很多配置还是沿用了syslogd,这里并没有修改服务名
user 用户程序产生的日志信息
uucp uucp子系统的日志信息,uucp是早期linux系统进行数据传递的协议,后来也常用在新闻组服务中


级别:级别越高记录的信息越少越重要

debug 一般的调试信息
info 基本的通知信息
notice 最具有重要性的普通条件信息记录(有一定的重要性)
warning 警告信息记录(一般还不会影响到服务或者系统的运行)
err 错误信息记录,一般达到err等级的信息以及可以影响到服务或者系统的运行
crit 严重错误,比err还要严重(有可能会影响整个系统不能工作)
alert 比crit还要严重,需要马上修改
emerg 达到这个等级,基本系统已经崩溃了
none 什么都不记录


连接符号:

* 代表所有日志等级,比如“authpriv.*”代表authpriv认证信息服务产生的日志,所有的日志等级都要记录
. 代表只要比后面等级高的(包含该等级)日志都要记录,比如:“cron.info”代表cron服务产生的日志,只要大于等于info这个等级的都要记录
.= 代表只记录与后面日志等级相同的日志,其它都不记录,比如“*.=emerg”代表所有服务产生的日志,只要等级是emerg的就记录
.! 代表不是后面的等级,也就是除外的日志,都记录比如“kern.!debug”代表只要是kern产生的日志信息,除了debug外其它所有的都要记录 

日志轮替 

  1. 日志文件的命名规则

    1. 如果配置文件中拥有“dateext”参数,那么日志会用当前日期来作来日志文件的后缀,例如“secure-20151211”
    2. 如果日志中没有“dateext”这个参数,那么比如当前secure这个日志会自动改名为secure.1”然后再新建一个“secure”用来保存新的日志,也就是数字越大,历史越久
  2. 配置文件路径:“/etc/logrotate.conf”


参数解释:

    daily                        日志的轮替周期是每天

    weekly                    日志的轮替周期是每周

    monthly                  日志的轮替周期是每月

    rotate N                   保留的日志文件的个数,0指的没有备份

    compress               日志轮替时,旧的日志进行压缩

    create mode owner group

建立新日志,同时新日志的权限与所有和所属组

    mail address          当日志轮替时,输出内容通过邮件发送到指定的邮件地址

    missingok               如果日志不存在,则忽略该日志轮替

    minsize 大小           日志轮替的最小值,也就是日志一定要达到这个大小才会轮替

    size 大小                 日志只有大于指定大小才进行日志轮替,而不是按照时间轮替,如:size 100K

    dateext                    使用日期作为日志轮替的后缀

copytruncate            对日志文件采用先copy再截断的处理

配置文件解释

  • 配置文件在花括号以外的参数都是全局配置,但是如果花括号以内的参数与以外的参数有重要,那么以,花括号以内的参数为准
  • 只要是RPM包安装的服务的日志一般都支持轮替,但是源码包安装的服务不支持,需要手工修改这个配置文件的加入进去,比如把apache日志加入轮替,在/etc/logrotate.conf这个文件的最后加下以下内容
/usr/local/apache2/logs/access_log{
     monthly
     copytruncate
     create 0664 root utmp
     minsize 1M
     rotate 1
}

logrotate命令


格式:logrotate [选项] 配置文件名

常用选项有:

-v    显示日志轮替过程

-f     强制进行日志轮替,不管有没有达到轮替的条件

如果没有加选项,则会按配置文件中的条件进行日志轮替

时间: 2024-08-11 01:34:09

Linux日志管理与分类的相关文章

第13章 Linux日志管理

1. 日志管理 (1)简介 在CentOS 6.x中日志服务己经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式其实都是和syslogd相兼容的. (2)rsyslogd的新特点 ①基于TCP网络协议传输日志信息 ②更安全的网络传输方式 ③有日志消息的及时分析框架 ④后台数据库 ⑤配置文件中可以写简单的逻辑判断. ⑥与syslogd配置文件相兼容 (3)查看rsyslogd服务是否启动: ①#ps aux |

Linux学习笔记(21) Linux日志管理

1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式其实都是和syslogd服务相兼容的,所以学习起来基本和syslogd服务一致. rsyslogd的新特点: 基于TCP网络协议传输日志信息:更安全的网络传输方式:有日志消息的及时分析框架:后台数据库:配置文件中可以写简单的逻辑判断:与syslogd配置文件相兼容. 1)确定服务启动 ps aux

每天学习Linux——日志管理

今天继续昨天的日志学习,主要学习了鸟哥私房菜的日志管理那一块的内容,现在学习总结如下: 1.日志文件内容的一般格式 (1)事件发生的日期与时间: (2)发生此事件的主机名: (3)启动此事件的服务名称或函数名称: (4)该信息的实际数据内容. 例如:Mar 14 15:38:00 www atd[18701]: pam_unix(atd:session) : session opened for user root by (uid=0) 在3月14日(Mar 14)的下午15:38分,由www这

网络安全系列之十五 Linux日志管理1

Linux服务器一般都是被放置在机房中自动运行,管理员要了解服务器或是应用程序的运行状态,大都需要通过日志.日志文件用于记录Linux系统中各种运行消息,不同的日志文件记载了不同类型的信息,例如Linux内核消息.用户登录记录.程序错误等.日志文件对于诊断和解决系统中的问题很有帮助,因为在Linux系统中运行的程序通常会把系统消息和错误消息写入相应的日志文件,这样系统一旦出现问题就会有据可查.此外,当主机遭受攻击时,日志文件还可以帮助寻找攻击者留下的痕迹. 1. 主要日志文件 Linux系统本身

Linux服务管理-服务分类

分类不同是软件安装方式不同:一个是rpm包,一个是源码包,安装方式不同,导致管理方式不同,也就产生服务分类. 启动与自启动根本缘由:

网络安全系列之十六 Linux日志管理2

管理日志服务 RHEL系统中的内核及系统日志功能主要由rsyslogd服务提供,该服务的配置文件为"/etc/rsyslog.conf". rsyslogd服务默认已经安装并自动运行,/etc/rsyslog.conf配置文件则可以对日志进行设置,它可以指定那些信息需要记录,以及记录在哪里. 例:查看/etc/rsyslog.conf配置文件中的主要内容. /etc/rsyslog.conf文件中的每一行代表一条设置值,每一条设置值的语法如下: 消息类型   执行动作 其中的"

linux日志管理

1 常见的系统日志 /var/log/message     记录系统重要信息日志,非常重要 /var/log/cron     记录系统定时任务日志 /var/log/cups     记录打印信息日志 /var/log/dmesg    系统开机时内核自检信息,也可以使用dmesg命令直接查看内核自检信息 /var/log/btmp     错误登陆信息日志,二进制文件,使用lastb命令查看 /var/log/lastlog       系统所有用户最后一次的登陆时间的日志,二进制文件,使

Linux日志管理(一)

一.日志中的四个WWhen:事件何时发生Where:日志在哪里产生Who:哪些程序触发了这条日志What:发生了什么事件 二.一个简单的日志收集拓扑网络设备.服务器通过syslog的协议将日志传送到日志服务器上,日志服务器定时地将日志归档,储存到后端存储设备上. 常用的日志管理程序为rsyslog和syslog-ng,这两个日志管理程序都支持下面三种日志传输方式:UDP传输:应用最广泛的日志传输方式,性能开销小,但是传输缺乏可靠性.TCP传输:确保日志传输的可靠性,但是性能开销大于UDP方式.T

Linux 日志管理

1.查看日志的配置文件 原文地址:http://blog.51cto.com/kangxi/2113432