zabbix監控伺服器時間問題

2022-08-28 13:36:20 字數 3112 閱讀 3701

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 監控伺服器時間是否正確

今天由於偶然間發現部分伺服器的時區不對,被要求將伺服器的時區改正過來,並監控時區的變化。由於之前所有伺服器上都搭建好了zabbix agent,故想到用zabbix進行監控。查閱了相關資料,在此分享建立監控步驟。1.在templates 中新增triger,configure templates,找...

zabbix 監控伺服器配置

一 監控 向運維人員報告系統的運 況 吞吐量,反應時間,使用率 以便於提前發現問題。二 監控的資源 1 公開資料 web,ftp,ssh,資料庫,tcp udp等應用服務 2 私有資料 cpu,記憶體,磁碟,網絡卡,使用者,程序等執行資訊 三 系統監控命令 ps 程序,uptime cpu負載,fr...

zabbix監控windows伺服器

實驗宣告 本實驗教程僅供研究學習使用,請勿用於非法用途,違者一律自行承擔所有風險!zabbix監控windows伺服器 zabbix是開源的監控平台,內建很多模板,本實驗,使用自帶模板,建立windows伺服器的常規監控項,用於監測伺服器資源,觀察伺服器是否被資源濫用,如挖礦等行為。兩台機器 一台,...