Imprimer

Stage Kévin Grisel Semaine 9

Résumé des tâches effectuées :

  • Affichage de statistiques quant aux instances mediboard d'un serveur :
    • Création des classes CMonitorAccessLogs et CProbeAccessLogs :

La sonde récupère les valeurs agrégées de la dernière heure de la table access_logs. Ces valeurs concernent, par exemple, la moyenne du nombre de hits, le temps d'exécution PHP moyen, etc. Ces données sont écrites dans la table monitor_access_logs avec pour référence l'ID de l'instance.

Ainsi, chaque instance dispose des informations qui lui sont liées. Les infos sont affichées dans une popup au clic sur le nom de l'instance (sur le tableau de bord).

Le script monitor_access_logs.php, qui rapatrie ces données depuis chaque client vers le serveur, sera exécuté une fois par heure.

    • Informations quant à la taille des enregistrements "countables" :

Dans l'onglet "Métrique" de Mediboard, figurent des noms de tables. La taille de ces tables doit être mesurée. J'ai rajouté dans les classes CMonitorAccessLogs et CProbeAccesslogs les fonctions permettants de calculer ces valeurs, Pour la calcul de la taille, je me sers de la méta-table information.schema de MySQL afin de récupérer la taille des enregistrements (et des indexes) ainsi que leur nombre, pour chaque table donnée.

Ces données sont affichées dans la même popup que les valeurs agrégées des logs d'accès.

    • Part des navigateurs utilisés par instance Mediboard :

Lors de la création des classes permettant de monitorer les instances de mediboard, j'avais prévu une évolution future afin de faire des statistiques quant aux types de connexions à chaque instance. J'avais donc comptabilisé le nombre de connexions par navigateurs et formater ces données en une chaine JSON stockées en base MySQL.

Ces données sont maintenant utilisées afin d'afficher un camembert lors du clic sur le lien "Part des navigateurs" à l'intérieur de chaque instance sur le tableau de bord.

  • Ajout d'un système de notifications PUSH

Lorsqu'une alerte est déclenchée, un mail peut éventuellement être envoyé. J'ai ajouté la gestion des notifications de type PUSH vers un Smartphone, Androïd ou iOS, en même temps que les mails. J'ai créé les API PHP permettant d'envoyer ces notifications via les services notifymyandroid (pour une notification PUSH vers un Smartphone Androïd) et Prowl (pour iPhone/iPad). Les notifications contiennent les noms du site et du serveur concerné ainsi que les mesures enregistrées au moment de l'alerte.

  • Mise à niveau des échelles pour l'historique des mesures :

J'ai commencé à réfléchir sur la solution permettant de mettre à jour le label affiché en abscisses en fonction de l'échelle d'horizon et de l'échelle de période.


Dernièrement modifié par kgrisel1394 points  .
Modifiée dernièrement le mardi 05 de juin, 2012 14h17m27.

Sponsors privilégiés

Mediboard project