服务器时间校准是非常重要的,因为很多应用服务都是需要基于时间的,服务器系统时间如果不准确的话就会产生很多问题。虽然我们可以通过部署NTP时间服务器来进行校准,但是有时候感觉还不够保险,而这往往也是很多运维人员忽视的一个地方,认为有NTP校准就万事大吉了,殊不知某种原因会导致服务器的时间仍旧会偏差很大。因此我们最好的办法还是应该把服务器系统时间监测一下,当时间偏差超过我们设置的范围时发送告警通知我们,这样我们才能及时发现问题并进行处理。
我们利用Zabbix监控系统对一台Linux服务器系统时间进行监测。
1.登录Zabbix Web界面,点击配置->主机->创建监控项。键值选择“system.localtime”获取系统时间,默认获取到的值为从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数。可设置单位“unixtime” , 转换为 “yyyy.mm.dd hh:mm:ss”格式。然后可根据实际情况设置自定义监测时间间隔。
2.创建触发器。选择函数为“fuzzytime”,当服务器时间与Zabbix Server之间的时间相差10秒以上时触发告警。
3.查看最新数据,可以获取到这台Linux服务器的时间。
4.测试。登录到这台Linux服务器使用“date”命令设置时间,使之与Zabbix Server服务器时间相差大于10s,此时成功收到触发告警的邮件,测试成功。
这个Zabbix自带的fuzzytime函数是与Zabbix Server服务器时间去进行比较,我们最好的方式当然是去与NTP时间服务器去比较了。如果NTP服务器与Zabbix Server是同一台服务器那这样就解决了。但是大多情况下NTP服务器为另外的一台服务器,那么我们怎么去创建监控呢?大致思路是被监控的Linux主机获取到远程NTP服务器的时间,然后与自己的本地时间进行比较。Linux服务器的话就可以通过编写一个shell脚本,然后通过Zabbix自定义参数监控去实现了。
1.登录到NTP服务器上,安装xinetd服务,这样远程主机就可以通过rdate命令获取到NTP服务器的时间了。
yum install -y xinetd
修改“/etc/xinetd.d/time-stream”配置。“disable = yes”改为“disable = no”。
启动xinetd。
systemctl start xinetd
2.登录到被监控Linux服务器上,测试使用rdate命令可以获取到NTP服务器的时间值。并使用如下命令将从NTP服务器获取到的时间转换成从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数。
date –date=”`rdate 192.168.52.100|sed q|sed ‘s/^.*]\ *//g’`” ‘+%s’
本机获取时间值的命令,也转换为以上格式。
date ‘+%s’
这样我们就可以编写一个shell脚本来比较这两个时间值了。
# vi /usr/share/shell/timediff.sh
#!/bin/sh
NTPTIME=$(date –date=”$(rdate 192.168.52.100 | sed q | sed ‘s/^.*]\ *//g’)” ‘+%s’)
LOCALTIME=$(date ‘+%s’)
if [ $NTPTIME -ge $LOCALTIME ]
then
TIMEDIFF=$(($NTPTIME-$LOCALTIME))
echo “$TIMEDIFF”
else
TIMEDIFF=$(($LOCALTIME-$NTPTIME))
echo “$TIMEDIFF”
fi
赋予脚本可执行权限。
chmod +x /usr/share/shell/timediff.sh
3.编辑zabbix agent配置文件,创建一个用户自定义键值,用来获取这两个时间的差值。
vi /etc/zabbix/zabbix_agentd.conf
…
UserParameter=checktime,sh /usr/share/shell/timediff.sh
配置完成重启Zabbix Agent。
systemctl restart zabbix-agent
4.登录到Zabbix Web界面。创建监控项,键值这里手工输入创建的自定义键值。
5.创建触发器。比如当与NTP服务的时间差值大于10s时,触发告警通知我们。
6. 测试。使用“date”命令改变时间,使之与NTP服务器时间相差大于10s,此时成功收到触发告警的邮件,测试成功。
这样我们利用Zabbix监测Linux系统时间就完成了,下期为大家带来监测Windows系统时间,Widows系统可以使用Python编写一个可执行程序去实现,欢迎大家关注!另外如果有同学需要全面地学习Zabbix监控系统可以订阅我的专栏课程咯~专栏Zabbix 4.4监控系统从入门到实战作者:IT老良29币62人已购查看
好了,这篇文章的内容营销圈就和大家分享到这里,如果大家对网络推广引流和网络创业项目感兴趣,可以添加微信:Sum8338 备注:营销圈引流学习,我拉你进直播课程学习群,每周135晚上都是有实战的推广引流技术和网络创业项目课程分享,当然是免费学!