Maison développement back-end Tutoriel Python Technologie pour surveiller la disponibilité des sites Web basée sur un script Python dans un environnement Linux

Technologie pour surveiller la disponibilité des sites Web basée sur un script Python dans un environnement Linux

Oct 05, 2023 am 10:29 AM
网站 监控 可用性

Technologie pour surveiller la disponibilité des sites Web basée sur un script Python dans un environnement Linux

Technologie de surveillance de la disponibilité de sites Web basée sur des scripts Python dans un environnement Linux

Résumé : Cet article présente comment utiliser des scripts Python pour surveiller la disponibilité de sites Web dans un environnement Linux. Plus précisément, cela inclut la détection si le site Web est accessible en envoyant des requêtes HTTP et en analysant les réponses, ainsi que la manière de configurer le script de surveillance en tant que tâche planifiée et d'envoyer des e-mails d'alarme.

  1. Introduction
    Avec le développement d'Internet, la convivialité des sites Web est devenue un indicateur crucial. Si le site Web n'est pas accessible normalement, cela causera d'énormes désagréments aux utilisateurs et affectera même l'image de marque et les opérations commerciales de l'entreprise. Il est donc très important de surveiller en temps opportun la disponibilité du site Web.
  2. Préparation
    Afin d'utiliser Python pour surveiller la disponibilité du site Web, nous devons d'abord installer l'environnement Python. Sous Linux, vous pouvez installer Python via le gestionnaire de paquets. Par exemple, sur Debian/Ubuntu, vous pouvez utiliser la commande suivante pour installer :

    $ sudo apt-get install python
    Copier après la connexion
  3. Script pour surveiller la disponibilité du site Web
    Un script Python simple pour la surveillance est indiqué ci-dessous Disponibilité du site Web. Le script envoie une requête HTTP et vérifie le code d'état de la réponse. Si le code d'état est 200, cela signifie que le site Web est accessible, sinon cela signifie que le site Web n'est pas accessible.
import requests

def check_website(url):
    try:
        response = requests.get(url)
        if response.status_code == 200:
            print(f"Website {url} is accessible.")
        else:
            print(f"Website {url} is not accessible. Status code: {response.status_code}")
    except Exception as e:
        print(f"An error occurred while accessing website {url}:", str(e))

def main():
    websites = [
        "http://www.example1.com",
        "http://www.example2.com",
        "http://www.example3.com"
    ]
    for website in websites:
        check_website(website)

if __name__ == "__main__":
    main()
Copier après la connexion

Dans le code ci-dessus, nous envoyons d'abord une requête HTTP GET via requests.get(url) et obtenons la réponse. Ensuite, nous pouvons obtenir le code d'état de la réponse via response.status_code et porter un jugement. requests.get(url)发送HTTP GET请求并获取响应。然后,我们可以通过response.status_code来获取响应状态码,并进行判断。

  1. 配置定时任务
    为了能够定期监控网站可用性,我们可以将上述脚本配置为一个定时任务。Linux系统提供了cron工具,可以帮助我们实现定时任务的功能。

你可以使用以下命令来编辑crontab文件:

$ crontab -e
Copier après la connexion

然后,在文件中添加以下内容:

*/5 * * * * python /path/to/monitor_script.py >> /path/to/log_file.txt 2>&1
Copier après la connexion

上述配置表示每5分钟执行一次Python脚本,并将输出重定向到日志文件中。

  1. 发送报警邮件
    为了及时得知网站可用性的变化,我们可以将脚本修改为在网站不可访问时发送报警邮件。

首先,我们需要配置SMTP服务器的相关信息,例如服务器地址、端口号、用户名和密码等。然后,我们可以使用smtplib库来实现邮件的发送功能。

以下是修改后的代码示例:

import requests
import smtplib
from email.mime.text import MIMEText

def check_website(url):
    try:
        response = requests.get(url)
        if response.status_code == 200:
            print(f"Website {url} is accessible.")
        else:
            send_alert_email(url, response.status_code)
    except Exception as e:
        print(f"An error occurred while accessing website {url}:", str(e))

def send_alert_email(url, status_code):
    smtp_server = "smtp.example.com"
    smtp_port = 25
    smtp_username = "your_username"
    smtp_password = "your_password"
    sender = "sender@example.com"
    receiver = "receiver@example.com"
    subject = f"Website {url} is not accessible!"
    message = f"Status code: {status_code}"
    
    msg = MIMEText(message)
    msg["Subject"] = subject
    msg["From"] = sender
    msg["To"] = receiver
    
    with smtplib.SMTP(smtp_server, smtp_port) as server:
        server.login(smtp_username, smtp_password)
        server.sendmail(sender, receiver, msg.as_string())
        
def main():
    websites = [
        "http://www.example1.com",
        "http://www.example2.com",
        "http://www.example3.com"
    ]
    for website in websites:
        check_website(website)

if __name__ == "__main__":
    main()
Copier après la connexion

