added troub

This commit is contained in:
2025-02-07 20:31:56 -05:00
parent 7b70f4a980
commit 112838d33a
5 changed files with 81 additions and 15 deletions

31
app.py
View File

@ -17,14 +17,41 @@ def load_config():
return json.load(f)
device_status = {}
def update_status():
while True:
config = load_config()
for device in config['devices']:
device_status[device['name']] = ping(device['ip'])
current_status = ping(device['ip'])
previous_status = device_status.get(device['name'], True)
if current_status != previous_status:
diagnostics = run_diagnostics(device)
send_webhook(device, current_status, diagnostics)
device_status[device['name']] = current_status
time.sleep(config['check_interval'])
def send_webhook(device, status, diagnostics):
config = load_config()
webhook_data = {
"device": device,
"status": status,
"timestamp": datetime.now().isoformat(),
"diagnostics": diagnostics
}
requests.post(config['webhook_url'], json=webhook_data)
def run_diagnostics(device):
diagnostics = {}
if device['connection_type'] == 'fiber':
# Add your fiber diagnostic commands here
diagnostics['optical_power'] = subprocess.getoutput('optical-power-check ' + device['ip'])
diagnostics['light_levels'] = subprocess.getoutput('light-level-check ' + device['ip'])
else:
# Add your copper diagnostic commands here
diagnostics['cable_test'] = subprocess.getoutput('ethtool ' + device['ip'])
diagnostics['signal_quality'] = subprocess.getoutput('signal-quality-check ' + device['ip'])
return diagnostics
@app.route('/')
def home():
return render_template('index.html')