linux系统下日志的管理

34 篇文章 0 订阅

rsyslog 系统日志管理

rsyslogd:系统专职日志程序。处理绝大部分日志记录,系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息
hpptd/nginx/mysql:各类应用程序,可以以自己的方式记录日志。
rsyslogd程序的进程

[root@localhost ~]# ps aux | grep rsyslogd
root       4867  0.0  0.2 214452  2848 ?        Ssl  15:05   0:00 /usr/sbin/rsyslogd -n

常见的日志文件
tail -10 /var/log/messages
系统主日志文件
tail -f /var/log/messages
动态查看日志文件的尾部
tailf /var/log/secure
认证,安全
tail /var/log/yum.log
yum
tail /var/log/maillog
跟邮件postfix相关
tail /var/log/cron
crond,at进程产生的日志
tail /var/log/dmesg
和系统启动相关
网站日志管理

[root@localhost ~]# yum install -f httpd
[root@localhost ~]# systemctl start httpd(启动程序)
[root@localhost ~]# syatemctl stop fiewalld (关闭防火墙)
[root@localhost ~]# systemctl restart natwork(重启网络)
输入你的服务器IP即可进行浏览
tailf /var/log/httpd/access_log(查看自己的网站日志)

rsyslogd配置

1。相关程序
yum install rsyslog logrotate (默认已安装)
2.启动程序
systemctl start rsyslog.service
3.相关文件
rpm -qc rsyslog (检查程序是否已安装)
/etc/rsyslog.conf (rsyslogd的主配置文件)
/etc/sysconfig/rsyslog(rsyslogd相关文件,定义级别)
/etc/logrotate.d/syslog(和日志轮转相关)
主配置文件
RULES:即规则。是一套生成日志以及存储日志的策略。由设备+级别+存放位置组成
authpriv.* /var/log/secure (SSH信息)
mail.* -/var/log/maillog (发邮件)
cron.* /var/log/cron (创建任务)
符号 - 表示是使用异步的方式记录,因为日志一般会比较大
.info;mail.none;authpriv.none;cron.none /var/log/messages
系统日志排除了邮件,认证,计划日志。
facility:是系统对某种类型APP事件的定义。如AUTHPRIV是安全事件,CRON是计划任务事件。用来收集同类程序日志。
[root@localhost ~]# man 3 syslog
设备类型
LOG_SYSLOG
syslogd自身产生的日志
LOG_AUTHPRIV
安全认证
LOG_CRON
调度程序
LOG_MAIL
邮件系统
LOG_USER
用户相关
LOG_DAEMON
后台进程
LOG_FTP
文件服务器ftp daemon
LOG_KERN
内核设备kernel messages
LOG_LPR
打印机设备
LOG_LOCAL0 through LOG_LOCAL7
用户自定义设备
level级别
LOG_EMERG
紧急,致命,服务无法继续运行,如配置文件丢失
LOG_ALERT
报警,需要立即处理,如磁盘空间使用95%
LOG_CRIT
致命行为
LOG_ERR
错误行为
LOG_WARNING
警告信息
LOG_NOTICE
普通,重要的标准信息
LOG_INFO
标准信息
LOG_DEBUG
调试信息,排错所需,一般不建议使用
程序类型示例
关于程序和设备的联系问题,程序自身会决定将日志交给哪类设备。如SSH程序会选择安全类设备。这一点由开发者定义
1.修改ssh程序的设备类型
vim /etc/ssh/sshd_config
#SyslogFacility AUTHPRIV
修改为
#SyslogFacility LOCAL5
2.修改rsyslog程序的规则
vim /etc/rsyslog.conf
local5.
/var/log/serverzz
3.重启rsyslog程序和ssh程序
systectl restart rsyslog.service sshd
4.使用其他终端,登录服务器,观察新日志文件。

logrotate日志轮转

日志,记录了程序运行时的各种信息。通过日志可以分析用户行为,记录运行轨迹,查找程序问题。可惜磁盘的空间是有限的。日志轮转就像汽车里的行车记录仪,记录的信息再重要也只能记录最后一段时间发送的事。为了节省空间和整理方便,日志文件经常需要按时间或大小等维度分成多份,删除时间久远的日志文件
配置文件种类
/etc/logrotate.conf
主配置文件,决定每日日志文件如何轮转
/etc/logrotate.d/*
子配置文件夹,自定义配置,便于管理
主配置文件价绍
[root@localhost ~]# vim /etc/logrotate.conf
weekly 轮转的周期,一周轮转
rotate 4 保留四份
create 轮转后创建新文件
dateext 使用日期作为后缀
#compress 是否压缩
inclde /etc/logrotate.d 包含该目录下的子配置文件

/var/log/wtmp {
monthly 一月轮转一次
minsize 1M 最小达到1M才轮转,monthly and minsize(同时达到两个条件)
create 0664 root utmp 轮转后创建新文件,并设置权限
rotate 1 保留一份
}

/var/log/btmp{
missingok 丢失不提示
monthly 每月轮转一次
create 0600 root utmp 轮转后创建新文件,并设置权限
rotate 1 保留一份

yum日志轮转示例
轮转的目标文件/var/log/yum.log
vim /etc/logrotate.d/yum
/var/log/yum.log {
missingok (丢失不执行)
#notifempty (空文件不轮转)
#maxsize 30K (达到30K轮转)
#yearly (或者一年以轮转)
daily (缩小周期到1天)
rotate 3 (轮转保留3次)
create 0777 root root
}
测试
修改时间,手动触发轮转
date 08070000 (把时间向未来推移)# /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status/etc/logrotate.conf
ls /var/log/yum*
grep yum /var/lib/logrotate/logrotate.status(记录所有日志文件最近轮转的时间)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值