智一面初中级Linux运维工程师在线评测:http://www.gtalent.cn/exam/interview/eUrdXoILlsGnh6At

自动化运维(ping监控小工具)
需求
场景
实现
需求
实现点到点ping监控。将结果记录到文件中,并打印时间戳。

例如,在A机器部署该工具,监控到B地址的网络连通性。通过不停的ping命令进行检测,将结果写入文本文件中,并增加时间戳。

场景
如怀疑A与B之前网络连通性有问题(丢包或延迟大等问题),可在A部署该工具,7x24小时不停监控连通性状态,并记录日志。

实现
代码:
 

import os
import datetime

#ping检测,每日生成1个日志文件,将结果写入日志文件,并打印时间戳

def ping_test():	
	ping = os.popen("ping www.baidu.com")	
	cur_time = datetime.datetime.now()	
	result = ping.read()	
	log_time = datetime.datetime.now().strftime('%Y-%m-%d')	
	file = open(str(log_time) + "_ping_test.txt", "a")	
	file.write(str(cur_time) +  result + "\n\n")	
	file.close

endtime = datetime.datetime(2020,8,22,10,59,0)

while datetime.datetime.now() < endtime:	
	ping_test()

运行后,在程序同目录生成txt文件,如:

运维工程师QQ在线交流群:580175957