一、rsyslog服务
这个服务时linux系统中采集日志的服务,下面我们用实验来证明它的作用:
1##为了看的更清楚,我们先清空一次/var/log/message中的日志,然后重启sshd服务,再查看message中的日志内容,如下图:
发现重启sshd这一动作已经被记录进了messages这个日志文件中。
##2.下来我们试着关掉rsyslog这个服务,然后再清除掉messages中的日志内容,再重启sshd服务,再看messages文件,如图:
系统已经没有再采集日志了。
##3.现在我们打开rsyslog这个服务,看结果如何:
所以,我们发现rsyslog这个服务软件是提供系统中日志采集这项工作的。
二、自定义日志采集路径和格式:
再定义日志采集格式和路径之前,我们得先知道都有什么类型什么级别的日志,以及日志存放在系统的什么位置。
#系统日志存放位置:
/var/log/messages 服务信息日志
/var/log/secure 系统登陆日志
/var/log/cron 定时任务日志
/var/log/maillog 邮件日志
/var/log/boot.log 系统启动日志
#日志的类型:
auth 安全和认证相关消息
authpriv ssh,ftp等登陆信息的验证信息
cron 系统定时任务cront和at产生的日志
ftp ftp守护进程产生的日志
kern 内核产生的日志
lpr 打印产生的日志
mail 邮件收发信息
syslog syslogd服务产生的日志信息
user 用户程序产生的日志信息
#日志等级:
debug 一般的调试信息说明
info 基本的通知信息
notice 普通信息,有一定重要性
warning 警告信息,但不影响系统和服务的运行
err 错误信息,会影响服务或系统的运行
crit 临界状态信息,比err等级还严重
alert 警告状态信息,必须立即处理
emerg 疼痛等级信息,系统已经无法使用
none 什么也不记录
#连接符号
. 该等级以及该等级以上的日志都记录下来
.= 记录所需等级的日志,其它不记录
.! 除该等级外的日志信息都记录
* 所有的日志都记录
以上就是日志的一些基本概念,下来我们开始自己定义日志格式和路径:
什么类型的日志.什么级别的日志 /var/log/aporai ###############日志采集规则
#######路径定义
若我们要指定一个日志文件,他很包容,存放任何日志,怎么做呢?
#1.先在rsyslog服务的配置文件中添加相关信息:
vim /etc/rsyslog.conf
#2.然后重启服务,接着重启sshd服务。最后测试,查看该指定的目录下的内容:
发现我们定义的日志文件已经存放了系统的日志,如果正常只要系统中产等的日志都会记录到该文件下。
#############定义采集格式
#1. 同样在rsyslog的配置文件中进行配置,如下图:
FROMHOST-IP 显示主机ip
timegenerated 显示日志时间
syslogtag 显示日志记录目标
msg 显示日志内容
#2.上面的图片中还有一个wow,它就等于后面设定的格式,如果在后面的配置中要用到该格式,只需把WOW加在其后,所以它是全局生效的,WOW可以是使用任意字符,看个人喜好定义。如下图:
#3.然后重启服务,查看我们该的格式其作用没:
没问题,是按照我们定义的格式显示的。
三、日志的远程同步实验
实验环境:两台虚拟机,server这台作为发端,desktop这台作为收端。
实验目的:为了实现日志的远程同步,实现企业中日志管理的简易性。
实验步骤:
#1.先配置发端,下面的配置中 @代表udp传输,整个意思是把server这台虚拟机上的所有日志向ip为172.25.254.113的这台主机发送一份。
#2.配置收端,意思是打开udp对该服务的端口,同意传过来的日志。最后要记得关掉收端的防火墙。
#3.重启服务,然后测试,在发端产生日志,看收端能否收到:
此时收端已经收到发端的日志。
四、时间同步实验:
实验环境:两台虚拟机,server作为提供同步时钟的服务器,desktop作为客户端。
所需软件:chroy
实验目的:
实验步骤:
#1.先配置服务端。分别配置的内容如22、30行所示,22行代表允许同步该主机时钟的网段,30行代表本机作为时间源,不同步其它主机。
#2.配置客户端。只需指定该主机要同步哪台主机服务器。
#3.测试:配置好两台主机后记得要重启服务,然后用该命令在客户端测试:chronyc sources -v
看见左下角^*的标志,说明时钟同步成功。
五、timedatectl:管理时间系统
timedatectl #########查看当前系统的时间系统设置
Local time:代表本地时间
Universal time:表世界时间
RTC time:代表硬件时间
Time zone:时区
# timedatectl set-local-rtc 1 #######设置硬件时间和本地时间一致
timedatectl set-local-rtc 0 #######设置硬件时间和格林威治时间一致
# timedatectl set-time "2018-10-18 20:20:00"
六、journal对日志的管理:
##1. journalctl #########查看内存中的所有日志
journalctl -n 5 ########## 查看最近产生的3条日志
--since 9:20 ############ 查看自从20:30开始的日志
-p err ############# 查看错误日志信息
-o verbose F########### 查看日志的详细信息
_PID=num _COMM=sshd ############查看指定Pid和命令的日志
##2.关于实现日志永久保存的方法:
#首先创建日志目录,并加特殊权限和改用户组为systemd-journal:
#重新加载配置文件(不断电加载)
#重新启动系统测试,如图所示:
一个是历史目录,一个是当前目录。