Geekflare API Kullanarak Siteniz Çöktüğünde Nasıl Haberdar Olursunuz?

Yayınlanan: 2021-08-22

Kullanıcılar sitenize erişmeye çalışıyor, ne oldu biliyor musunuz? görünmüyor. Daha önce çözemediğiniz bazı hatalar var. Kullanıcılar sinirlenir ve sitenizi terk eder. Yani, onunla bazı sadık kullanıcıları kaybettiniz.

Bu problem nasıl çözülür? Kullanıcılarınız siteyi bulmadan önce site hakkında nasıl bilgi sahibi olursunuz?

İki olası yol vardır:

Birkaç dolar harcamaktan çekinmiyorsanız, StatusCake gibi bir izleme çözümü veya burada belirtilen diğerleri için gidebilirsiniz.

Ancak, bir geliştiriciyseniz veya aylık harcama yapmaya hazır değilseniz, Geekflare API – Site Up mı?

Site Açık mı? API, bir sitenin farklı konumlardan yukarı veya aşağı olup olmadığını kontrol eder.

Siteniz çöktüğünde Gmail üzerinden anında size haber veren Python kodunu göstereyim.

Site Açık mı? API.

Site Açık mı? API

API'yi kontrol etmeden önce, Python'da API'lerle çalışmak için request adlı bir paket kurmamız gerekiyor. Ancak, sadece Python kullanmak gerekli değildir. Tercih ettiğiniz dili kullanabilirsiniz. Ancak bir API isteğinde bulunmak için gerekli şeyleri ayarladığınızdan emin olun.

Bu nedenle, Python kullananlar için request paketini pip install requests komutunu kullanarak kurun.

Diğer diller için kurulumu tamamlayın (Python dışında bir dil seçerseniz) ve sonraki adımlara geçin.

Şimdi Geekflare API sayfasına gidin.

Geekflare-API sayfası

Site Açık mı? Dahil olmak üzere farklı API türleri bulabilirsiniz. Bu makale için ilgilendiğimiz API. Geekflare API'lerini kullanmak için, Geekflare API'sine kaydolarak alabileceğimiz bir API Anahtarına ihtiyacımız var.

Başlıktaki Ücretsiz Kaydol düğmesine tıklayın ve Geeflare API'sinde bir hesap oluşturun.

Geekflare API Hesabı Oluşturun

Hesabınızı oluşturduktan sonra, Geekflare API kontrol paneline yönlendirileceksiniz. Kontrol panelinde, API anahtarını ve e-postanız, aktif planınız vb. gibi diğer ayrıntıları bulacaksınız.

Geekflare API Kontrol Paneli

API anahtarını kopyalayabilirsiniz. Şimdi Is Site Up API belgelerini inceleyelim. Profil simgenize ve belgelerinize tıklayın.

Geekflare API Belgeleri

Sizi Geeflare API belgelerine yönlendirecektir.

Site durumu (Site Açık mı?) API belgelerini burada bulabilirsiniz. Ona git.

API kullanımını sağ tarafta göreceksiniz. Sağ taraftaki Kod Parçacıkları bölümünden Python'u seçin. Python kullanmıyorsanız tercih ettiğiniz dili seçin.

Site Açık mı? API. Daha sonra kolayca daha fazla kod eklememize yardımcı olacak şekilde biraz değiştirelim. Python'da değiştirilen koda bir göz atın.

 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)

SİZİN API ANAHTARINIZI Geekflare API panosundan kendi API anahtarınızla değiştirin. Her kullanıcı için farklı olacaktır. API anahtarını kontrol panelinden kopyalayın ve yukarıdaki koda ekleyin

Çoklu Konum

Yukarıdaki kod sitenin tek bir lokasyondan (New York, ABD) açık olup olmadığını kontrol eder. Ancak istek gövdesinde proxyCountry ile farklı bir konumdan test edebiliriz.

Diğer uygun yerler İngiltere (Londra) ve Singapur'dur. ProxyCountry verilerini site URL'si ile birlikte aşağıdaki gibi iletebiliriz.

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

