乾坤大挪移基本概念
张无忌:师傅!日志是什么东西?
杨教主:日志是一种文件类型,我们通常管理的是日志系统。主要包含三类:
1、内核及系统日志:由系统服务rsyslog统一管理,根据主配文件/etc/rsyslog.conf中的设置决定内核消息及其各种系统消息的记录位置
2、用户日志:记录系统用户登录及其退出系统的相关信息,包括用户名、登录终端、登录时间、来源、使用的进程等
3、 程序日志:应用程序自己独立管理的一个日志,记录程序本身运行
过程中的各种事件信息,如:Nginx、Apache服务日志
张无忌:常见的日志文件有哪些?
杨教主:/var/log/boot.log:记录了系统在引导过程中发生的事件,就是Linux
系统开机自检过程显示的信息,如果开机没有异常状况,就不会产生这个文件
/var/log/messages :记录Linux操作系统常见的系统和服务错误信息
/var/log/cron crond 计划任务产生的事件信息
/var/log/maillog 记录电子邮件活动信息
/var/log/lastlog 记录最后一次用户成功登陆的时间、登陆IP等信息
/var/log/secure Linux系统安全日志,记录用户和工作组变化情况、
用户登陆认证情况
/var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用
lastlog查看
/var/log/wtmp 记录用户登录、注销、系统启动、关键等信息,使用
last命令查看
/var/log/btmp 记录失败或者是错误的登录信息和验证 lastb命令查看
乾坤大挪移第一式
温馨提示:应用服务器,以Nginx服务器为例,通过rsyslog服务,将自身的日志存储到日志服务器,方便集中管理。如何在Linux系统上实现这功能呢?
推荐步骤:
注意:要设置防火墙策略允许rsyslog服务的端口号udp/514端口流量通过,或者关闭防火墙
1、修改Nginx服务器配置,并重启服务
修改内容如下图:
2、 修改日志服务器配置,并重启服务
修改内容如下图:
3、 验证:证明Nginx服务器的系统日志发送到了日志服务器
Nginx服务器:执行停止、关闭sshd服务
日志服务器:可查看到相关记录
乾坤大挪移第二式
思考:上面是将Nginx服务器的系统日志,发送到日志服务器了,如果是Nginx服务所产生的日志信息,可不可以呢?我们来做一下!
步骤:
1、 查找Nginx日志文件的绝对路径,注意:编译安装的默认位置是在这里,如不清楚可以用此命令查询,另外,要先访问Nginx服务,才会产生此文件。必须把Nginx服务添加到系统服务里,就是可以用systemctl来控制,才能实现功能。
2、 修改Nginx服务器配置,并重启服务
修改内容如下图:上个实验,步骤2也要执行,省略
3、修改日志服务器配置,并重启服务
同上,省略
4、验证:
一)在Nginx服务器执行以下命令
在日志服务器可以查看到,相关信息
二)验证网页访问,需要开启路由转发功能
在Nginx服务器开启路由转发
用ip地址网页打开
在日志服务器,可查看到相关信息
乾坤大挪移第三式
提示:日志切割,可以有多种方法,这里介绍常用的一种
将日志进行切割,并按照日期存储。
1、 编辑配置文件
输入以下内容:注意,如果不是源码安装,会自动生成此文件,源码安装的日志目录和其他安装方式不一样。以源码编译安装为例。
2、测试:配置文件,如果没有error,证明语法没问题,但是语法没错,还有一种问题是符合语法,但是实现不了功能,比如:你的年龄,可以填写1岁,符合语法,但是与实际年龄不符,依然是错的,但是系统会提示符合语法。
报错处理:我就出现,测试成功,执行报错。根据提示:不带endscript的配置。很明显,没有加结束符,但是,不加结束符,语法测试,应该会报错,检查配置,发现结束符需要单独一行,而我和其他代码,输到同一行。
3、验证: 改正错误,执行切割命令,在指定位置找到,日志文件,成功。
4、方便管理,我们可以,编辑计划任务,让它在特定时间自动运行。