Jak otrzymywać powiadomienia, gdy Twoja witryna ulegnie awarii za pomocą interfejsu API Geekflare?

Opublikowany: 2021-08-22

Użytkownicy próbują uzyskać dostęp do Twojej witryny, wiesz, co się stało? Nie pojawia się. Jest kilka błędów, których wcześniej nie zauważyłeś. Użytkownicy są sfrustrowani i opuszczają Twoją witrynę. Więc straciłeś przez to kilku lojalnych użytkowników.

Jak rozwiązać ten problem? Jak dowiedzieć się o stronie, zanim znajdą ją Twoi użytkownicy?

Istnieją dwa możliwe sposoby:

Jeśli nie masz nic przeciwko wydaniu kilku dolarów, możesz skorzystać z rozwiązania do monitorowania, takiego jak StatusCake lub inne wymienione tutaj.

Jeśli jednak jesteś programistą lub nie jesteś gotowy na miesięczne wydatki, możesz skorzystać z Geekflare API – Is Site Up?

Czy witryna działa? API sprawdza, czy witryna działa, czy nie działa z różnych lokalizacji.

Pozwól, że pokażę Ci kod Pythona, który powiadamia Cię natychmiast, gdy Twoja witryna przestanie działać za pośrednictwem Gmaila .

Zacznijmy od zapoznania się z sekcją Is Site Up? API.

Czy witryna działa? API

Przed sprawdzeniem API musimy zainstalować pakiet o nazwie request to work with APIs in Python. Ale nie jest konieczne używanie tylko Pythona. Możesz użyć preferowanego języka. Ale upewnij się, że skonfigurowałeś wymagane rzeczy, aby wysłać żądanie API.

Tak więc dla tych, którzy używają Pythona, zainstaluj pakiet żądań za pomocą polecenia pip install requests

Dokończ konfigurację dla innych języków (jeśli wybierzesz inny język niż Python) i przejdź do kolejnych kroków.

Teraz przejdź do strony interfejsu API Geekflare.

Strona Geekflare-API

Możesz znaleźć różne typy interfejsów API, w tym Czy witryna działa? API, które nas interesuje w tym artykule. Aby korzystać z interfejsów API Geekflare, potrzebujemy klucza API, który możemy uzyskać, rejestrując się w interfejsie API Geekflare.

Kliknij przycisk Zarejestruj się bezpłatnie w nagłówku i utwórz konto w Geeflare API.

Utwórz konto API Geekflare

Po utworzeniu konta zostaniesz przekierowany do pulpitu Geekflare API. Na pulpicie nawigacyjnym znajdziesz klucz API i inne szczegóły, takie jak adres e-mail, aktywny plan itp.,

Pulpit API Geekflare

Możesz skopiować klucz API. Teraz sprawdźmy dokumentację Is Site Up API. Kliknij ikonę swojego profilu i dokumentację.

Dokumentacja API Geekflare

Przekieruje Cię do dokumentacji API Geeflare.

Dokumentację interfejsu API stanu witryny (czy witryna działa?) znajdziesz tutaj. Idź do tego.

Otrzymasz informacje o wykorzystaniu API po prawej stronie. Wybierz pozycję Python z sekcji Fragmenty kodu po prawej stronie. Wybierz preferowany język, jeśli nie używasz Pythona.

Otrzymasz kod, aby wywołać Is Site Up? API. Zmodyfikujmy go trochę, co pomoże nam później łatwo dodać więcej kodu. Spójrz na zmodyfikowany kod w Pythonie.

 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)

Zastąp TWÓJ-API-KLUCZ własnym kluczem API z pulpitu API Geekflare. Dla każdego użytkownika będzie inny. Skopiuj klucz API z dashboardu i dodaj go do powyższego kodu

Wiele lokalizacji

Powyższy kod sprawdza, czy witryna działa, czy nie z jednej lokalizacji (Nowy Jork, USA). Ale możemy to przetestować z innej lokalizacji z proxyCountry w treści żądania.

Inne dostępne lokalizacje to Anglia (Londyn) i Singapur. Możemy przekazać dane proxyCountry wraz z adresem URL witryny w następujący sposób.

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

