Service de scan HTTP [Architecture] - Divers - Programmation
Marsh Posté le 04-02-2019 à 17:56:18
Juste comme ça : le site web qui va se faire scanner, il a donné son accord à celui qui a développé les scripts de scan périodique ? Je pose cette question dans le cas où le proprio du site scanné est différent de l'auteur des scripts faisant le scan. En effet, dans ce dernier cas, c'est interdit de faire ça sans accord
Sur un plan intellectuel, regarde du côté des algos d'ordonnancement. Tu regardes les jobs à faire et tu les planifies en fonction de leur date/heure de début (calculée en fonction de la périodicité) et de leur processing time. Pour faciliter le calcul, tu considères qu'un job périodique, c'est x jobs identiques décalés.
Marsh Posté le 06-02-2019 à 11:39:58
Oui tu as raison, sauf si je travail à la BnF
Plus sérieusement, le coup de scanner un site web n'est qu'un exemple d'usage. L'architecture que je cherche devrait fonctionne pour un scan dns, un scan réseau, voir même un service de ping
Tu me proposes donc de faire un sorte de plan d’exécution avec un algo d’ordonnancement avant de lancer l’exécution. Plan d’exécution qui serait remit à jour à chaque ajout (ou par batch d'ajout). Et l'avantage, c'est qu'il permettrait d'estimer si il faut un "second" batch car le premier ne permet pas de trouver de solution viable. c'est d'autant plus simple que les "scan" prennent un temps a peut près similaire.
J'aime bien l'idée.
Merci
Marsh Posté le 06-02-2019 à 14:04:30
Tu prends peut-être aussi le problème par le mauvais bout. Si c'est pour du DNS, il vaut mieux utiliser les principes de synchronisation existants pour ce type de protocole : https://fr.wikipedia.org/wiki/Domai [...] tionnelles
Pour le ping, de plus en plus de serveurs désactivent leur réponse à ce type d'interrogation pour des questions de sécurité.
Si ton service est plutôt orienté supervision, tu devrais utiliser le protocole SNMP, très adapté au polling
Après, oui, ton pb est ce qu'on appelle un problème d'ordonnancement à n tâches et m machines avec m initialisé à 1 et si pas de solution trouvée, m passe à 2 puis 3... jusqu'à trouver une solution.Regarde l'algo RM, ça devrait convenir : https://fr.wikipedia.org/wiki/Rate-monotonic_scheduling
Marsh Posté le 03-02-2019 à 23:49:57
Bonjour à tous,
Je me demandais quelle serait les solutions pour réaliser un service permettant de scanner un site web toutes les X minutes.
Explication du service:
Un client peut enregistrer un à n nom de domaine et associer à chaque nom de domaine un intervalle de temps entre chaque "scan".
Cet intervalle serait 1 min, 5 min, 1 jour, 1 semaine, 1 mois.
Le client pourrait en plus de ce scan régulier, lancer d'autres analyses périodiquement.
Un scan est d'une durée d'environ 1sec, et les analyses périodique prennent entre 10 et 50sec
Je me demande donc comment "garantir" la périodicité des scan dans une architecture multi serveur ?
Une première idée serait de séparer les deux architectures. Une pour les scan régulier, et une autre pour les analyses périodiques.
Une seconde idée serait de mettre un système de queue, où on séparerait les domaines à scanner toutes les minutes, ceux à scanner toutes les 5 minutes, etc... Mais dans ce cas comment être sur de la périodicité ?
Ou alors un système de batch serait plus intéressant ?
Bref, je suis preneur de piste/idée de comment structurer ce service.
Merci d'avance,
dd