Buradaki mevcut lokasyonlardan dilediğiniz lokasyona geçiş yapabilirsiniz.

Bir sitenin çalışıp çalışmadığına dair verileri getiren bir API isteği yapmak için kodu tamamladık. Şimdi, site kapalıyken posta gönderen biraz daha kod yazmanın zamanı geldi. Hadi gidelim.

Site Kapalıyken E-posta Alma

Python'da Gmail üzerinden e-posta göndermeyle ilgili ayrıntılı öğreticiyi bulabilirsiniz Veya Gmail'den e-posta göndermek için özel olarak tasarlanmış yagmail adlı bir paketi kullanan aşağıdaki kodu kullanın.

Gmail hesabınız üzerinden mail göndermeden önce, Daha az güvenli uygulamalara izin ver seçeneklerini açmamız gerekiyor. Burada açabilirsiniz.

Kodu görelim.

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

Yagmail'in tam eğitimini burada bulabilirsiniz.

Artık API istekleri ve posta göndermek için kodumuz var. Bir sonraki adımımız, API isteğinden kötü durum aldığımızda send_mail'i çağırmaktır.

Peki sitemizin kapalı mı yoksa açık mı olduğunu nasıl anlarız? Site Açık mı? API, aşağıdaki gibi bazı verilerle yanıt verecektir.

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

İçinde mesaj denilen bir anahtar bulacaksınız. Anahtar mesajın değeri bize sitenin yukarı mı yoksa aşağı mı olduğunu söyler. Yani, aşağıdaki gibi iki tür mesaj olabilir.

  • Site açıldı.
  • Site kapalı

Sanırım şimdi anladın. Bu nedenle, “ Site kapalı” mesajını aldığımızda maili göndereceğiz. Son kod aşağıdaki gibi görünecektir.

 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)

Mail içeriğini dilediğiniz gibi güncelleyebilirsiniz. Sitemiz kapalıyken mail gönderimini tamamladık.

Ama yine de bir sorun var.

Sitemizin yukarı mı aşağı mı olduğunu kontrol etmek için kodumuzu çalıştırmamız gerekiyor. Ne sıklıkla çalıştırıyoruz? Evet, tercihinize bağlı. Diyelim ki her saat başı kontrol etmemiz gerekiyor.

Bir terminal veya komut satırı açıp kodumuzu her saat çalıştırabiliriz. Ama bu tekrar eden bir süreç ve sıkıcı. Ve bazen kontrol etmeyi unutabiliriz. Bu nedenle, kodu her saat otomatik olarak çalıştırmamız gerekiyor.

Burada kodumuzu her saat otomatik olarak çalıştırmak için cron'u kullanabiliriz. Nasıl kurulacağını görelim.

Cron Kurulumu

UNIX tabanlı bir işletim sisteminde cron kurma adımlarına bakalım.

  • Terminali açın.
  • Terminalde crontab dosyasını açan crontab -e komutunu çalıştırın.
  • INSERT moduna girmek için i tuşuna basın.
  • Şimdi cron kalıbını, Python dizinini ve kod dosyası dizinimizi ekleyin. Aşağıdaki örneği görüyorsunuz.

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

Cron
Cron

Kodu her saat çalıştıracak kalıbı belirledik. Ancak ihtiyaca göre her dakikaya ayarlamanız gerekebilir. Böylece, zamanlama için cron modelini oluşturmak için Crontab Guru'yu veya diğer cron araçlarını kullanabilirsiniz.

Bu kadar. Site kapalıyken bildirim almak için kurulumu tamamladık.

Çözüm

Site kapalı olduğunda e-posta yoluyla bildirim almak için 7/24 çalışan bulut sunucunuzda komut dosyasını periyodik olarak çalışacak şekilde planlamak için cron'u kullanın. Otomasyon çok zaman kazandırır ve bizim için çalışır. Bu nedenle, bu makalede yaptığımız gibi kullanın.

mutlu izleme