Skip to content
Vérifie qu'une liste de site internet est bien accessible
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
sources
Dockerfile
LICENSE
README.md
check-url.py
docker-compose.yml
requirements.txt

README.md

Check liste site web - Python

langage Twitter

Vérifie qu'une liste de site internet est bien en fonction

Fonction

Input

Lister vos urls dans un fichier "yml" > Yaml

  - url: <URL>
    search: <CONTENT_TO_MATCH>
    warning: <TIME_WARNING>
    critical: <TIME_CRITICAL>
    tags:
      - <tag1>
      - <tag2>

Exemple "list.yml"

  - url: https://theverge.com
    search: 
    warning: 1
    critical: 0.15
    tags:
      - prod
      - test

output

logging "stdout" format "Json"

Le "status_code" peut prendre différentes valeurs :

  • 0 = Success
  • 1 = Warning, temps de réponse trop long
  • 2 = Critical, timeout et 404
{"retcode": <CODE>, "url": <URLw>, "status_code": <CODE>, "result": <RES>, "timereq": <TEMPS_DE_REQUETE>, "message": <MESSAGE_RETOUR>}

Exemple

{"retcode": 200, "url": "https://www.theverge.com", "status_code": 0, "timereq": 0.023188114166259766, "message": "ok"}
{"retcode": 200, "url": "https://www.impots.gouv.fr/portail/", "status_code": 0, "timereq": 0.012618064880371094, "message": "ok"}

Exécution

  • La variable d'environnement "DELAY" est optionelle, par défaut elle sera d'une valeur de 30 secondes
  • La variable d'environnement "THREAD" est optionelle, par défaut elle sera d'une valeur de 2
export DELAY=<DELAI_ENTRE_TESTS>
export THREAD=<NOMBRE_THREAD_MAX>
export LIST=${PWD}/list.yml
python check-url.py

Docker

docker build -t monit/crawl:1.0 . --no-cache
docker run -d -v ${PWD}/list.txt:/sources/list.txt -e LIST=/sources/list.txt --name crawl monit/crawl:1.0

Docker Stack (+ logging gelf dans logstash)

Pas besoin de builder l'image, elle est disponible sur notre registry

VERSION=0.8.1 docker stack deploy <NOM_STACK> -c docker-compose.yml

Fonctionnalitées futures

  • Code fonctionnel (mais pas très optimisé ...)
  • Creation d'une variable "return" (on sait plus ce qu'elle fait)
  • Source url/mot file txt
  • Variabiliser la tempo entre chaque lot de test
  • Multithread des requêtes
  • Variabiliser le nombre de Thread
  • Support du format yaml pour le fichier source
  • Source url/mot db (mariadb)
  • Ajout d'informations dans le log json (taille de la page ...)

License

Apache 2.0 Licence

This project is licensed under the Apache 2.0 license - see the LICENSE file for details.

Author Information

This role was created in 21/12/2018 by PG3

You can’t perform that action at this time.