智一面初中级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