1.系统日志的作用
查看日志是系统的重要排错手段,系统日志由程序本身产生,rsyslong.service服务是系统用来采集日志的服务。
2.系统日志的分类
/var/log/messages ##系统服务及日志,包括服务的信息,报错等等
/var/log/secure ##认证信息日志
/var/log/maillog ##邮件服务信息
/var/log/cron ##定时任务信息
/var/log/boot.log ##启动信息
我们可以先查看一下这些文件的权限:
2.日志管理服务rsyslog
基础知识:
1).日志设备(日志类型)
auth ##安全/认证信息
authpriv ##安全/认证信息(私人的),ssh,ftp等登录信息的验证信息
cron ##时钟进程信息
ftp ##ftp进程信息
kern ##内核信息(此信息并不能从用户进程中产生)
lpr ##打印
mail ##邮件
mark(syslog)–rsyslog ##服务内部的信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to unix copy, unix主机之间相关的通讯
local 1~7 ##自定义的日志设备
2). 日志级别
debug ##有调式信息的,日志信息最多
info ##一般信息的日志,最常用
notice ##最具有重要性的普通条件的信息
warning ##警告级别
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等严重信息
none ##什么都不记录
注意:从上到下,级别从低到高,记录的信息越来越少,级别越低,产生的信息越多
2. 日志管理:
vim /etc/rsyslog.conf ##系统日志服务配置文件
日志类型.日志级别 /存放文件位置
“注意”:mail.none意思是此文件中不存放关于邮件的日志
重启rsyslog服务,我们就可以看到在/var/log/westos中存放所有的日志:
清空日志内容,重新写入,可以看到/var/log/westos与/var/log/messages中都存在相同的内容:
3. 日志同步
作用:方便对日志进行管理与分析
以下假设接受方为IP=172.25.150.50;发送方为:172.25.150.150
############同步接受方#############
1.关闭防火墙 systemctl stop firewalld
2./etc/rsyslog.conf文件打开相应接口,
$ModLoad i(input)m(module)udp ##加载插件
$UDPServerRun 514 ##打开udp(514)接口
3.重启rsyslog.service systemctl restart rsyslog.service
加载udp传输 模块,开启514端口:
############同步发送方#############
1.etc/rsyslog.conf文件选定发送方
*.* @172.25.254.239(目的主机IP)
2.重启rsyslog.service systemctl restartrsyslog.service
将所有类型,所有级别的日志发送到172.25.150.50主机:
############验证#############
tail -f /var/log/messages ##动态查看日志
在150发送方主机中写入日志:hello word
在50接收方主机中可动态查看写入的日志:
4. 自定义日志格式
vim /etc/rsyslog.conf
###################RULES#################
$template WESTOS, "%timegenerated% %FROMHOST-ID% %syslogtag% %msg%\n"
*.info;mail.none;authpriv.none;cron.none /var/log/messages;WESTOS
具体含义:
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
进行更改后,再查看日志时,就可以看到日志的格式与我们自定义的格式一致:
3.使用journal进行日志管理
与rsyslog 不同,journal 用于直接查看当下在系统内存中的日志,而rsyslog 是将日志采集到文件中,通过查看文件来查看日志
1.日志查看:journalctl
jouralctl ##查看所有日志
##直接查看内存中所有的日志,若reboot重启,内存中数据丢失,则之前日志不存在
journalctl -n(new) 5 ##查看最新后5行的日志
--since 9:20 ##查看从9:20开始的日志
--since 9:00 --until 11:00 ##查看时间段内的日志
##对于不同时期的日志,可以加上具体的年月日时进行查看
-p err ##查看错误日志
-o verbose ##显示日志详细信息
_PID=num _COMM=sshd ##查看指定PID和命令的日志
2.使系统用journal的方式采集日志:
由于journal是直接在内存中读取日志,因此系统重启后,以前的日志就会消失,那么,如何让重启之前的日志仍能保留?
1.创建日志文件:
mkdir /var/log/journal
2.更改日志所属的用户组:
chgrp systemd-journal /var/log/journal
3.更改文件的组的权限(此目录产生的文件全部属于此组):
chmod g+s /var/log/journal
4.重新加载配置文件(不断电): kill -1 进程pid
新建文件:
重新加载配置文件:
重启系统,查看文件/var/log/journal 可以看到重启前的日志(reboot以上为重启之前,以下为重启之后):
4.时间同步
时间同步的意义在于使服务器与客户端之间的时间一致,保证双方的正常通信,那么,如何进行时间同步:
以下假设服务端为IP=172.25.150.50;客户端为:172.25.150.150
#########服务端设置#############
1.vim /etc/chrony.conf
22行:allow 172.25.150/24(对应网段)
29行:local stratum 10
2.重启同步服务:systemctl restart chrony
#########客户端设置#############
1.vim /etc/chrony.conf
只留:server 172.25.150.50(服务端主机的ip) iburst
2.systemctl restart chrony
#########测试#############
chronyc sources -v
5.系统时间管理
1.系统时间查看:timedatectl
RTC time :硬件时间 UTC :标准时间 Local time :本地时间
2.列出所有时区:timedatectl list-timezones
3.设置系统时区:timedatectl set-timezone 指定时区
4.将系统时间改为硬件时间:
timedatectl set-local-rtc 0 ##RTC(RTC时间与UTC同步)
1 ##LOCAL(将RTC时间改为与本地时间同步)
查看:vim /etc/adjtime
设置完成后,我们可以看到硬件时间与标准时间相同:
设置硬件时间与本地时间同步:
5.手动调整系统时间:timedatactl set-time "2018-12-12 12:12:12"