From 5ff1cecc0217aa353fae70f92063c1d9bd3e1cd8 Mon Sep 17 00:00:00 2001 From: Felix The Cat Date: Sun, 12 May 2019 18:56:02 +0000 Subject: [PATCH] Added network monitoring script --- config.json.sample | 3 +++ monitor_network.py | 27 +++++++++++++++++++++++++++ requirements.txt | 0 3 files changed, 30 insertions(+) create mode 100644 config.json.sample create mode 100755 monitor_network.py create mode 100644 requirements.txt diff --git a/config.json.sample b/config.json.sample new file mode 100644 index 0000000..99ec7af --- /dev/null +++ b/config.json.sample @@ -0,0 +1,3 @@ +{ + "server": "192.168.0.5" +} \ No newline at end of file diff --git a/monitor_network.py b/monitor_network.py new file mode 100755 index 0000000..f1f9ac9 --- /dev/null +++ b/monitor_network.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +import json +import time +import subprocess +from subprocess import CalledProcessError + +import logging +import logging.handlers as Handlers + +logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') +log = logging.getLogger() +log.setLevel(logging.DEBUG) + +file = open('config.json', mode='r') +config = json.loads(file.read()) +file.close() + +while True: + try: + log.info("Pinging server " + config['server']) + output = subprocess.check_output(['ping', '-c', '5', config['server']], stderr=subprocess.STDOUT) + log.info("Ping OK") + time.sleep(5) + except CalledProcessError as e: + log.error(e.output.decode('ascii', 'ignore')) + log.error("Will reboot now") \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e69de29