rsyslog-日志管理 logrotate-日志轮转

日志的管理的方式,以及怎么自己写一个管理日志的小脚本,其实也不能算脚本

管理日志的进程

rsyslogd:绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron… httpd/nginx/mysql: 可以自己的方式记录日志

ps aux | grep rsyslogd | grep -v grep   # 最后这个管道后面内容则是将本次执行的命令过滤掉,不显示
root        1221  0.0  0.9 166840 14068 ?        Ssl  15:26   0:01 /usr/sbin/rsyslogd -n

# 日志主配置文件
/etc/rsyslog.conf

常见的日志类型

tail -f /var/log/messages		        	#动态查看日志文件的尾部,系统主日志文件
tail -f /var/log/secure		            #记录认证、安全的日志
tail /var/log/maillog			            #跟邮件postfix相关
tail /var/log/cron			                #crond、at进程产生的日志
tail /var/log/dmesg			              	#和系统启动相关
tail /var/log/yum.log                       #yum的日志
tail -f /var/log/mysqld.log                 #MySQL日志
tail /var/log/xferlog                  		#和访问FTP服务器相关
/var/log/boot.log                           #系统启动过程日志记录存放
w					   #当前登录的用户 /var/log/wtmp
last				   #最近登录的用户 /var/log/btmp
第一列,用户名;
第二列,终端位置,/pts/0 (伪终端)意味着从诸如ssh或者telnet的远程链接的用户,tty(teletypewriter)意味着直接连接到计算机或者本地链接的用户;
第三列,登录的ip或者内核。
第四列,开始时间;
第五列,结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机);

lastlog			   #所有用户的登录情况 /var/log/lastlog

日志优先级

日志级别分为:7种日志级别代号0-7
0 debug             #有调试信息的,日志信息最多
1 info              #一般信息的日志,最常用
2 notice            #最具有重要性的普通条件的信息
3 warning           #警告级别
4 err               #错误级别,阻止某个功能或者模块不能正常工作的信息
5 crit              #严重级别,阻止整个系统或者整个软件不能工作的信息
6 alert             #需要立刻修改的信息
7 emerg             #内核崩溃等严重信息
none                #什么都不记录

logrotate日志轮转

logrotate (轮转,日志切割) 
1. 如果没有日志轮转,日志文件会越来越大
2. 将丢弃系统中最旧的日志文件,以节省空间 
3. logrotate本身不是系统守护进程,它是通过计划任务crond每天执行
  • logrotate 配置文件:
主配置文件:/etc/logrotate.conf (决定每个日志文件如何轮转)
副配置文件:/etc/logrotatel.d 下面全都是副配置文件所放的文件夹
  • 语法
配置日志轮转
vim /etc/logrotate.conf	
weekly     			#轮转的周期,一周轮转,单位有年,月,日 
rotate 4			#保留4份 
create				#轮转后创建新文件 
dateext             #使用日期作为后缀 
#compress			#日志轮替时,旧的日志进行压缩 
include /etc/logrotate.d  			 #包含该目录下的配置文件,会引用该目录下面配置的文件

/var/log/wtmp {			          	#对该日志文件设置轮转的方法    
 monthly			                #一月轮转一次  
 minsize 1M			            	#最小达到1M才轮转,否则就算时间到了也不轮转
 create 0664 root utmp		        #轮转后创建新文件,并设置权限   
 rotate 2			                #保留2份 
}

/var/log/btmp {    
 missingok			              	#丢失不提示    
 monthly			                
 create 0600 root utmp		        
 rotate 1			                
} 
  • 选项
vim /etc/logrotate.d/newbee

# 指定日志的位置
/var/log/newbee{   # 日志的文件路径,之后只会为这个路径日志进行轮转

# 在日志轮转前要做的事
prerotate
# 取消隐藏权限a
chattr -a /var/log/newbee
# 结束脚本
endscript
# 上面这一段就是来时日志轮转的时候提前做的事情

# weekly daily monthly yearly
# 以日期为后缀
dateext
# 轮转周期为 1天
daily
# 保留5份日志
rotate 5                 # 必须的,不然无日志轮转后的日志文件生成
# 设置属主属组 权限
create 0644 root root    # 必须的,不然日志轮转之后不生成空文件日志
# 设置压缩
compress



# 轮转之后要做的事情
postrotate
# 再次添加a权限
chattr +a /var/log/newbee
# 结束脚本
endscript
}
  • 手动轮转日志文件
logrotate -f /etc/logrotate.d/newbee     # 手动轮转日志文件   后面跟的路径就是配置轮转的文件
  • 查看记录所有日志文件最近轮转的时间
grep yum /var/lib/logrotate/logrotate.status #查看记录所有日志文件最近轮转的时间
  • 配置项说明
size
触发分割的条件是:1.日志大小达到这个值,和时间周期没有关系。
minsize
触发分割的条件是:1.时间周期到了,2.日志大小达到这个值;两个条件都要满足。
maxsize
触发分割的条件是:1.时间周期到了,2. 日志大小大于这个值;两个条件任何一个满足。

其他知识

  • lrzsz
yum install -y lrzsz
# 上传到linux中
rz
# 下载到本地
sz  文件名
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
rsyslog-kafka是一种将rsyslog日志服务器与Apache Kafka消息队列集成的工具。rsyslog是一个功能强大的开源日志收集器,可用于在Linux系统上收集、处理和转发日志数据。而Kafka是一个高度可扩展的分布式消息系统,用于实时处理和存储大量数据。 通过rsyslog-kafka的集成,我们可以将rsyslog收集到的日志数据发送到Kafka消息队列中,从而实现日志的实时处理和存储。这种集成的好处是可以应对流量大、实时性要求高的日志场景,提高日志的传输速度和处理能力。 使用rsyslog-kafka的过程大致分为以下几步:首先,需要配置rsyslog服务器以收集特定文件或设备的日志数据;然后,配置rsyslog-kafka模块,指定Kafka的主题(topic)和其他相关参数;接下来,rsyslog-kafka将会将收集到的日志数据传输到Kafka消息队列中;最后,消费者可以从Kafka消息队列中实时接收、处理和存储这些日志数据。 rsyslog-kafka具有一些优点。首先,通过使用Kafka作为消息队列,可以轻松地扩展和处理大量的日志数据。其次,rsyslog-kafka提供了高度可配置性,可以根据需求选择日志的格式、过滤器和其他参数。此外,rsyslog-kafka还支持故障转移和高可用性机制,确保日志数据的可靠传输和存储。 总之,rsyslog-kafka是一种强大的工具,可以将rsyslog日志服务器与Kafka消息队列集成,实现高效的日志收集、传输、处理和存储。它为大规模的日志数据场景提供了解决方案,并提供了灵活的配置选项和高可靠性的机制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值