linux应用程序限制4千条日志,Linux操作系统之日志管理

一、rsyslog系统日志管理

1、处理日志的进程

第一类:rsyslogd: 系统专职日志程序。绝大部分日志记录,系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息。

第二类:httpd/nginx/mysql: 各类应用程序,可以以自己的方式记录日志。

2、常见的日志文件(系统、进程、应用程序)

# tail -f /var/log/messages  //动态查看日志文件的尾部

# tailf /var/log/secure    //认证、安全

# tailf /var/log/yum.log   //yum

# tailf /var/log/maillog    //跟邮件postfix相关

# tailf /var/log/cron    //crond、at进程产生的日志

# tailf  /var/log/dmesg    //和系统启动相关

tail -f 可以简写为tailf

3、rsyslog配置

相关程序

yum -y install rsyslog  logrotate     (默认已安装)

启动程序

systemctl  start  rsyslog

观察日志的配置文件

rpm  -qc   rsyslog     (可以看到一下三个文件)

/etc/rsyslog.conf             rsyslogd的主配置文件

/etc/sysconfig/rsyslog      rsyslogd相关文件,定义级别

etc/logrotate.d/syslog      和日志轮转(切割)相关

4、主配置文件

告诉rsyslogd进程什么日志,应该存到哪里。

打开主配置文件:

vim /etc/rsyslog.conf

打开主配置文件,找到里面的RULES那一条,RULES:即规则,是一套生成日志,以及存储日志的策略。

RULES即规则,有三部分组成(由设备+级别+存放位置)  RULES由FACILITY+LEVEL+FILE组成。下面是RULES里包含的一些规则,在 .的左侧是设备名称,右侧是级别(一般都是 * ‘所有级别’) 最右侧就是日志文件的位置。

authpriv.*         /var/log/secure(SSH信息)

mail.*             -/var/log/maillog(发邮件) 这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大

cron.*             /var/log/cron(创建任务)

*.info;mail.none;authpriv.none;cron.none                /var/log/messages   系统日志排除了邮件,认证,计划日志。

下面的图可以清晰的反映三者之间的关系:

fa6729ab5254f370db05f559ea500c0e.png

二、logrotate日志轮转

1、简介

日志  记录了程序运行时各种信息。通过日志可以分析用户行为,记录运行轨迹,查找程序问题。可惜磁盘的空间是有限的。日志轮转就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事。为了节省空间和整理方便,日志文件经常需要按时间或大小等维度分成多份,删除时间久远的日志文件。

2、工作原理

按照配置进行轮转

配置文件种类

① 主配置文件

/etc/logrotate.conf     (决定每个日志文件如何轮转)

vim /etc/logrotate.conf //查看logrotate主配置文件中的信息

# 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 //是否压缩

# 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 //轮转最小大小为1M,如果时间已经过了一个月但是大小小于1M是不能切割的

rotate 1 //保留一份

}

/var/log/btmp {

missingok //丢失不提示

monthly

create 0600 root utmp //轮转后创建新文件并设置权限

rotate 1

}

# system-specific logs may be also be configured here.

②  子配置文件夹

/etc/logrotate.d/*

用户自定义配置,方便管理。在这里设置的轮转规则只适用于设置的一个或几个程序。如果没有单独设置,则程序遵循主配置文件的轮转规则。

③ yum日志轮转示例

轮转的目标文件

/var/log/yum.log   在这里查看轮转的信息

vim /etc/logrotate.d/yum  //配置yum的轮转规则

/var/log/yum.log {

missingok //丢失不用找回

#notifempty //空文件不轮转

#maxsize 30k //达到30k就轮转,date or size 任意一个达到就可以轮转

#yearly //每年轮转一次

daily //每日轮转

rotate 3 //保留3份

create 0777 root root //

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值