Les utilisateurs essaient d'accéder à votre site, vous savez ce qui s'est passé ? Il ne s'affiche pas. Il y a des erreurs que vous n'aviez pas trouvées auparavant. Les utilisateurs sont frustrés et quittent votre site. Donc, vous avez perdu des utilisateurs fidèles avec.
Comment résoudre ce problème? Comment connaître le site down avant que vos utilisateurs ne le trouvent ?
Il y a deux manières possibles :
Si cela ne vous dérange pas de dépenser quelques dollars, vous pouvez opter pour une solution de surveillance comme Gâteau d'état ou autres mentionné ici.
Cependant, si vous êtes un développeur ou si vous n'êtes pas prêt à dépenser mensuellement, vous pouvez profiter de API Geekflare - Le site est-il actif ?
Le site est-il actif ? L'API vérifie si un site est actif ou inactif à partir de différents emplacements.
Laissez-moi vous montrer du code Python qui vous avertit immédiatement lorsque votre site tombe en panne via Gmail.
Commençons par explorer le Le site est-il en place? API.
Is Site Up? API
Avant de vérifier l'API, nous devons installer un package appelé requests pour travailler avec les API en Python. Mais, il n'est pas nécessaire d'utiliser uniquement Python. Vous pouvez utiliser votre langue préférée. Mais assurez-vous de configurer les éléments requis pour effectuer une demande d'API.
Alors, pour ceux qui sont en utilisant Python installer la demandes paquet en utilisant la commande pip install requests
Terminez la configuration des autres langages (si vous choisissez un autre que Python) et passez aux étapes suivantes.
Maintenant, allez au API Geekflare Venez voir des images qui vous inspireront.

Vous pouvez trouver différents types d'API, y compris Is Site Up ? API, qui nous intéresse pour cet article. Pour utiliser les API Geekflare, nous avons besoin d'une clé API que nous pouvons obtenir en vous inscrivant à l'API Geekflare.
Cliquez sur le S'inscrire Gratuit sur l'en-tête et créez un compte dans l'API Geeflare.

Une fois votre compte créé, vous serez redirigé vers le tableau de bord de l'API Geekflare. Dans le tableau de bord, vous trouverez la clé API et d'autres détails comme votre e-mail, votre plan actif, etc.,

Vous pouvez copier la clé API. Maintenant, vérifions la documentation de Le site est-il actif API. Cliquez sur l'icône de votre profil et sur la documentation.

Il vous redirigera vers la documentation de l'API Geeflare.
Vous trouverez la État du site (le site est-il opérationnel ?) Documentation de l'API ici. Allez-y.
Vous obtiendrez l'utilisation de l'API sur le côté droit. Sélectionnez Python dans le Extraits de code section sur le côté droit. Choisissez votre langue préférée si vous n'utilisez pas Python.
Vous obtiendrez le code pour appeler le Le site est-il en place? API. Modifions-le un peu, ce qui nous aide à ajouter plus de code plus tard facilement. Jetez un œil au code modifié en 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)
Remplacez le VOTRE-API-KEY avec votre propre clé API à partir du tableau de bord de l'API Geekflare. Ce sera différent pour chaque utilisateur. Copiez la clé API du tableau de bord et ajoutez-la au code ci-dessus
Multi-emplacement
Le code ci-dessus vérifie si le site est opérationnel ou non à partir d'un seul emplacement (New York, États-Unis). Mais, nous pouvons le tester à partir d'un endroit différent avec proxyPays dans le corps de la requête.
Les autres emplacements disponibles sont l'Angleterre (Londres) et Singapour. On peut passer le proxyPays données avec l'URL du site comme suit.
{
"proxyCountry": "uk",
"url": "geekflare.com"
}
Vous pouvez passer n'importe quel endroit que vous préférez depuis le emplacements disponibles ici.
Nous avons complété le code pour faire une requête API qui récupère les données indiquant si un site est opérationnel ou non. Maintenant, il est temps d'écrire un peu plus de code qui envoie du courrier lorsque le site est en panne. Allons-y.
Receiving Email When the Site is Down
Vous pouvez trouver le tutoriel détaillé sur comment envoyer des e-mails via Gmail en Python Ou utilisez le code suivant, qui utilise un package appelé yagmail spécialement conçu pour envoyer des e-mails depuis Gmail.
Avant d'envoyer un e-mail via votre compte Gmail, nous devons activer le Autoriser les applications moins sécurisées option. Vous pouvez l'allumer ici.
Voyons le code.
def send_mail():
gmail = yagmail.SMTP("gmail", "password")
receiver = "receiver@domain.com"
subject = "Testing Subject"
body = "This is a testing mail"
gmail.send(
to=receiver,
subject=subject,
contents=body,
)
Vous pouvez trouver le tutoriel complet de yagmail ici.
Maintenant, nous avons du code pour les requêtes API et l'envoi de courrier. Notre prochaine étape consiste à invoquer le envoyer un mail chaque fois que nous recevons un mauvais statut de la demande d'API.
Alors, comment savons-nous que notre site est en panne ou en hausse ? Lorsque nous demandons le Le site est-il en place? API, il répondra avec certaines données comme suit.
{
"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"
}
}
Vous trouverez une clé appelée message dedans. La valeur de la clé message nous dit si le site est en haut ou en bas. Ainsi, peut être deux types de messages comme suit.
- Le site est en place.
- Le site est en panne
Je pense que tu l'as maintenant. Donc, nous enverrons le courrier lorsque nous recevrons le message "Le site est en panne.”. Le code final ressemblera à ceci.
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@domain.com"
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)
Vous pouvez mettre à jour le contenu de l'e-mail selon vos préférences. Nous avons terminé l'envoi de courrier chaque fois que notre site est en panne.
Mais il y a toujours un problème.
Nous devons exécuter notre code pour vérifier si notre site est actif ou non. À quelle fréquence l'exécutons-nous ? Oui, cela dépend de votre préférence. Disons que nous devons le vérifier toutes les heures.
Nous pouvons ouvrir un terminal ou une ligne de commande et exécuter notre code toutes les heures. Mais c'est un processus répétitif et ennuyeux. Et parfois on peut oublier de le vérifier. Nous devons donc exécuter le code automatiquement toutes les heures.
Ici, nous pouvons utiliser le cron pour exécuter notre code toutes les heures automatiquement. Voyons comment le configurer.
Cron Setup
Voyons les étapes pour configurer le cron sur un système d'exploitation basé sur UNIX.
- Borne ouverte.
- Exécuter la commande
crontab -e
qui ouvre le fichier crontab dans le terminal. - Appuyez sur la touche
i
pour entrer dans le mode INSERT. - Maintenant, ajoutez le modèle cron, le répertoire Python et notre répertoire de fichiers de code. Vous voyez l'exemple ci-dessous.
0 * * * * /usr/bin/python3 /home/sample.py

Nous avons défini le modèle pour exécuter le code toutes les heures. Mais vous devrez peut-être le régler à chaque minute en fonction des besoins. Ainsi, vous pouvez utiliser le Gourou Crontab ou d'un autre outils cron pour générer le modèle cron pour le planning.
C'est ça. Nous avons terminé la configuration pour être averti lorsque le site est en panne.
Conclusion
Utilisez le cron pour planifier l'exécution périodique du script sur votre serveur cloud qui fonctionne 24h/7 et XNUMXj/XNUMX pour être averti par e-mail lorsque le site est en panne. L'automatisation fait gagner beaucoup de temps et fonctionne pour nous. Alors, utilisez-le comme nous l'avons fait dans cet article.
Bon suivi 🙂