Met Python Server Monitoring Script kunt u controleren of uw server of computer actief en actief is. Het kan u laten zien hoeveel downtime uw computer of server heeft gehad. We zullen server-sockets gebruiken om te controleren of de specifieke poort op een server open is of niet, het Ping-commando om een eenvoudige gewone computer te controleren en de SSL om te controleren of de specifieke server een SSL-verbinding vereist of niet. Voor serverbewaking heb ik de Visual Studio Code Interpreter-tool.
Bestand maken Python.py
Open de Python-interpreter en maak een nieuw bestand met de naam Server.py en opgeslagen op een bepaalde locatie waar het gemakkelijk kan worden geopend. Wanneer het bestand is gemaakt, voegt u als volgt enkele importopdrachten toe om belangrijke pakketten te importeren:
- stopcontact: Om verbinding te maken met verschillende servers op een bepaalde socket via een bepaalde poort
- SSL: Vereist voor het omwikkelen van de mofaansluiting
- Datum Tijd: Wordt gebruikt om te controleren hoe laat de server down of actief was
- Augurk: Wordt gebruikt voor het opslaan van de geschiedenis van de down- en uptime van de computer, en voor het doorgeven van de gegevens van run naar run met dit programma
We gebruiken de platform en subproces pakketten, die ons zullen vertellen welk besturingssysteem we gebruiken, e.g., UNIX of ramen.
Een serverklasse maken
Laten we een klasse maken met de naam Server() en bouwde een eerste methode, die een constructormethode is. We hebben enkele attributen voor de server toegevoegd, bijv.g., elke UNIX of gewone computer. Laten we eens kijken naar elk:
- Naam: specificeer de naam van een server
- Haven: het poortnummer waarmee we verbinding willen maken
- Verbinding: vertelt het verbindingstype, e.g., SSL of ping
- Prioriteit: vertel ons de serverprioriteit, e.g., je kunt waarschuwingen instellen als je prioriteit instelt
- Geschiedenis: om de lijst met servergeschiedenis bij te houden
- Waarschuwing: Als u waarschuwingen naar uw e-mail wilt sturen
Een methode maken om de verbinding te controleren
Dus om de serververbinding te testen, hebben we een andere methode in de klasse Server() gemaakt met de naam check_connection(). In deze methode moeten we drie variabelen definiëren als:
- bericht: wordt gebruikt om een bericht weer te geven als de verbinding tot stand is gebracht of is mislukt, die aanvankelijk leeg is
- Succes: wordt gebruikt om te vertellen of de verbinding is gelukt of niet
- Nu: krijgt de huidige datum en tijd tijdens het controleren van de verbinding
Schrijf nu de onderstaande code in hetzelfde bestand en gebruik de probeer statement, we controleren de verbinding voor verschillende serververbindingstypen, e.g. gewoon, SSL en ping. In deze probeer statement, we hebben een if-statement met een verband van duidelijk type. Het zal een verbinding maken met de verstrekte naam En elk haven nummer dat je hebt opgegeven. Als de verbinding succesvol is, genereert deze een succes bericht, e.g., bericht. Het zal de Succes variabel naar waar en er wordt geen waarschuwing naar e-mail verzonden. We hebben anders als verklaring met een ander verbindingstype, en in de laatste if-statement hebben we a ping() functie genaamd. In de behalve verklaring, als de socket geen tijd meer heeft, een verbinding wordt geweigerd of iets anders, wordt een . weergegeven storingsbericht.
Aan de andere kant, als de successtatus en alarmeren zijn niet waar, het zal het veranderen in waar en stuur een alarmeren naar de opgegeven e-mail en bel de create_history() functie om een te maken geschiedenis.
Definieer een methode om geschiedenis te maken
In de create_history() methode, we hebben wat toegevoegd attributen met maximum limiet gedefinieerd, en als de geschiedenis limiet overschrijdt, het zal verwijderen de oudere.
Ping-functie definiëren om verbinding te maken
De ping() functie pingt de server of computer. Als de ping is succesvol, het zal True uitvoeren, en als de verbinding gefaald, het zal terugkeren niet waar.
Lijst met servers maken
Nu moeten we ervoor zorgen dat we de hoofdprogramma. De Als-statement zal controleren of dit het hoofdprogramma is of niet. De probeer statement zullen laden de server augurk bestand als het al bestaat. Als het niet bestaat, is de behalve verklaring krijgt een geheel nieuwe lijst van servers. Voor een van de servers, verbindingen zal zijn gecontroleerd en de geschiedenis wordt opgeslagen. Aan de andere kant moeten we sparen onze gegevens naar de augurk het dossier de ... gebruiken dumpen uitspraak.
De onderstaande uitvoer wordt getoond tijdens het uitvoeren van dit bestand.
Bestand maken om informatie toe te voegen
Maak een nieuw bestand met de naam toevoegen.py en importeren augurk pakket en klasse Server uit het oude bestand Server.py. Dit bestand opent het augurkbestand en zal u vragen om wat aanvullende informatie over de server toe te voegen, zoals hieronder wordt weergegeven:.
Wanneer u dit bestand uitvoert, krijgt u de onderstaande uitvoer en wordt u gevraagd om de servernaam, poort, ping-type en prioriteit toe te voegen.
Terwijl, wanneer u de server uitvoert.py-bestand opnieuw, krijgt u de informatie over de oude server, evenals de geschiedenis van de nieuwe server die u in de bovenstaande afbeelding hebt opgegeven.
Bestand maken voor Gmail-waarschuwingen
Maak nu een nieuw bestand met de naam gmail.py en importeer enkele pakketten vereist. Maak vervolgens een methode met de naam email_alert() dat creëert een alarmeren op te sturen e-mail terwijl het verstrekken van e-mail en wachtwoord informatie.
Ga nu naar de Server.py-bestand en importeer de email_alert() methode van de gmail.py-bestand.
U kunt uw . toevoegen e-mailadres waar nodig in de code. Voer nu de Server.py bestand en controleer de uitvoer die wordt weergegeven in de terminal van de Python-interpreter.
Maak een bestand om statistieken te krijgen
Nu moet je creëren een ander python-bestand met de naam get_stats.py binnen dezelfde map. Dit bestand heeft de . geïmporteerd Serverklasse van de Server.py het dossier. De onderstaande code zal kijken naar ons augurkbestand, dat is geladen in, en afdrukken de geschiedenis van elk server en hoeveel die bepaalde server heeft uptime.
Wanneer u dit specifieke bestand uitvoert, ziet u een totale geschiedenis van elke server en ook hun uptime.
Conclusie
We hebben met succes het Python-serverbewakingsscript geprobeerd en geleerd in onze Visual Studio Code-interpreter om informatie te krijgen over verschillende servers.