Système de monitoring

Hello,

C'est mon tout premier message, alors je vais en profiter pour faire une brève présentation.

Je m'appelle Alan, je suis employé en tant que développeur dans une entreprise qui vend des sites Joomla. Dans cette activité, j'ai pu développer les systèmes de monitoring pour joomla JMonitoring et Watchful.li.
Il s'agit de système permettant de connaitre les extensions (plugins) installés sur chaque site du parc et de connaitre leur état de santé. J'y reviendrai plus tard.

Actuellement, je suis en train de monter une autre société à côté, Sekator.ch qui s'occupe de coacher les entreprises pour gérer leur présence sur internet. Lorsque j'ai développé ce site, je cherchais un moteur pour mon blog et j'ai découvert PluXml que j'ai pu intégrer avec une facilité déconcertante !

Je parlais donc des systèmes de monitoring et je me demandais s'il existait quelque chose de comparable pour PluXml.
Si ça n'est pas le cas, je me propose de développer un tel système.

Malheureusement, je ne connais pas encore très bien le fonctionnement de PluXml alors cela me prendrait un peu de temps et je ne ferais pas quelque chose d'aussi complet de JMonitoring.

Alors si ça n'a pas été fait, je me lance :)
«1

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour alan
    Non il n'existe rien au niveau monitoring.
    Ta contribution est la bienvenue.
    Content de PluXml réponde à tes besoins.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Hello,

    alan a écrit:
    système permettant de connaitre les extensions (plugins) installés sur chaque site du parc et de connaitre leur état de santé.
    et ça veut dire ? Tu vérifies chaque site ? Chaque site est connecté ?
  • Alors pour les deux autres projets dont j'ai parlé, ça se passait comme ça :

    - Un site maitre qui contient la liste des sites à surveiller ainsi que le détail des plugins installés
    - Sur chaque site à surveiller, on installe un plugin qui s'occupe de la communication avec le site maitre.

    Pour avoir une meilleure idée, c'est ce qui se passe sur http://www.jmonitoring.com/fr/a-propos.html

    Pour que ce soit automatique, c'est pas forcément facile pour tout le monde puisqu'il faut savoir faire un cron.
  • StéphaneStéphane Member, Former PluXml Project Manager
    quel est l'objectif ?
    déployer les mises à jours de plugins sur tous les sites qui sont surveillés ?

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Pas dans un premier temps.

    Imaginez qu'une agence web doive gérer 80 sites PluXml.
    Ce type de système aide à
    - recenser tout les sites en indiquant la version du PluXml, on sait à quoi on en est
    - pour chaque site, recenser les plugins et leurs versions
    - vérifier l'ensemble des sites, quand on vérifie ça check :
    -- Si la page répond
    -- Un mot spécial que vous définissez est utilisé pour vérifier sa présence sur la page d'accueil (test du contenu valide)
    -- Quelles sont les versions de apache, php, mysql
    -- La taille, la date de modification et le checksum de fichiers sensibles sont vérifiés
    -- Si un plugin a été installé/désinstallé

    Par exemple, vous savez que tel ou tel plugin a une faille de sécurité et vous vous demandez quels sont les sites qui ont ce plugin : vous retrouvez tout ça grâce à ce système.
    Je vais commencer à coder quelque chose, ce sera peut-être plus clair quand je pourrai présenter quelque chose (Mais ça va me prendre du temps).
  • StéphaneStéphane Member, Former PluXml Project Manager
    Ok merci pour ces précisions. C'est très clair maintenant

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • JosJos Member
    Ca pourrait être très utile pour gérer plusieurs sites.
  • DenDen Member
    Salut alan,

    Règle numéro 1 : ;)

    Gardé en tête... Qu'il ne faut pas doper PluXml et en faire une usine à gaz!

    Bye! Den
  • Comme je suis d'accord avec toi Den !
  • Je suis bien d'accord avec vous sur le principe de l'usine à gaz, c'est pour ça que j'ai choisi PluXml.

    C'est l'avantage d'un tel système, le plugin est tout petit et n'entrave jamais le bon fonctionnement du site.
    Le système pour le site de maître serait par contre un peu plus lourd (et encore), mais en général, on créé un site spécifique à cette tâche.

    Le plugin sur le site distant donne juste une sortie en JSON que le site maître s'occupe de récupérer avec cUrl et analyse le tout. Rien de bien méchant en terme de lourdeur. Le gros du travail est sur le site maître.

    J'ai parcouru la doc pour la création de plugins, je vais me lancer :)
  • alanalan Member
    Voila un tout petit bout de travail de fait :

    Voici le plugin à installer : http://sekator.ch/dev/verifikator/plxVerifikator.zip
    Une fois installé, rendez-vous sur cette adresse : http://sekator.ch/onlineVerifikator.php
    Remplissez le champ d'url, indiquez la racine de votre site (même s'il s'agit d'un sous-repertoire).

    Introduisez le mot secret qui est par défaut "test". Vous pouvez le modifier en adapttant le fichier configuration du plugin. Ce n'est pas un vrai plugin pour l'instant, car je ne sais pas encore exactement comment en créer un.

    La vérification est très rustique pour le moment, mais ça vérifie que le site répond et rapatrie les informations et vérifie qu'il existe un fichier htacces et robots.txt.

    A l'avenir, on pourra gérer une liste de sites (pas depuis sekator.ch, c'est juste pour l'exemple) et être régulièrement notifié de problèmes. J'aimerais bien aussi pouvoir gérer les notifications de mises à jour.

    Donc pour l'instant, c'est juste le résultat de la connexion entre deux sites que vous voyez, rien d'utile pour l'instant, c'est plus pour partager mon avancée :)
  • C'est un début mais ce n'est pas un plugin :P (inutile de répondre, c'est pour enfoncer le clou).

    Serait-il possible d'avoir également la page "onlineVerifikator.php" ?

    Petites remarques rapides, ligne 94 "Pas de plugins installés sur ce site". S'il n'y en a pas, il n'y a pas de "s".
    Et " Automatiquement rempli si vite", tu as surement voulu dire "si vide" ?
  • alanalan Member
    Effectivement, ça n'a encore rien d'un plugin. Il m'en faudra même deux, l'autre servant à contrôler une liste de sites.
    La page du formulaire et son action n'ont pour l'instant pas d'intérêt et ça n'est pas comme ça du tout que ce sera présenté, chacun aura son propre système.

    Si tu veux juste vérifier que je ne créé pas de backdoor, je t'envoie volontiers en privé les fichiers que j'ai fait. Autrement, je ne vais pas tarder à m'atteler à quelque chose de mieux fini.

    Merci d'avoir jeté un oeil, je corrigerai ce que tu as vu ce soir.
    C'est effectivement si vide. Ces configurations, j'aimerais les gérer depuis l'administration pluxml, bien entendu.
  • Aide toi d'un plugin officiel pour commencer (pas ckeditor c'est le plus compliqué). C'est assez simple à comprendre.

    Grosso modo, pour ce que tu veux faire, il te faut 3 fichiers de "contrôle" :
    [list=*]
    [*]un fichier principal ayant pour nom verifikator[/*]
    [*]un fichier nommé config qui ne sera accessible que depuis les paramètres/plugins car ne devant être utilisé que pour le paramètrage (typiquement dans ton cas, l'url du site principal[/*]
    [*]un fichier admin si tu veux que l'on gère certaines choses sans passer par le paramètrage, dans ton cas, les url des sites à monitorer et des codes de connexion[/*]
    [/list]
  • alanalan Member
    Ok, j'ai corrigé tes remarques, ce midi je vais commencer à observer un de ces plugins et en faire un vrai pour le client.
    J'aimerais essayer de publier quelque chose en beta assez vite et grâce à la simplicité de pluXml (merci), je devrais y arriver :)
    Merci de tes conseils !
  • alanalan Member
    Hello,

    J'ai comparé avec le plugin myContact, ça m'a en effet bien aidé.
    Maintenant je me pose une question : j'aimerais que la configuration ou l'éventuel fichier de paramètres soit récupéré dans mon programme de vérification.
    Le souci, c'est que ce fichier de vérification doit pouvoir être accédé depuis une url.

    Comment dois-je faire ? Inclure le framework pluXml au départ de mon fichier ? Y a-t-il une meilleure façon de faire ?
    Peut-être en passant par un paramètre d'url, je peux accéder à mon programme tout en passant par pluXml ?

    Est-ce qu'à ce point de la discussion il serait préférable que je démarre un nouveau sujet dans le forum des plugins ?

    Merci encore pour ton aide, Jerry.
  • A mon avis, si tu veux y accéder par une url, il faudrait enregistrer le fichier dans le dossier "documents" de data. Sinon, je pense que tu te feras jeter si tu n'es pas connecté.


    Si Stéphane pouvais confirmer, s'il passe par là ???
  • StéphaneStéphane Member, Former PluXml Project Manager
    tu ne pourras pas accéder aux fichiers dans data/configuration car le dossier est protégé par un .htaccess avec un deny all

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • alanalan Member
    Hello,


    Merci pour ta réponse. Est-ce que je suis donc obligé de faire un "faux" plugin de sorte à ce que je puisse accéder mon fichier directement ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    oui il va falloir que tu fasses une sorte d'api qui te permettra d'accéder aux données des répertoires protégés. faudra juste que tu sois béton coté sécurité.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • alanalan Member
    Ok je te remercie, je pense que je vais simplifier au maximum les interactions possibles de sorte à ce qu'il y ait le moins de failles possibles.


    Je vous montrerai de toutes façons mon travail de sorte à éviter les bourdes avec pluXml, ce plugin devrait rester plutôt simple. C'est le plugin maître qui va être un peu plus compliqué.


    Merci beaucoup, je vous redonne des nouvelles dès que mon plugin sera prêt :)
  • alanalan Member
    Hello,

    Ca m'a pris du temps, mais j'ai avancé !

    Voici donc quelques petites améliorations à mon plugin : il est devenu gérable comme un plugin (activable et configurable) mais fonctionne toujours de manière indépendante.

    Voici le plugin à installer : http://sekator.ch/dev/verifikator/plxVerifikator.zip
    Une fois installé, rendez-vous sur cette adresse : http://sekator.ch/onlineVerifikator.php
    Remplissez le champ d'url, indiquez la racine de votre site (même s'il s'agit d'un sous-repertoire).
    Renseignez aussi le mot secret dispo dans la configuration du plugin.

    Si les gourous de la sécurité pouvaient jeter un oeil à mon plugin et me dire s'il y voient des soucis, ce serait aimable :)

    Une fois que cette base sera validée, je crééerai le système de gestion de sites, avec un vrai plugin cette fois.

    Bonne journée
  • jack31jack31 Member
    mars 2013 modifié
    Salut Alan :)


    Je viens de testez ton plugin et pour info te fais remonter le résultat.


    Le téléchargement via l'installation automatique dans la gestion des plugins ( Url du fichier plugin) ne fonctionne pas et télécharge le zip dans le dossier plugins.

    Il y a là aussi un plxVerifikator.php


    J'ai installé via FTP et je t'envoie le résultat par MP.


    Bonne route avec ce travail qui pourrait être utilisé pour l'aide au débogage en y mettant un peu de bonne volonté. ;)
  • alanalan Member
    Hello,

    Merci pour ton retour que j'ai bien reçu.
    Je n'ai pas encore observé le système d'installation automatique. Je ne connaissais même pas ça ^^, je vais y jeter un oeil.
  • jack31jack31 Member
    mars 2013 modifié
    Oui, c'était ça.


    J'ai raté la première installation en essayant l'importation directe et il n'a fait que me copier le fichier plxVerifikator.zip dans /plugins.


    Il s'est aussi décompressé là et du coup, outre tes fichiers, il y avait aussi le répertoire "lang" qui donnait....

    [== Indéfini ==]
       [_empty_] => stdClass Object
                    (
                        [value] =>
                        [errorLevel] => 0
                        [message] =>
                    )
    
    

    Voili-voilou. :)
  • Bonjour Alan,
    alan a écrit:
    j'ai pu développer les systèmes de monitoring pour joomla JMonitoring et Watchful.li. [...]
    Je parlais donc des systèmes de monitoring et je me demandais s'il existait quelque chose de comparable pour PluXml.
    Si ça n'est pas le cas, je me propose de développer un tel système.
    En effet, pour le moment il n'y en a pas, mais il serait intéressant d'en avoir un, même si c'est une version simple pour ce CMS qui monte. :)

    Joli travail déjà pour les deux cités (surtout le deuxième).
  • alanalan Member
    Hello Madrileño,

    Ca fait longtemps que je n'ai pas donné d'info sur ce projet : il n'a pas avancé depuis la dernière fois.
    Effectivement, j'ai la chance d'avoir beaucoup de travail. Toutefois, je vais vite en avoir besoin pour moi, alors ça va se faire :)

    Bonne journée à chacun :)
  • Bonjour à tous,

    Je suis en train de continuer mon projet.
    Une chose à changé, le système pour les sites distants ne sera pas un plugin PluXml. Je m'explique : je souhaite que le système puisse être facilement adaptable à d'autres CMS (ou sites sans rien). Ce système sera donc "Standalone".

    Par contre, le développement pour PluXml existe déjà.

    Je suis en train de re-construire un site (PluXml forcément) qui permettra de télécharger et tester le système facilement.

    Je vous donne des nouvelles d'ici vendredi.

    A bientôt :)
  • Bonjour,

    Alors voila, le système de monitoring Verifikator est prêt à être testé !
    Voici l'url sur laquelle vous pouvez télécharger le système et tester le tout : http://verifikator.sekator.ch/static2/verifikation

    Vous pouvez décider d'envoyer votre liste à vérifier toutes les 3h ou simplement effectuer un test direct.

    Le reste du site est vide pour l'instant. Je rédigerai une FAQ au plus vite.

    Au plaisir de lire vos avis.
  • C'est que tu as placé directement tes fichiers dans une archive zip. Il vaut mieux créer un dossier du nom du plugin, et mettre ce dossier dans l'archive pour que ça fonctionne.
Connectez-vous ou Inscrivez-vous pour répondre.