zabbix监控服务器时间问题
zabbix中有自带对linux服务器时间进行监控的模板,用的key是system.localtime返回当前的系统时间,而配置tigger报警时是用的fuzzytime(N)方法,该方法是将返回的系统时间与监控服务器的时间进行对比,如果大于N,则报警。
存在一下3个问题:
1、监控服务器并不一定是ntp服务器:这种情况下也就说是系统时间是与非NTP服务器对比的时间。
2、取到被监控系统的时间,然后再返回给监控服务器,当监控项数量大,或监控出现延时队列的时候。就会产生误报。
3、对于windows server服务器没有相应的模版。
正好业务上有一批搭载系统为windows server的服务器,而业务对时间要求比较高。
下面是我的解决办法:
第一,利用下面的bat脚本设置windos时间同步服务器
@echo off
@REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters /v NtpServer /t REG_SZ /d "10.13.255.1,0x9\0 10.13.255.2,0x9\0 0.cn.pool.ntp.org,0x9" /f
@echo off
@REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters /v Type /t REG_SZ /d NTP /f
@echo off
echo ------------------------------------
@echo off
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /t REG_DWORD /d 60 /f
@echo off
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config /v MaxAllowPhaseOffset /t REG_DWORD /d 3600 /f
@echo off
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config /v MaxNegPhaseCorrection /t REG_DWORD /d 3600 /f
@echo off
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config /v MaxPosPhaseCorrection /t REG_DWORD /d 3600 /f
@echo off
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config /v PhaseCorrectRate /t REG_DWORD /d 7 /f
@echo off
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config /v MinPollInterval /t REG_DWORD /d 3 /f
@echo off
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config /v MaxPollInterval /t REG_DWORD /d 4 /f
@echo off
sc triggerinfo w32time start/networkon
@echo off
gpupdate /force
@echo off
w32tm /resync
@echo off
net stop w32time
net start w32time
说明:
"10.13.255.1,0x9\0 10.13.255.2,0x9\0 0.cn.pool.ntp.org,0x9"
以上地址只适用于本人的托管机房
第二编写用于对比时间的python脚本
import time
import ntplib
import sys
import os def main():
try:
ntp_client = ntplib.NTPClient()
response = ntp_client.request('s2g.time.edu.cn')
ntp_timeStamp = response.tx_time
ntp_date = time.strftime('%Y-%m-%d', time.localtime(ntp_timeStamp))
ntp_time = time.strftime('%X', time.localtime(ntp_timeStamp))
except:
print u'无法获取到s2g.time.edu.cn上面的时间戳'
sys.exit() '''获取本地服务器时间戳'''
local_timeStamp = time.time() '''获取之间的差值'''
diff = abs(ntp_timeStamp - local_timeStamp)
print diff if __name__ == '__main__':
main()
windows下可以使用pyinstaller打包成exe可执行文件
第三在zabbix_agentd.conf中添加自定义的key
UserParameter=custom.timediff.count,"D:\bat\get_time.exe"
重启zabbix服务
第四添加监控和触发器,本人设置当时间不一致超过3秒就出发报警。
这个,相信大家都会,就不多说了
第五触发报警后,可在服务器上执行
同步时间
w32tm /resync
zabbix监控服务器时间问题的更多相关文章
- linux zabbix监控服务器搭建
搭建Zabbix监控服务器 准备运行环境(lamp) [root@zhuji1 ~]# yum -y install httpd [root@zhuji1 ~]# yum -y install php ...
- Zabbix监控服务器磁盘I/O
一.场景说明: 需要使用Zabbix监控服务器上各个磁盘的I/O使用率,当zabbix自身带的item无法满足我们的时候,则需自定义item. 包括: 磁盘读的次数 磁盘读的毫秒数 磁盘写的次 ...
- 部署zabbix监控服务器,部署主动监控
1.1部署服务运行环境 LNMP#yum -y install gcc pcre-devel zlib-devel openssl-devel #tar -zxvf nginx-1.12.2.ta ...
- zabbix监控服务器部署
1.服务器安装lamp环境 [root@monitor ~]# yum install gcc gcc-c++ autoconf httpd php mysql mysql-server php-m ...
- Zabbix监控服务器异常IP登录
保存下面的脚本到任意路径 名字.py 修改属组和权限: chown zabbix:zabbix * chmod 755 * 演示的路径为:/usr/local/zabbix/scripts/ # -* ...
- zabbix告警时间和恢复时间相同的解决方法
出现原因:在动作,恢复操作中,恢复时间成了{EVENT.DATE} {EVENT.TIME},所以和告警时间相同. 解决方法:将{EVENT.DATE}{EVENT.TIME}改成{EVENT.DAT ...
- Zabbix 监控服务器
Zabbix 操作系统 :CentOS7.5 两台服务器: server端:192.168.206.6 client 端: 192.168.206.3 zabbix : 4.0 mariiadb : ...
- zabbix 监控服务器的TCP状态
本文介绍如何监控TCP的11种状态: 1.命令选择: ss or netstat netstat 在 Centos7上已经不再支持,ss 打印基于socket的统计信息,实际运行下来,ss的速度比ne ...
- Zabbix(二)
zabbix 监控第一台服务器 https://blog.51cto.com/5001660/2136303 一.搭建一台测试服务器 1.安装一台centos7操作系统 配置网络: vim /etc/ ...
随机推荐
- https证书pfx 生成 pem,crt,key
(1)将.pfx格式的证书转换为.pem文件格式: openssl pkcs12 -in xxx.pfx -nodes -out server.pem (2)从.pem文件中导出私钥server ...
- C 标准库 - string.h之memcmp使用
memcmp Compare two blocks of memory. Compares the first num bytes of the block of memory pointed by ...
- 在进行make之前,configure的时候,请先清理config.cache
在进行make之前,configure的时候,请先清理config.cache
- linux 下vim的使用(必看)
vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ...
- 人脸识别(基于Caffe)
人脸识别(基于Caffe, 来自tyd) 人脸识别(判断是否为人脸) LMDB(数据库, 为Caffe支持的分类数据源) mkdir face_detect cd face_detect mkdir ...
- PHP调用百度api生成短网址&根据短网址恢复长网址
接口api文档地址:http://dwz.cn/#/apidoc?_k=i9ev5p 代码demo header("Content-type: text/html; charset=utf- ...
- 九: 操作提示(js版本)
一.toast 消息提示框 他用到了一个wx.showToast(object) 这样一个方法.作用是显示提示框. /* ---page/test/test.wxml----*/ <butt ...
- 打印插件--PAZU
PAZU对打印控制实现了: 2.1 设置页眉页脚 2.2 指定纸张大小 2.3 设置纸张方向 2.4 设置页边距 2.5 选择指定的打印机 2.6 无需用户确认,JS直接调用打印预览 2.7 无需用户 ...
- jenkins 参数化构建过程
构建项目时我们可能需要切换到另一个分支编译,或者说每次编译版本都要加1,这时候我们可以改配置或者改脚本文件,这显然不是一个好的方式,那么如何能在编译前让用户输入参数呢?jenkins早就为我们考虑好 ...
- N个必备的实用jQuery代码段
jQuery(function() { /* <input type="password" name="pass" id="pass" ...