zabbix監控伺服器時間問題

来源:http://www.cnblogs.com/luoliantang/archive/2017/06/16/7026697.html
-Advertisement-
Play Games

zabbix中有自帶對linux伺服器時間進行監控的模板,用的key是system.localtime返回當前的系統時間,而配置tigger報警時是用的fuzzytime(N)方法,該方法是將返回的系統時間與監控伺服器的時間進行對比,如果大於N,則報警。 存在一下3個問題: 1、監控伺服器並不一定是 ...


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腳本

#!/usr/bin/env python
# -*- coding:UTF-8 -*-
import time
import ntplib

 

def get_time():
    ntp_client = ntplib.NTPClient()
    response = ntp_client.request('s2g.time.edu.cn')
    wtime = time.strftime('%Y%m%d%H%M%S', time.localtime(response.tx_time))

    return wtime

 

if __name__ == '__main__':
    networktime = get_time()
    local_time = time.strftime('%Y%m%d%H%M%S')
    difference = abs(int(networktime) - int(local_time))

    print difference

windows下可以使用pyinstaller打包成exe可執行文件

 

第三在zabbix_agentd.conf中添加自定義的key

UserParameter=custom.timediff.count,"D:\bat\get_time.exe"

重啟zabbix服務

 

第四添加監控和觸發器,本人設置當時間不一致超過3秒就出發報警。

這個,相信大家都會,就不多說了

第五觸發報警後,可在伺服器上執行

同步時間

w32tm /resync

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一 前言 看到技術交流群中,有人分享了這個面試題,試的做了下,現在把題目和sql寫下來。 二 題目 1. 日誌表SysLog,欄位:用戶編號(UserID),時間(Time)。 UserID Time 1 2011-04-11 13:10:36.663 1 2011-08-12 13:10:36.6 ...
  • mydumper安裝:http://www.cnblogs.com/lizhi221/p/7010174.html mydumper原理:http://www.cnblogs.com/lizhi221/p/7016062.html myloader原理:http://www.cnblogs.com/ ...
  • Time in ZooKeeper ZooKeeper跟蹤時間的多種方式 1)Zxid:每個ZooKeeper狀態變化將會接收到一個zxid(ZooKeeper Transaction Id)的時間戳。ZooKeeper通過該欄位瞭解所有變化的順序。每次變化都會有一個唯一的zxid,如果zxid1小 ...
  • 標簽:MSSQL/故障轉移 概述 很多人一開始搭建Alwayson的時候對於共用網路位置的選擇不是很重視, 導致後面需要去修改這個路徑。但是怎樣修改這個路徑呢?貌似沒有給出具體的修改選項,但是還是有地方可以進行修改。 資料庫:SQL Server 2014 (SP2) 步驟 在現有的Alwayson ...
  • myloader恢復主要流程 1、首先由myloader主線程完成建庫建表,依次將備份目錄下建庫和建表文件執行應用到目標資料庫實例中; 2、接著myloader主線程會生成多個工作線程,由這些工作線程將所有database.table.*.sql文件中的記錄導入到對應表中,這個階段是並行的,並行粒度 ...
  • 1 安裝目標與規劃 交易系統1台HP DL580 G9伺服器將安裝Oracle11gR2 。 1.1 安裝介質版本 主機名 his1 IP地址 192.168.40.102 Oracle Grid軟體 Oracle DB軟體版本 Oracle Enterprise11g 補丁集版本 Oracle 1 ...
  • Department表 Employee表 查詢結果: 查詢每個部門的人員名稱 首先創建視圖查詢出各個部門的人員名稱: 然後把查詢結果拼接 ...
  • 一、等待事件的相關知識 1.1 等待事件主要可以分為兩類,即空閑(IDLE)等待事件和非空閑(NON-IDLE)等待事件。1). 空閑等待事件指ORACLE正等待某種工作,在診斷和優化資料庫的時候,不用過多註意這部分事件。2). 非空閑等待事件專門針對ORACLE的活動,指資料庫任務或應用運行過程中 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...