2020-12-05

Linux日志管理简单介绍、任务一详解、任务二详解

简单介绍
1rsyslog系统日志管理,关心问题:哪类程序—》产生的什么日志----》放到什么地方

2logrotate日志轮转,将大量的日志,分割管理,删除旧日志

任务一详解分为四部
一、处理日志的进程又分为两类
第一类
rsyslogd: 系统专职日志程序。
处理绝大部分日志记录,
系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息

第二类
httpd/nginx/mysql: 各类应用程序,可以以自己的方式记录日志.
讲解对应程序时会逐步介绍。

注释::: 观察 rsyslogd程序
[root@localhost ~]# ps aux |grep rsyslogd
root 717 0.0 0.0 219752 3880 ? Ssl 09: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 //和系统启动相关

以上熟记 以下了解
#tail /var/log/audit/audit.log //系统审计日志
#tail /var/log/mysqld.log //MySQL
#tail /var/log/xferlog //和访问FTP服务器相关
#tail /var/log/wtmp //当前登录的用户(命令:w)
#tail /var/log/btmp //最近登录的用户(命令last)
#tail /var/log/lastlog //所有用户的登录情况(命令lastlog )

网站日志管理分三步安装、调整网络、邀请小伙伴访问你的IP
1、安装
yum install -y httpd #安装httpd
systemctl start httpd #开启httpd
systemctl stop firewalld 关闭防火墙

2、调整网络
选择你下载httpd的虚拟机点击编辑虚拟机设置,打开网络配置器看一下已连接和启动时链接是不是有两个√
然后 systemctl restart network #重启网络

输入命令ip a查看一下自己的ip地址就可以让小伙伴访问了

观察日志 tailf /var/log/httpd/access_log

三rsyslog配置分相关程序、启动程序、相关文件
1、相关程序
yum install rsyslog logrotate
默认已安装

2、启动程序
systemctl start rsyslog.service

3、相关文件
/etc/rsyslog.conf #rsyslogd的主配置文件(关键)
rpm -qc rsyslog /etc/sysconfig/rsyslog #rsyslogd相关文件,(了解一下)
/etc/logrotate.d/syslog和日志轮转(切割)相关(任务二)

四组配置文件
1告诉rsyslogd进程什么日志,应该存到哪里。
#vim/etc/rsyslog.conf

RULES 、 FACILITY&LEVEL 、 规则示意图

RULES
RULES:即规则,是一套生成日志,以及存储日志的策略。
RULES即规则,有三部分组成(由设备+级别+存放位置)
RULES由FACILITY+LEVEL+FILE组成。
authpriv.* /var/log/secure(SSH信息)
mail.* -/var/log/maillog(发邮件)
cron.* /var/log/cron(创建任务)
这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大
*.info;mail.none;authpriv.none;cron.none /var/log/messages
系统日志排除了邮件,认证,计划日志。

FACILITY&LEVEL facility设备、level级别
facility设备分为facility、设备类型
facility是系统对某种类型APP事件的定义。如AUTHPRIV是安全事件,CRON是计划任务事件。用来收集同类程序日志。
#man 3 syslog

设备类型
LOG_SYSLOG syslogd自身产生的日志
LOG_AUTHPRIV 安全认证
LOG_CRON 调度程序(cron and at)
LOG_MAIL 邮件系统mail subsystem
LOG_USER (default) 用户相关
LOG_DAEMON 后台进程
LOG_FTP 文件服务器ftp daemon
LOG_KERN 内核设备kernel messages
LOG_LPR 打印机设备 printer subsystem
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程序
systemctl restart rsyslog.service sshd

4.使用其他终端登录服务器,观察新日志文件。

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

二、工作原理按照配置进行轮转分二部分
1、配置文件种类又分主、子配置文件
主:主配置文件:/etc/logrotate.conf (决定每个日志文件如何轮转)
子:子配置文件夹:/etc/logrotate.d/*自定义配置 便于管理
2、观察主文件和子文件
[root@localhost ~]# ls /etc/logrotate.conf /etc/logrotate.d/
/etc/logrotate.conf
/etc/logrotate.d/:
acpid cups iscsiuiolog ppp rpm subscription-manager up2date wpa_supplicant
conman httpd mgetty psacct setroubleshoot syslog vsftpd.log yum

三、主配置文件介绍
[root@localhost ~]# vim /etc/logrotate.conf
weekly //轮转的周期,一周轮转
rotate 4 //保留4份
create //轮转后创建新文件
dateext //使用日期作为后缀
#compress //是否压缩
include /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轮转, daily or size
#yearly //或者一年一轮转
daily //缩小周期到1天
rotate 3 //轮转保留3次
create 0777 root root
}

三、测试又分三部
1错误示范
#/usr/sbin/logrotate /etc/logrotate.conf //手动轮转
#ls /var/log/yum*
/var/log/yum.log 文件只有一个。因为日期没变

2、正确示范
修改时间,手动触发轮转
#date 04011000 date 月日时分 把时间向未来推移
#/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
#ls /var/log/yum* 日志文件已经出现多个

3关于时间
#grep ‘yum’ /var/lib/logrotate/logrotate.status //记录所有日志文件最近轮转的时间
“/var/log/yum.log” 2019-3-31-10:0:23 //如果没有轮转过,第一次只有记录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值