Możesz przekazać dowolne miejsce z dostępnych tutaj lokalizacji.

Ukończyliśmy kod, aby wykonać żądanie API, które pobiera dane o tym, czy witryna działa, czy nie. Teraz nadszedł czas, aby napisać trochę więcej kodu, który wysyła pocztę, gdy witryna jest niedostępna. Chodźmy.

Odbieranie wiadomości e-mail, gdy witryna nie działa

Możesz znaleźć szczegółowy samouczek dotyczący wysyłania wiadomości e-mail za pośrednictwem Gmaila w Pythonie Lub użyj następującego kodu, który wykorzystuje pakiet o nazwie yagmail specjalnie zaprojektowany do wysyłania wiadomości e-mail z Gmaila .

Przed wysłaniem wiadomości za pośrednictwem konta Gmail musimy włączyć opcję Zezwalaj na mniej bezpieczne aplikacje . Możesz go włączyć tutaj.

Zobaczmy kod.

 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, )

Pełny samouczek dotyczący yagmaila można znaleźć tutaj.

Teraz mamy kod do żądań API i wysyłania poczty. Naszym następnym krokiem jest wywołanie send_mail za każdym razem, gdy otrzymamy zły status z żądania API.

Skąd więc wiemy, że nasza witryna nie działa lub nie działa? Kiedy poprosimy o odpowiedź Czy witryna działa? API, odpowie niektórymi danymi w następujący sposób.

 { "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" } }

Znajdziesz w nim klucz o nazwie wiadomość . Wartość kluczowego komunikatu mówi nam, czy witryna jest w górę, czy w dół. Tak, mogą być dwa rodzaje wiadomości w następujący sposób.

  • Witryna działa.
  • Witryna nie działa

Myślę, że teraz to masz. Tak więc wyślemy wiadomość, gdy otrzymamy wiadomość „ Witryna nie działa”. Ostateczny kod będzie wyglądał następująco.

 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)

Treść wiadomości możesz aktualizować według własnego uznania. Zakończyliśmy wysyłanie poczty za każdym razem, gdy nasza strona jest niedostępna.

Ale nadal jest problem.

Musimy wykonać nasz kod, aby sprawdzić, czy nasza strona działa, czy nie. Jak często go uruchamiamy? Tak, to zależy od preferencji. Powiedzmy, że musimy to sprawdzać co godzinę.

Możemy otworzyć terminal lub wiersz poleceń i wykonywać nasz kod co godzinę. Ale jest to proces powtarzalny i nudny. A czasem możemy zapomnieć o sprawdzeniu. Musimy więc wykonywać kod automatycznie co godzinę.

Tutaj możemy użyć crona do automatycznego wykonywania naszego kodu co godzinę. Zobaczmy, jak to ustawić.

Konfiguracja Crona

Zobaczmy, jak skonfigurować crona w systemie operacyjnym opartym na systemie UNIX.

  • Otwórz terminal.
  • Uruchom polecenie crontab -e , które otworzy plik crontab w terminalu.
  • Naciśnij klawisz i , aby przejść do trybu INSERT.
  • Teraz dodaj wzorzec cron, katalog Pythona i nasz katalog plików kodu. Zobacz przykład poniżej.

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

cron
cron

Ustawiliśmy wzorzec wykonywania kodu co godzinę. Ale może być konieczne ustawienie go na każdą minutę w zależności od wymagań. Możesz więc użyć Crontab Guru lub innych narzędzi cron do wygenerowania wzoru crona dla harmonogramu.

Otóż ​​to. Zakończyliśmy konfigurację, aby otrzymywać powiadomienia, gdy witryna nie działa.

Wniosek

Użyj crona, aby zaplanować okresowe uruchamianie skryptu na serwerze w chmurze, który działa 24 godziny na dobę, 7 dni w tygodniu, aby otrzymywać powiadomienia e-mailem, gdy witryna nie działa. Automatyzacja oszczędza dużo czasu i działa dla nas. Wykorzystaj to tak, jak zrobiliśmy to w tym artykule.

Miłego monitorowania