在上述代码中,我们首先定义了发送邮件所需的SMTP服务器信息、发件人和收件人等。然后,我们使用smtplib.SMTP

    Configurer les tâches planifiées

    Afin de surveiller régulièrement la disponibilité du site Web, nous pouvons configurer le script ci-dessus en tant que tâche planifiée. Le système Linux fournit l'outil cron, qui peut nous aider à implémenter la fonction de tâches planifiées.

    🎜🎜Vous pouvez utiliser la commande suivante pour éditer le fichier crontab : 🎜rrreee🎜Ensuite, ajoutez le contenu suivant dans le fichier : 🎜rrreee🎜La configuration ci-dessus signifie que le script Python sera exécuté tous les 5 minutes et la sortie sera réinitialisée vers le fichier journal. 🎜
      🎜Envoyer un e-mail d'alarme🎜Afin d'être avertis en temps opportun des changements de disponibilité du site Web, nous pouvons modifier le script pour envoyer un e-mail d'alarme lorsque le site Web est inaccessible. 🎜🎜🎜Tout d'abord, nous devons configurer les informations pertinentes du serveur SMTP, telles que l'adresse du serveur, le numéro de port, le nom d'utilisateur et le mot de passe, etc. Ensuite, nous pouvons utiliser la bibliothèque smtplib pour implémenter la fonction d'envoi d'e-mails. 🎜🎜Ce qui suit est un exemple de code modifié : 🎜rrreee🎜Dans le code ci-dessus, nous définissons d'abord les informations du serveur SMTP, l'expéditeur et le destinataire, etc. requises pour envoyer des e-mails. Ensuite, nous utilisons smtplib.SMTP pour nous connecter au serveur SMTP et envoyer des e-mails. 🎜🎜Résumé : Cet article explique comment utiliser des scripts Python pour surveiller la disponibilité d'un site Web dans un environnement Linux. En envoyant une requête HTTP et en analysant la réponse, nous sommes en mesure de déterminer si le site Web est accessible. Dans le même temps, nous avons également présenté comment configurer le script de surveillance en tant que tâche planifiée et envoyer un e-mail d'alarme lorsque le site Web est inaccessible. Ces méthodes peuvent vous aider à comprendre et à résoudre les problèmes d'utilisabilité du site Web en temps opportun, et à améliorer l'expérience utilisateur et les résultats des opérations commerciales. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Existe-t-il un site Web pour apprendre le langage C ? Existe-t-il un site Web pour apprendre le langage C ? Jan 30, 2024 pm 02:38 PM

Sites Web pour apprendre le langage C : 1. Site Web du langage C ; 2. Tutoriel pour les débutants ; 3. Forum du langage C ; 5. Script House 6. Tianji.com ; 51 Réseau d'auto-apprentissage ; 9. Likou ; 10. Programmation C. Introduction détaillée : 1. Site Web chinois en langue C, qui est un site Web dédié à la fourniture de matériel d'apprentissage du langage C pour les débutants. Il a un contenu riche, comprenant une grammaire de base, des pointeurs, des tableaux, des fonctions, des structures et d'autres modules. est un site Web complet d'apprentissage de la programmation et bien plus encore.

Comment ouvrir un site Web à l'aide du Planificateur de tâches Comment ouvrir un site Web à l'aide du Planificateur de tâches Oct 02, 2023 pm 11:13 PM

Visitez-vous fréquemment le même site Web à peu près à la même heure chaque jour ? Cela peut conduire à passer beaucoup de temps avec plusieurs onglets de navigateur ouverts et à encombrer le navigateur lors de l'exécution des tâches quotidiennes. Eh bien, que diriez-vous de l’ouvrir sans avoir à lancer le navigateur manuellement ? C'est très simple et ne nécessite pas de télécharger d'applications tierces, comme indiqué ci-dessous. Comment configurer le Planificateur de tâches pour ouvrir un site Web ? Appuyez sur la touche , tapez Planificateur de tâches dans la zone de recherche, puis cliquez sur Ouvrir. Windows Dans la barre latérale droite, cliquez sur l'option Créer une tâche de base. Dans le champ Nom, saisissez le nom du site Web que vous souhaitez ouvrir et cliquez sur Suivant. Ensuite, sous Déclencheurs, cliquez sur Fréquence temporelle, puis sur Suivant. Sélectionnez la durée pendant laquelle vous souhaitez que l'événement se répète et cliquez sur Suivant. Sélectionnez activer

Comment convertir votre site Web en une application Mac autonome Comment convertir votre site Web en une application Mac autonome Oct 12, 2023 pm 11:17 PM

Dans macOS Sonoma et Safari 17, vous pouvez transformer des sites Web en « applications Web », qui peuvent être placées dans le dock de votre Mac et accessibles comme n'importe quelle autre application sans ouvrir de navigateur. Lisez la suite pour savoir comment cela fonctionne. Grâce à une nouvelle option du navigateur Safari d'Apple, il est désormais possible de transformer n'importe quel site Web sur Internet que vous visitez fréquemment en une « application Web » autonome qui se trouve dans le dock de votre Mac et est accessible à tout moment. L'application Web fonctionne avec Mission Control et Stage Manager comme n'importe quelle application et peut également être ouverte via Launchpad ou SpotlightSearch. Comment transformer n'importe quel site Web en

