Relation BBD/Interface

  • Comment est géré l’interface dans centreon

    Préambule

    Quand j’ai commencé linux la première phrase qu’on peut lire dans la littérature consacrée est : « tout est dans un fichier ».

    Pour la gestion de l’interface de centreon on peut dire « tout est en base » 😀

    Il m’est arrivé d’avoir des données corrompues ,en arrivant chez mes clients, parce que des personnes, certainement plus intelligentes que les autres, ont crues bon d’écrire directement en base 😛

    Il m’a paru donc important d’expliquer :

    • Comment est gérée l’interface
    • Comment sont affichés les éléments de configuration

    Dans cette suite d’article nous verrons :

    • Le lien entre la base de données et l’affichage des menus dans l’interface
    • Comment centreon affiche les informations dans l’interface depuis les vues
    • Menu Monitoring
    • L’état des services avec application de filtres
    • Menu Configuration
    • Liste des hôtes avec les différents filtres disponibles
    • Liste des services avec les différents filtres

    Les forces en présence

    Les fichiers

    Les fichiers de mise à disposition de l’interface à apache sont présents dans le répertoire /usr/share/centreon/www du serveur web

    Au premier niveau nous avons ci-dessous les répertoires les plus importants :

    • include -> Code php pour afficher les différents menus
    • modules -> Les différents modules opensource ou non installés
    • widgets -> Code des widgets utilisés dans les customviews

    Les bases de données

    Tous les éléments permettant le bon fonctionnement de l’interface sont dans la database centreon. Donc on ne modifie rien dedans par une commande mysql, que ce soit par un insert, drop, update ou tout autre commande farfelue qui pour passer par la tête d’un illuminé.

    On ne fait que des « select » et rien de plus.

    J’espère que c’est écrit suffisamment gros pour que le message soit clair 😀

    Lire la suite« Comment est géré l’interface dans centreon »
  • Database centreon-storage

    Avant-propos

    Il est important de comprendre que la database centreon_storage est la table du temps réel.

    Toutes les données affichées dans la console en dehors des vues configuration et administration proviennent de cette database.

    Il y a un lien entre les databases centreon et centeon_storage ce sont les ID pour :

    • Les hôtes
    • Les différents regroupements
    • Services
    • Hosts
    • Services

    Donc tous les vues temps réel s’appuient sur cette database en utilisant la durée de rétention pour afficher l’historique dans les différentes vues.

    La structure de la database est sensiblement identique à celle de centreon.

    Pour faire un raccourci dans la database centreon les tables sont au singulier et dans centreon-storage au pluriel.

    Ainsi par exemple les tables on peut faire les relations suivantes :

    centreoncentreon_storage
    acl_group_contactgroups_relationscentreon_acl
    hosthosts
    hostgrouphostgroups
    host_service_relation 
    host_template_relation 
    Hostcategories 
    hostcategories_relation 
    hostgroup_hg_relation 
    hostgroup_relationhosts_hostgroups
    dependency 
    dependency_hostChild_relationhosts_hosts_dependencies
    dependency_hostParent_relation 
    host_service_relation 
    host_hostparent_relationhosts_hosts_parents
    servicegroupservicegroups
    serviceservices
    servicegroup_relationservices_servicegroups
    dependency_serviceParent_relationservices_services_dependencies
    dependency_serviceChild_relation 
    dependency_servicegroupChild_relation 
    dependency_servicegroupParent_relation 
    service_categories 
    service_categories_relation 
    nagios_serverinstances

    Nous pouvons noter que certaines tables n’existent pas dans cetreon_storage. Donc la console aura besoin des 2 databases pour afficher les informations dans la console.

    Lire la suite« Database centreon-storage »