Linux系统基础(10)--日志管理及时间同步

实验环境:

需要两台处于同一网段的虚拟机:
client : 172.25.254.10
server : 172.25.254.20

systemctl stop firewalld		#暂时先关掉火墙

一.journald

服务名称:systemd-journald.service
日志查看工具:journalctl
默认日志存放路径: /run/log

1.查看日志

查看日志基本方式

journalctl -n 3								#日志的最新3条
journalctl --since "2020-05-01 12:00:00"	#显示12:00后的日志
journalctl --until "2020-05-01 11:00:00"    #显示11:00前的日志 

日志显示方式

journalctl -o short				#经典模式显示日志
journalctl -o verbose			#显示日志全部字节
journalctl -o export			#适合传出可备份的二进制格式
journalctl -o json				#js格式显示日志

显示指定级别日志

journalctl -p [等级]|[类型]
#等级所对应类型如下:
0	emerg	系统的严重问题日志
1	alert	系统中立即要更改的信息
2	crit	严重级别会导致系统软件不能正常工作
3	err		程序报错
4	warning	程序警告
5	notice	重要信息的普通日志
6	info	普通信息说明
7	debug	程序排错信息
journalctl -F PRIORITY			#查看可控日志级别
journalctl -u [服务名称]			#查看指定服务的日志
journalctl --disk-usage			#查看日志大小
journalctl --vacuum-size=1G		#设定日志存放大小(超过后新日志覆盖)
journalctl --vacuum-time=1W     #日志最长存放时间
journalctl -f					#实时监控日志

2.用journald服务永久存放日志

日志默认存放在/run/log/journal目录下,系统重启后日志会被清理,只会显示系统重启以后的日志。
如何解决以上问题:

mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service

二.rsyslog

服务名称:rsyslog.service
系统服务日志,常规信息,服务报错:/var/log/messages
系统认证信息日志:/var/log/secure
系统邮件日志信息:/var/log/maillog
系统定时任务信息:/var/log/cron
系统启动日志信息:/var/log/boot.log
配置文件:/etc/rsyslog.conf

1.自定义日志存放路径

# 1.进入rsyslog配置文件
vim /etc/rsyslog.conf

# 2.按照以下格式增加或修改配置文件
[日志类型].[日志级别]			[日志存放路径]

*.*                   			 /var/log/test
#上面一行表示将所有类型所有级别的日志存放到test目录中
*.* ;authpriv.none          	 /var/log/test                  
#上面一行表示把系统中除了authpriv之外所有级别的日志存放到test中

日志类型
auth			用户认证
authpriv		服务认证
cron			时间任务
kern			内核类型
mail			邮件
news			系统更新信息
user			用户
 
日志级别
debug			程序排错信息
info			程序常规运行信息
notice			重要信息的普通日志
waring			程序警告
err				程序报错
crit			严重级别会导致系统软件不能正常工作
alert			系统中立即要更改的信息
emerg			系统的严重问题日志
none			不采集

2.更改日志采集格式

1.定义日志采集格式
vim /etc/rsyslog.conf
$template TEST_FORMAT, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP%
%syslogtag% %msg%\n"

# TEST_FORMAT:格式名称
# %FROMHOST-IP%:日志来源主机IP
# %timegenerated%:日志生成时间
# %syslogtag%:日志生成服务
# %msg%:日志内容
# \n:换行

2.修改配置文件使用以上重新定义的格式
vim /etc/rsyslog.conf
*.*		         	/var/log/test;TEST
module(load="builtin:omfile" Template="TEST_FORMAT") 
#修改以上两行

3.日志远程同步

目的是将server端的日志同步到client端

1.在client端设定接受所有人的日志
systemctl stop firewalld

vim /etc/rsyslog.conf
module(load="imudp")					#打开日志接受插件
input(type="imudp" port="514")			#指定插件使用接口

systemctl restart rsyslog				#重启服务

ss -antlupe|grep 514					#查询端口是否重启成功

