Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import subprocess
- import time
- import os
- class point:
- def __init__(self, ip = ' ', info = ' '):
- self.ip = ip
- self.info = info
- self.status = 'Down'
- self.upd_time = time.localtime()
- self.upd_day = self.upd_time.tm_mday
- self.upd_hour = self.upd_time.tm_hour
- self.upd_min = self.upd_time.tm_min
- self.upd_status = self.status
- def uptime(self):
- self.upd_time = time.localtime()
- if self.upd_status != self.status:
- self.upd_day = self.upd_time.tm_mday
- self.upd_hour = self.upd_time.tm_hour
- self.upd_min = self.upd_time.tm_min
- self.upd_status = self.status
- d = self.upd_time.tm_mday - self.upd_day
- h = self.upd_time.tm_hour - self.upd_hour
- m = self.upd_time.tm_min - self.upd_min
- return d, h, m
- def ping(self):
- ping_host = subprocess.Popen('ping ' + self.ip + ' -c 1', shell = True, stdout = subprocess.PIPE)
- ping_resault = str(ping_host.stdout.read())
- i = int(ping_resault.find('received')) - 2
- if ping_resault[i] != 0:
- self.status = 'Up'
- return self.status
- def show_point(self):
- t = self.uptime()
- print(self.ip.ljust(18), self.ping().ljust(5),
- '{0} day {1} hour {2} min'.format(t[0], t[1], t[2]).ljust(20), self.info)
- exit = False
- monitoring_points = []
- set_points = open('set_points', 'r')
- for line in set_points:
- set_point = line.split('/')
- monitoring_points.append(point(set_point[0], set_point[1]))
- while exit == False:
- for i in range(len(monitoring_points)):
- monitoring_points[i].ping()
- monitoring_points[i].show_point()
- time.sleep(10)
- os.system('clear')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement