Ping
Einfaches Ping-Tool zur Überwachung und Protokollierung von ausfällen
import subprocess
import time
from datetime import datetime
import os
# IP-Adresse deines Servers
SERVER_IP = "192.168.1.100" # ← bitte anpassen
# Ping-Intervall in Sekunden
PING_INTERVAL = 10
# Logdatei im aktuellen Verzeichnis
LOG_FILE = os.path.join(os.getcwd(), "ping_log.txt")
def ping_server(ip):
try:
# Windows verwendet '-n' statt '-c'
result = subprocess.run(['ping', '-n', '1', ip], stdout=subprocess.DEVNULL)
return result.returncode == 0
except Exception as e:
print(f"Fehler beim Pingen: {e}")
return False
def log_event(message):
with open(LOG_FILE, "a") as f:
f.write(f"{datetime.now()} - {message}\n")
def monitor():
print(f"Starte Überwachung von {SERVER_IP}...\n")
down_since = None
while True:
if ping_server(SERVER_IP):
print(f"{datetime.now()} - Ping erfolgreich.")
if down_since:
duration = datetime.now() - down_since
log_event(f"Server wieder erreichbar. Ausfall dauerte {duration}.")
down_since = None
else:
print(f"{datetime.now()} - ❌ Server nicht erreichbar!")
if not down_since:
down_since = datetime.now()
log_event("Server nicht erreichbar.")
time.sleep(PING_INTERVAL)
if __name__ == "__main__":
monitor()