Conseils de développement C# : systèmes de journalisation et de surveillance Conseils de développement C# : systèmes de journalisation et de surveillance Nov 22, 2023 pm 08:30 PM

Suggestions de développement C# : Résumé du système de journalisation et de surveillance : Dans le processus de développement logiciel, les systèmes de journalisation et de surveillance sont des outils cruciaux. Cet article présentera le rôle et les suggestions de mise en œuvre des systèmes de journalisation et de surveillance dans le développement C#. Introduction : La journalisation et la surveillance sont des outils essentiels dans les projets de développement logiciel à grande échelle. Ils peuvent nous aider à comprendre l’état d’exécution du programme en temps réel et à découvrir et résoudre rapidement les problèmes. Cet article explique comment utiliser les systèmes de journalisation et de surveillance dans le développement C# pour améliorer la qualité des logiciels et l'efficacité du développement. Le rôle du système de journalisation

Erreurs de surveillance Laravel : améliorer la stabilité des applications Erreurs de surveillance Laravel : améliorer la stabilité des applications Mar 06, 2024 pm 04:48 PM

La surveillance des erreurs dans Laravel est un élément important de l'amélioration de la stabilité des applications. Au cours du processus de développement, diverses erreurs seront inévitablement rencontrées, et la manière de détecter et de résoudre ces erreurs en temps opportun est l'une des clés pour garantir le fonctionnement normal de l'application. Laravel fournit une multitude d'outils et de fonctions pour aider les développeurs à surveiller et à gérer les erreurs. Cet article présentera certaines des méthodes importantes et joindra des exemples de code spécifiques. 1. Utiliser la journalisation La journalisation est l'un des moyens importants de surveillance des erreurs. Laravel dispose d'un puissant système de journalisation intégré, les développeurs

Comment utiliser Docker pour la surveillance des conteneurs et l'analyse des performances Comment utiliser Docker pour la surveillance des conteneurs et l'analyse des performances Nov 08, 2023 am 09:54 AM

Présentation de l'utilisation de Docker pour la surveillance des conteneurs et l'analyse des performances : Docker est une plate-forme de conteneurisation populaire qui permet aux applications de s'exécuter dans des conteneurs indépendants en isolant les applications et leurs progiciels dépendants. Cependant, à mesure que le nombre de conteneurs augmente, la surveillance des conteneurs et l’analyse des performances deviennent de plus en plus importantes. Dans cet article, nous présenterons comment utiliser Docker pour la surveillance des conteneurs et l'analyse des performances, et fournirons quelques exemples de code spécifiques. Utilisez le propre outil de surveillance des conteneurs de Docker fourni par Docker

La télécommande Tournesol sera-t-elle surveillée ? La télécommande Tournesol révélera-t-elle la confidentialité ? La télécommande Tournesol sera-t-elle surveillée ? La télécommande Tournesol révélera-t-elle la confidentialité ? Mar 15, 2024 pm 05:28 PM

La télécommande Tournesol sera-t-elle surveillée ? Le logiciel de contrôle à distance Tournesol peut aider les utilisateurs à récupérer rapidement des informations sur un autre ordinateur, etc. Cependant, de nombreux utilisateurs s'inquiètent également de la sécurité de leur propre ordinateur. Laissez l'éditeur répondre à ces questions pour les utilisateurs. La télécommande Tournesol sera-t-elle surveillée ? Réponse : Non. Bien que Tournesol Remote Control ait la capacité de le faire, les grandes sociétés de logiciels telles que Tournesol Remote Control, établies depuis de nombreuses années, ne le feront pas. Pour les employés de bureau, un logiciel qu'il peut être nécessaire d'installer sur leur ordinateur est le contrôle à distance. Pour de nombreuses personnes, qu’elles travaillent à domicile ou parce qu’elles ne peuvent pas partir, utiliser leur ordinateur actuel à distance peut faire gagner beaucoup de temps.

Développement Golang : utilisez Prometheus pour surveiller les performances des applications Développement Golang : utilisez Prometheus pour surveiller les performances des applications Sep 21, 2023 pm 12:39 PM

Développement Golang : l'utilisation de Prometheus pour surveiller les performances des applications nécessite des exemples de code spécifiques. Résumé : Cet article explique comment utiliser la bibliothèque Prometheus dans le développement Golang pour surveiller les performances des applications et fournit des exemples de code spécifiques pour permettre aux développeurs de démarrer rapidement. Introduction : Dans le développement d'applications modernes, la surveillance des performances des applications est une étape très importante. Grâce à la surveillance, nous pouvons comprendre l'état de fonctionnement de l'application en temps réel, découvrir les problèmes à temps et effectuer des ajustements pour améliorer la stabilité et les performances de l'application. Pro

See all articles