Wie werden Sie benachrichtigt, wenn Ihre Website mit der Geekflare-API ausfällt?

Veröffentlicht: 2021-08-22

Benutzer versuchen, auf Ihre Website zuzugreifen. Wissen Sie, was passiert ist? Es taucht nicht auf. Es gibt einige Fehler, die Sie vorher nicht herausgefunden haben. Benutzer sind frustriert und verlassen Ihre Website. Sie haben also einige treue Benutzer damit verloren.

Wie kann man dieses Problem lösen? Wie erfahren Sie von der Website, bevor Ihre Benutzer sie finden?

Es gibt zwei Möglichkeiten:

Wenn es Ihnen nichts ausmacht, ein paar Dollar auszugeben, können Sie sich für eine Überwachungslösung wie StatusCake oder andere hier erwähnte entscheiden.

Wenn Sie jedoch ein Entwickler sind oder nicht bereit sind, monatlich Geld auszugeben, können Sie die Vorteile der Geekflare-API – Is Site Up?

Ist die Website aktiv? Die API prüft, ob eine Website von verschiedenen Standorten aus aktiv oder inaktiv ist.

Lassen Sie mich Ihnen den Python-Code zeigen, der Sie sofort benachrichtigt, wenn Ihre Website über Gmail ausfällt .

Beginnen wir mit der Erkundung der Seite Is Site Up? API.

Ist die Website aktiv? API

Bevor wir die API prüfen, müssen wir ein Paket namens „requests“ installieren, um mit APIs in Python zu arbeiten. Aber es ist nicht notwendig, nur Python zu verwenden. Sie können Ihre bevorzugte Sprache verwenden. Stellen Sie jedoch sicher, dass Sie die erforderlichen Dinge einrichten, um eine API-Anfrage zu stellen.

Also, für diejenigen, die Python verwenden, installieren Sie das Paket " requests " mit dem Befehl pip install requests .

Schließen Sie die Einrichtung für andere Sprachen ab (wenn Sie eine andere Sprache als Python auswählen) und fahren Sie mit den nächsten Schritten fort.

Gehen Sie nun zur Geekflare-API-Seite.

Geekflare-API-Seite

Sie können verschiedene Arten von APIs finden, einschließlich Is Site Up? API, die uns für diesen Artikel interessiert. Um die Geekflare-APIs zu verwenden, benötigen wir einen API-Schlüssel, den wir erhalten können, indem wir uns für die Geekflare-API anmelden.

Klicken Sie in der Kopfzeile auf die Schaltfläche „ Kostenlos anmelden“ und erstellen Sie ein Konto in der Geeflare -API.

Erstellen Sie ein Geekflare-API-Konto

Sobald Sie Ihr Konto erstellt haben, werden Sie zum Dashboard der Geekflare-API weitergeleitet. Im Dashboard finden Sie den API-Schlüssel und andere Details wie Ihre E-Mail, Ihren aktiven Plan usw.

Geekflare-API-Dashboard

Sie können den API-Schlüssel kopieren. Sehen wir uns nun die Dokumentation der Is Site Up -API an. Klicken Sie auf Ihr Profilsymbol und die Dokumentation.

Geekflare-API-Dokumentation

Es leitet Sie zur Geeflare-API-Dokumentation weiter.

Hier finden Sie die API-Dokumentation zum Site-Status (Ist Site Up?) . Gehen Sie darauf zu.

Sie erhalten die Verwendung der API auf der rechten Seite. Wählen Sie im Bereich „ Code-Snippets “ auf der rechten Seite „Python“ aus. Wählen Sie Ihre bevorzugte Sprache, wenn Sie Python nicht verwenden.

Sie erhalten den Code zum Aufrufen von Is Site Up? API. Lassen Sie uns es ein wenig modifizieren, was uns hilft, später einfach mehr Code hinzuzufügen. Sehen Sie sich den modifizierten Code in Python an.

 import requests import json API_URL = "https://api.geekflare.com/up" def make_api_request(): headers = { 'x-api-key': 'YOUR-API-KEY', 'Content-Type': 'application/json' } payload = json.dumps({"url": "https://geekflare.com"}) response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() if __name__ == '__main__': data = make_api_request() print(data)

Ersetzen Sie den YOUR-API-KEY durch Ihren eigenen API-Schlüssel aus dem Geekflare-API-Dashboard. Es wird für jeden Benutzer anders sein. Kopieren Sie den API-Schlüssel aus dem Dashboard und fügen Sie ihn dem obigen Code hinzu

Mehrere Standorte

Der obige Code prüft, ob die Site von einem einzelnen Standort aus (New York, USA) verfügbar ist oder nicht. Aber wir können es von einem anderen Ort mit ProxyCountry im Anfragetext testen.

Weitere verfügbare Standorte sind England (London) und Singapur. Wir können die ProxyCountry -Daten zusammen mit der Site-URL wie folgt weitergeben.

 { "proxyCountry": "uk", "url": "geekflare.com" }

Sie können von den hier verfügbaren Orten jeden Ort passieren, den Sie bevorzugen.

Wir haben den Code vervollständigt, um eine API-Anfrage zu stellen, die die Daten darüber abruft, ob eine Website verfügbar ist oder nicht. Jetzt ist es an der Zeit, etwas mehr Code zu schreiben, der E-Mails sendet, wenn die Site nicht erreichbar ist. Lass uns gehen.

Empfangen von E-Mails, wenn die Website nicht verfügbar ist