2.在server端设定发送日志到client
vim /etc/rsyslog.conf
*.* 		@172.25.254.10

systemctl restart rsyslog

测试:
1.使用以下命令清空client server日志

> /var/log/messages #使用此命令清空client server日志

2.使用以下命令

logger hahatest

3.在client端

cat /var/log/messages

三.timedatectl

timedatectl 主要用来操作系统日期和时间

timedatectl									#查看系统时间
timedatectl set-time "2022-02-02 20:20"		#设定系统时间
timedatectl list-timezones					#显示系统的所有时区
timedatectl set -timezone "Asia/Shanghai"	#设定系统时区
timedatectl set-local-rtc 0					#设置系统时间为UTC时间
timedatectl set-local-rtc 1					#设置系统时间为local时间

四.时间同步服务

1.简介

  • NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。NTP授时网站:http://www.ntp.org.cn/pool.php
  • chrony:实现NTP协议的的自由软件。可使系统时钟与NTP服务器,参考时钟(例如GPS接收器)以及使用手表和键盘的手动输入进行同步。还可以作为NTPv4(RFC 5905)服务器和对等体运行,为网络中的计算机提供时间服务。设计用于在各种条件下良好运行,包括间歇性和高度拥挤的网络连接,温度变化(计算机时钟对温度敏感),以及不能连续运行或在虚拟机上运行的系统。通过Internet同步的两台机器之间的典型精度在几毫秒之内,在LAN上,精度通常为几十微秒。利用硬件时间戳或硬件参考时钟,可实现亚微秒的精度

2.ntp

1.手动同步
ntpdate NTP服务器的IP地址或域名
如:ntpdate cn.ntp.org.cn

2.自动同步
①启动ntpd服务
systemctl start ntpd
②把ntpd服务追加到系统开机启动项中
systemctl enable ntpd

3.chrony

chrony 的优势

  1. 更快的同步,从而最大程度减少了时间和频率误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用
  2. 能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言非常有用
  3. 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响
  4. 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性
  5. 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟

服务名称: chronyd.service
配置文件: /etc/chrony.conf

client同步server时间:

1.在server中
vim /etc/chrony.conf
allow 172.25.254.0/24			#允许172.25.254.0网段主机同步时间
local stratum 10				#开启时间同步服务器功能并设定级别为 10

systemctl restart chronyd.service
systemctl stop firewalld

2.在client中
vim /etc/chrony.conf
pool 172.25.254.20 iburst

systemctl restart chronyd.service

使用 chronyc sources -v 和 date命令查看效果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux服务器时间同步可以通过NTP协议来实现。具体步骤如下: 1.安装NTP服务:在终端中输入以下命令进行安装 ```shell yum install ntp ``` 2.配置NTP服务:在终端中输入以下命令进行配置 ```shell vi /etc/ntp.conf ``` 在打开的文件中添加如下内容: ```shell server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst server ntp3.aliyun.com iburst ``` 这里以阿里云的NTP服务器为例,你也可以使用其他的NTP服务器。 3.启动NTP服务:在终端中输入以下命令进行启动 ```shell systemctl start ntpd ``` 4.设置NTP服务开机自启:在终端中输入以下命令进行设置 ```shell systemctl enable ntpd ``` 5.让集群自己同步时间:有两种方式 第一种方式:通过crontab来完成同步,推荐这种,容易控制时间同步频率。所有子节点配置定时任务,半分钟同步一次,命令如下: ```shell crontab -e ``` 在打开的文件中添加如下一条信息: ```shell 30 * * * * /usr/sbin/ntpdate master的ip或域名 >> /root/ntpdate.log 2>&1 ``` 后期需要观察一下/root/ntpdate.log中有没有定时同步时间的运行日志。 第二种方式:通过chrony来完成同步,命令如下: ```shell yum install chrony systemctl start chronyd systemctl enable chronyd ``` 6.检查时间同步是否成功:在终端中输入以下命令进行检查 ```shell timedatectl ``` 如果输出结果中的NTP synchronized为yes,则表示时间同步成功。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值