Shinken : Quoi de neuf docteur?

Posted in Nagios by Nap on December 1, 2009 4 Comments

Shinken a bien avancé ces derniers temps. Dans le désordre :

  • Support de l’export en base NDO pour MySQL et Oracle (merci à Icinga pour leur fichier Oracle.sql d’ailleurs)
  • Les daemons sont maintenant réellement des daemons (option -d et ils ont leur propre fichier de conf pour choisir par exemple le port et l’interface d’écoute à utiliser)
  • Vérifications des checks orphelins (en gros dans un poller depuis bien trop longtemps)
  • Support du fichier ressource pour les macros $USERN$
  • Tunning mémoire pour les hôtes (utilisation des slots python comme pour les services)
  • Les plugins des brokers ont pris du galon : désormais ils sont configurable dans le fichier de conf principal avec un define plugin. Ils sont après rattachés à un satellite (pour l’instant seul les brokers peuvent les utiliser). De cette manière, il est possible d’instancier un même type de plugin plusieurs fois pour un même daemon. L’exemple le plus explicite de cela concerne la création de deux fichier service-perfdata ou bien l’export dans deux bases ndo.
  • Les plugins des brokers ne peuvent plus faire planter le broker. S’il y a une exception non catchée par eux, le module est désactivé.

La partie NDO n’est pas encore complète, mais le principal est là. Reste à l’optimiser, car pour l’instant la base morfle bien lorsque l’on créé beaucoup de services. La base Merlin est bien plus performante, mais bon, une fois mes cours de SGBD relus, peut être que mes requêtes NDO seront un peu plus efficaces aussi :mrgreen:

Related Posts:

Comments
  • Sylvain:

    Les modèles de base de données diffèrent pas mal entre NDO et Merlin. Avec NDO le SGBD est très chargé. La simplification ou l’amélioration du modèle NDO serait nécessaire pour l’utiliser dans de très gros environnements.

    De mémoire, NDO garde une trace de tous les checks, ce qui n’est pas le cas de Merlin. Forcément, ça cause ;-)

    • Nap:

      Tout à fait exact. Merlin a une table pour les services et les infos qui les concernent (nom, configuration, mais également status et output) là où NDO a en effet l’historique des checks et en plus il y a une table “objects” où il faut d’abord enregistrer un host ou un service puis après remplir la table service. Ca m’oblige pour l’instant à faire du SELECT, mais doit y avoir un moyen de s’en passer.

      Je pense que la simplification de NDO c’est merlin :) Par contre on n’a plus d’historique des checks et des états. Mais on peut se poser la question : est-ce bien utile d’avoir tous les résultats des checks passés? Je pense qu’un bon compromis serait d’avoir un historique des alertes, ça serait moins violent et plus utile que 20000 OK dans dont on se fiche royalement :)

  • Sylvain:

    Dans les checks, il y a aussi les données de performances. Si on veut stocker ces infos dans la base, il faut tous les checks. Dans ce cas, il faudrait probablement avoir un modèle de base de données optimisé (des spécialistes dans la salle ?). L’intérêt est d’avoir une base de données qui contient toutes les infos : conf, états, notification, donnés de performances, etc. Si on veut garder nagios en moteur et des applications tierces pour étendre ses fonctionnalités, il faut donner accès à ces infos via une base avec de bonnes performances ou un web service ou équivalent (json, rest, xml, protocole binaire, etc.).

    On peut également se poser la question de la fréquence de mises à jour de la base. Un gros INSERT coûte moins que de nombreux petits. Actuellement, j’ai l’impression que c’est plutôt plein de petits ;-) NDO fait exploser la taille des logs binaires mysql lorsqu’on active la réplication de base.

    • Nap:

      C’est exact. Pour les données de perf, pour l’instant c’est en bête fichier plat, mais on pourrait imaginer d’avoir une table juste pour eux. On pourrait le suggérer aux auteurs de Merlin ou bien de CentreonBroker (ils se mettent d’accord sur le schémas de leur base).

      Pour le problème de pleins de petites requêtes oui, c’est bien ça qui met au tas la base, mais avec Merlin ça tiens beaucoup mieux qu’avec NDO alors que c’est le même fonctionnement.

      Il nous faut un mix des deux bases en gros, mais vu mes dons plus que limités en schémas de base, je vais juste proposer l’idée sans proposer un patch avec… :p