使用python监控NTP系统(时钟服务器)

    技术2022-07-10  137

    使用python监控NTP系统(时钟服务器)

    背景需求设计实现

    背景

    背景很简单,内部NTP系统出现故障,时间不准确,且误差很大。

    需求

    监控NTP系统运行状态,与正确时间进行对比,并计算偏差值。

    设计

    利用python模拟NTP client,分别从内部NTP系统和Internet NTP系统获取时间,并计算2个时间的差值。

    实现

    实现起来也很简单,用ntplib 和 time 2个库搞定。

    简要说明一下: 1.‘pool.ntp.org’ 是来自互联网的时间服务器虚拟集群。 2.ctime函数将类似‘16574833.8934’格式时间转换为易读字符串格式。 3.可使用schedule库将程序定时执行,取相应返回值。 4.前端可以使用grafana或splunk等进行展示。

    示例代码如下:

    import ntplib import time ntp_client = ntplib.NTPClient() response_outside= ntp_client.request('pool.ntp.org').tx_time print('互联网时间: ', time.ctime(response_outside)) response_inside = ntp_client.request('192.168.100.5').tx_time print('内部时间: ', time.ctime(response_inside)) print('时间差值: ', response_inside - response_outside)

    运行结果:

    Processed: 0.009, SQL: 9