Sie können das ausführliche Tutorial zum Senden von E-Mails über Google Mail in Python finden. Oder verwenden Sie den folgenden Code, der ein Paket namens yagmail verwendet, das speziell zum Senden von E-Mails von Google Mail entwickelt wurde.

Bevor wir eine E-Mail über Ihr Google Mail-Konto senden, müssen wir die Optionen Weniger sichere Apps zulassen aktivieren. Sie können es hier einschalten.

Sehen wir uns den Code an.

 def send_mail(): gmail = yagmail.SMTP("gmail", "password") receiver = "[email protected]" subject = "Testing Subject" body = "This is a testing mail" gmail.send( to=receiver, subject=subject, contents=body, )

Das vollständige Tutorial von Yagmail finden Sie hier.

Jetzt haben wir Code für API-Anforderungen und das Senden von E-Mails. Unser nächster Schritt besteht darin, die send_mail aufzurufen, wenn wir einen schlechten Status von der API-Anfrage erhalten.

Woher wissen wir also, ob unsere Website nicht verfügbar oder nicht verfügbar ist? Wenn wir die Frage Is Site Up? API, wird es mit einigen Daten wie folgt antworten.

 { "timestamp": 1671545622213, "apiStatus": "success", "apiCode": 200, "message": "Site is up.", "meta": { "url": "https://geekflare.com", "proxyCountry": "United Kingdom", "followRedirect": false, "test": { "id": "riah3dvi04ngaa1jw1b75smiibrus2a7" } }, "data": { "statusCode": 200, "reasonPhrase": "OK" } }

Darin finden Sie einen Schlüssel namens Nachricht . Der Wert der Schlüsselnachricht sagt uns, ob die Website aktiv oder inaktiv ist. So können zwei Arten von Nachrichten wie folgt sein.

  • Seite ist online.
  • Website ist ausgefallen

Ich denke, du hast es jetzt verstanden. Wir werden also die E-Mail senden, wenn wir die Nachricht „ Site is down.“ erhalten. Der endgültige Code sieht wie folgt aus.

 import requests import json import yagmail API_URL = "https://api.geekflare.com/up" def make_api_request(): headers = { 'x-api-key': 'YOUR-API-KEY', 'Content-Type': 'application/json' } payload = json.dumps({ "url": "https://geekflare.com", "followRedirect": True, "proxyCountry": "uk" }) response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() def send_mail(content): gmail = yagmail.SMTP("gmail", "password") receiver = "[email protected]" subject = "Your Site is Down" gmail.send( to=receiver, subject=subject, contents=content, ) if __name__ == '__main__': data = make_api_request() message = data['message'] ## seding the mail if message == 'Site is down': ## extracting the location and error location = data['meta']['proxyCountry'] mail_content = "Your site is down due to unexpected error. See the useful data to resolve errors below.nn" if location: mail_content += f"{location}" mail_content += f"{data['data']['reasonPhrase']}nn" mail_content += "Check the error and resolve it as soon as possible." send_mail(mail_content)

Sie können den Inhalt der E-Mail nach Belieben aktualisieren. Wir haben das Versenden von E-Mails abgeschlossen, wenn unsere Website nicht verfügbar ist.

Aber es gibt noch ein Problem.

Wir müssen unseren Code ausführen, um zu überprüfen, ob unsere Website aktiv oder heruntergefahren ist. Wie oft führen wir es aus? Ja, das hängt von deinen Vorlieben ab. Nehmen wir an, wir müssen es jede Stunde überprüfen.

Wir können ein Terminal oder eine Befehlszeile öffnen und unseren Code jede Stunde ausführen. Aber es ist ein sich wiederholender Prozess und langweilig. Und manchmal können wir vergessen, es zu überprüfen. Also müssen wir den Code jede Stunde automatisch ausführen.

Hier können wir den Cron verwenden, um unseren Code jede Stunde automatisch auszuführen. Mal sehen, wie man es einrichtet.

Cron-Setup

Sehen wir uns die Schritte zum Einrichten von Cron auf einem UNIX-basierten Betriebssystem an.

  • Terminal öffnen.
  • Führen Sie den Befehl crontab -e aus, der die crontab-Datei im Terminal öffnet.
  • Drücken Sie die Taste i , um in den INSERT-Modus zu gelangen.
  • Fügen Sie nun das Cron-Muster, das Python-Verzeichnis und unser Codedateiverzeichnis hinzu. Sie sehen das Beispiel unten.

0 * * * * /usr/bin/python3 /home/sample.py

Cron
Cron

Wir haben das Muster so eingestellt, dass der Code jede Stunde ausgeführt wird. Möglicherweise müssen Sie es jedoch je nach Anforderung auf jede Minute einstellen. Sie können also Crontab Guru oder andere Cron-Tools verwenden, um das Cron-Muster für den Zeitplan zu generieren.

Das ist es. Wir haben die Einrichtung abgeschlossen, um benachrichtigt zu werden, wenn die Website nicht verfügbar ist.

Fazit

Verwenden Sie den Cron, um das Skript so zu planen, dass es regelmäßig auf Ihrem Cloud-Server ausgeführt wird, der rund um die Uhr läuft, um per E-Mail benachrichtigt zu werden, wenn die Website nicht verfügbar ist. Die Automatisierung spart viel Zeit und arbeitet für uns. Nutzen Sie es also, wie wir es in diesem Artikel getan haben.

Viel Spaß beim Überwachen