#日志产生在内存中,日志由程序本身决定,rsyslog.service 服务是将日志采集并整理存放在硬盘中。
1.1 日志采集规则
cat /var/log/messages #查看系统日志
> /var/log/messages #删除系统日志
systemctl stop rsyslog.service #关闭采集日志服务
(!只是关闭了日志的采集,但日志仍会产生,重新开启后人会采集到之前的日志)
systemctl stop rsyslog.service # 开启日志采集程服务
vim /etc/rsyslog.conf #查看日志的配置文件
systemctl restart rsyslog.service #重启日志采集服务
1.2 #### RULES #### #日志的规则
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages --->日志配置文件中rules规则
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
60,1 54%
*.* 文件名称
日志类型.日志级别 日志存放文件
(1)日志类型
auth 用户登陆日志(pam产生)
authpriv 服务认证日志(sshd认证)
kern 内核日志
cron 定时任务日志
lpr 打印机日志
mail 邮件日志
news 新闻
user 用户相关程序日志
local 1-7 用户自定义日志
(2) 日志级别
debud #系统调试信息
info #常规信息
warning #警告信息
err #报错(级别低,组织了某个功能不能正常工作)
crit #报错(级别高,阻止了整个软件或整个系统不能正常工作)
alert #需要立即修改的信息
emerg #内核崩溃
none #不采集任何日志信息
#### 举 例 解 释 ###
(1)*.info;mail.none;authpriv.none;cron.none /var/log/messages
##将除过邮件日志、服务认证日志、定时任务日志外的所有日志类型的常规信息储存在/var/log/messages 中。
(2)authpriv.* /var/log/secure
##将服务认证日志的日志所有级别信息储存在/var/log/secure中。
##我们自己也可以根据自己需求,按照日志配置文件的规则,在/etc/rsyslog.conf 配置文件中在设定相应的命令。注意修改退出保存后必须重启服务“systemctl restart rsyslog.service”.
1.3 ####日志的远程同步#####
##在系统服务端为了更好的接收到客户端的问题反馈,可以通过同步客户端的日志进行实现,下面介绍具体步骤。
在日志发送方
1. 修改配置文件 vim /etc/rsyslog.conf
*.* @172.25,254,200 用uop方式发送日志
2.重启服务 systemctl restart rsyslog.service
##UOP 相当于短信,直接一次握手,速度快
##TOP 相当于ip,三次握手
在日志接受方
1.修改配置文件 vim /etc/rsyslog.conf
15 #$ModLoad imudp ##接收日志的插件
16 #$UDPServerRun 514 ##接收日志的端口
---> 打开上面两项服务 ---->
15 $ModLoad imudp
16 $UDPServerRun 514
2.重启服务 systemctl restart rsyslog.service
3.关闭防火墙 systemctl stop firewalld ##停止防火墙
systemctl disable firewalld ##禁用防火墙
1.4 ####定义日志采集格式####
##为了便于我们的管理,我们可以定义采集时显示日志时间,客户端IP···,下下面介绍具体方法。
1.修改配置文件 vim /etc/rsyslog.conf
$template 格式名称,“日志采集格式” #定义westos的日志采集格式
*.info;mail.none;authpriv.none;cron.none /var/log/messages;westos #使用westos的日志采集规则
2.重启服务 systemctl restart rsyslog.service
##举例##
$template westos,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
定义westos的日志采集格式
%timegenerated% #日志生成时间
%FROMHOST-IP% #日志来源主机的IP
%syslogtag% #日志生成程序
%msg% #日志生成内容
/n #换行
2.重启服务 systemctl restart rsyslog.service
1.5 ######journalctl######
journalctl ##日志查看工具,直接查看内存中的日志,关机后不能查看之前日志,查看后按q退出查看
journalctl -n 3 ##查看最新三条日志
journalctl -p err ##查看所有的日志报错
journalctl -f ##实时监控日志,用ctrl+c结束监控
journalctl --since1 01:30 --until 01:31
##查看一段时间内的日志
journalctl -o verbose ##查看日志详细参数
journalctl _PID=651 ##直接查看PID为651的程序日志
对systemd-journal管理
##默认此程序只负责对日志进行查看,而不对日志进行保存和采集那么关机后再开机,对日志进行查看,只能查看开机后的日志,系统之前的日志因为保存在内存内,所以开机后就被清空了,那么开机后再用journalctl是看不到的。
如何让systemd-journalctl保存日志到硬盘中
mkdir /var/log/journal ##新建一个目录,注意文件名必须用journal,否则系统识别不出来。
chgrp systemd-journal /var/log/journal ##修改组为systemd-journal
chmod g+s /var/log/journal ##修改目录内文件权限为systemd-journal
killall -1 systemd-journald ##刷新
设置好后可以用下面命令进行测试 ,查看是否可以看到关机前的日志
journalctl
date #显示时间
reboot #重启
journalctl
1.6 #####时间同步#####
为了不被不同主机上时间的不同,而对主机间进行的操作所影响,我们课题通过共享时间来实现。
在服务器端共享时间
1. vim /etc/chrony.conf #进行编辑
29 local stratum 10 #开启共享时间功能,并设置共享级别为10
#这个参数开启后本机不去同步别人的时间到本机
22 allow 172.25.254.0/24 #允许ip前三位为172.25.254的客户端访问
#本机共享时间(0/24 表示ip前三位相同)
2.systemctl restart chronyd.service #重启共享服务
在客户端
vim /etc/chrony.conf #进行编辑
将
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst
改为
server 172.25.254.126 iburst
systemctl restart chronyd #重启共享服务
chronyc sources -v #查看共享状态
##共享状态##
210 Number of sources = 1
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| / xxxx = adjusted offset,
|| Log2(Polling interval) -. | yyyy = measured offset,
|| \ | zzzz = estimated error.
|| | |
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 172.25.254.126 10 6 17 20 -79ns[ -20us] +/- 189us
设置,校正时区
timedatectl list-timezones ##查看所有时区列表
timedatectl set-timezone Asia/Shanghai ##更改时区
timedatectl set-local-rtc 0 ##使用UTC时间校正
vim /etc/adjtime
0.et-timezone Asia/Shanghai 0 0.0
0
UTC
timedatectl set-local-rtc 1 ##使用当地时间校正
vim /etc/adjtime
0.0 0 0.0
0
LOCAL