Bagaimana Mendapatkan Pemberitahuan Saat Situs Anda Turun menggunakan Geekflare API?
Diterbitkan: 2021-08-22Pengguna mencoba mengakses situs Anda, Anda tahu apa yang terjadi? Itu tidak muncul. Ada beberapa kesalahan yang tidak Anda ketahui sebelumnya. Pengguna menjadi frustrasi dan meninggalkan situs Anda. Jadi, Anda kehilangan beberapa pengguna setia dengan itu.
Bagaimana cara mengatasi masalah ini? Bagaimana Anda mengetahui tentang situs sebelum pengguna Anda menemukannya?
Ada dua cara yang mungkin:
Jika Anda tidak keberatan mengeluarkan sedikit uang, Anda dapat menggunakan solusi pemantauan seperti StatusCake atau lainnya yang disebutkan di sini.
Namun, jika Anda seorang pengembang atau tidak siap untuk mengeluarkan uang bulanan, Anda dapat memanfaatkan Geekflare API – Is Site Up?
Apakah Situs Naik? API memeriksa apakah suatu situs naik atau turun dari lokasi yang berbeda.
Izinkan saya menunjukkan kepada Anda kode Python yang segera memberi tahu Anda saat situs Anda mati melalui Gmail .
Mari kita mulai dengan menjelajahi Apakah Situs Sudah Habis? API.
Apakah Situs Naik? API
Sebelum memeriksa API, kita perlu menginstal paket yang disebut permintaan untuk bekerja dengan API di Python. Tapi, tidak perlu hanya menggunakan Python. Anda dapat menggunakan bahasa pilihan Anda. Tetapi pastikan Anda menyiapkan hal-hal yang diperlukan untuk membuat permintaan API.
Jadi, bagi yang menggunakan Python, instal paket permintaan menggunakan perintah pip install requests
Selesaikan penyiapan untuk bahasa lain (jika Anda memilih selain Python) dan lanjutkan ke langkah berikutnya.
Sekarang, buka halaman Geekflare API.
Anda dapat menemukan berbagai jenis API, termasuk Is Site Up? API, yang kami minati untuk artikel ini. Untuk menggunakan Geekflare API, kita memerlukan API Key yang bisa kita dapatkan dengan mendaftar Geekflare API.
Klik tombol Daftar Gratis di header dan buat akun di Geeflare API.
Setelah Anda membuat akun, Anda akan diarahkan ke dasbor Geekflare API. Di dasbor, Anda akan menemukan kunci API dan detail lainnya seperti email, paket aktif, dll.,
Anda dapat menyalin kunci API. Sekarang, mari kita periksa dokumentasi Is Site Up API. Klik ikon profil dan dokumentasi Anda.
Ini akan mengarahkan Anda ke dokumentasi Geeflare API.
Anda akan menemukan dokumentasi API status Situs (Is Site Up?) di sini. Pergi ke sana.
Anda akan mendapatkan penggunaan API di sisi kanan. Pilih Python dari bagian Cuplikan Kode di sisi kanan. Pilih bahasa pilihan Anda jika Anda tidak menggunakan Python.
Anda akan mendapatkan kode untuk memanggil Is Site Up? API. Mari kita modifikasi sedikit yang membantu kita menambahkan lebih banyak kode nantinya dengan mudah. Lihat kode yang dimodifikasi dengan Python.
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)
Ganti KUNCI API ANDA dengan kunci API Anda sendiri dari dasbor Geekflare API. Ini akan berbeda untuk setiap pengguna. Salin kunci API dari dasbor dan tambahkan ke kode di atas
Multi-Lokasi
Kode di atas memeriksa apakah situs aktif atau tidak dari satu lokasi (New York, AS). Tapi, kita bisa mengujinya dari lokasi berbeda dengan proxyCountry di badan permintaan.
Lokasi lain yang tersedia adalah Inggris (London) dan Singapura. Kami dapat mengirimkan data proxyCountry bersama dengan URL situs sebagai berikut.
{ "proxyCountry": "uk", "url": "geekflare.com" }
Anda dapat melewati lokasi mana pun yang Anda sukai dari lokasi yang tersedia di sini.
Kami telah menyelesaikan kode untuk membuat permintaan API yang mengambil data apakah suatu situs aktif atau tidak. Sekarang, saatnya untuk menulis beberapa kode lagi yang mengirimkan email saat situs sedang down. Ayo pergi.
Menerima Email Saat Situs Down
Anda dapat menemukan tutorial mendetail tentang cara mengirim email melalui Gmail dengan Python Atau gunakan kode berikut, yang menggunakan paket bernama yagmail yang dirancang khusus untuk mengirim email dari Gmail .
Sebelum mengirim email melalui akun Gmail Anda, kami harus mengaktifkan opsi Izinkan aplikasi yang kurang aman . Anda dapat mengaktifkannya di sini.
Mari kita lihat kodenya.
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, )
Anda dapat menemukan tutorial yagmail lengkap di sini.
Sekarang, kami memiliki kode untuk permintaan API dan pengiriman email. Langkah kita selanjutnya adalah memanggil send_mail setiap kali kita menerima status buruk dari permintaan API.
Jadi, bagaimana kita tahu bahwa situs kita sedang down atau up? Saat kami meminta Apakah Situs Habis? API, itu akan merespon dengan beberapa data sebagai berikut.
{ "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" } }
Anda akan menemukan kunci yang disebut pesan di dalamnya. Nilai dari pesan kunci memberi tahu kita apakah situs sedang naik atau turun. Jadi, bisa dua jenis pesan sebagai berikut.
- Situs sudah habis.
- Situs sedang down
Saya pikir Anda mengerti sekarang. Jadi, kami akan mengirimkan surat ketika kami menerima pesan “ Situs sedang down.”. Kode terakhir akan terlihat seperti berikut.
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)
Anda dapat memperbarui konten email sesuai keinginan. Kami telah menyelesaikan pengiriman email setiap kali situs kami tidak aktif.
Tapi masih ada masalah.
Kami harus mengeksekusi kode kami untuk memeriksa apakah situs kami naik atau turun. Seberapa sering kita menjalankannya? Ya, itu tergantung pada preferensi Anda. Katakanlah kita harus memeriksanya setiap jam.
Kami dapat membuka terminal atau baris perintah dan menjalankan kode kami setiap jam. Tapi itu proses yang berulang dan membosankan. Dan terkadang kita lupa untuk memeriksanya. Jadi, kita perlu mengeksekusi kode secara otomatis setiap jam.
Di sini kita dapat menggunakan cron untuk mengeksekusi kode kita setiap jam secara otomatis. Mari kita lihat cara mengaturnya.
Pengaturan Cron
Mari kita lihat langkah-langkah untuk mengatur cron pada sistem operasi berbasis UNIX.
- Buka terminal.
- Jalankan perintah
crontab -e
yang membuka file crontab di terminal. - Tekan tombol
i
untuk masuk ke mode INSERT. - Sekarang, tambahkan pola cron, direktori Python, dan direktori file kode kita. Anda lihat contoh di bawah ini.
0 * * * * /usr/bin/python3 /home/sample.py
Kami telah menetapkan pola untuk mengeksekusi kode setiap jam. Tetapi Anda mungkin perlu menyetelnya ke setiap menit berdasarkan kebutuhan. Jadi, Anda dapat menggunakan Crontab Guru atau alat cron lainnya untuk membuat pola cron untuk jadwal.
Itu dia. Kami telah menyelesaikan penyiapan untuk mendapatkan pemberitahuan saat situs tidak aktif.
Kesimpulan
Gunakan cron untuk menjadwalkan skrip agar berjalan secara berkala di server cloud Anda yang berjalan 24/7 untuk mendapatkan pemberitahuan melalui email saat situs sedang down. Otomasi menghemat banyak waktu dan bekerja untuk kita. Jadi, manfaatkan itu seperti yang kami lakukan di artikel ini.
Selamat Memantau