Ad Widget

Collapse

Script dans le Low-Level-Discovery - Sans zabbix_agent ni SNMP

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • tiramiseb
    Senior Member
    • Sep 2012
    • 427

    #16
    Originally posted by sycoweb
    Mais alors, comparé à la façon de faire avec SNMP Discovery, etc ..., quelle serait la formulation (la "syntaxe" à utiliser dans la partie 'Key' notamment) pour exploiter ces possibilités ?
    Si tu en disais plus sur ce que tu veux superviser, sur ce que tu veux faire précisément et concrètement, je pourrais peut-être te répondre. Pour l'instant, tout ça semble très confus et je ne peux pas donner de réponse correcte sur la base de données confuses...

    Il faut découper ta réflexion en deux parties :

    - une première partie composée d'un élément qui inventorie les choses sur lesquelles se baser (comme pour le SNMP qui inventorie les ports présents sur un routeur, par exemple) - cet inventaire est alors remonté dans le format sus-détaillé
    - une seconde partie composée de la liste des éléments à créer sur la base de ce qui a été inventorié (donc une requête à formuler pour chacun des éléments)

    -----

    Le plus performant reste d'utiliser des agents Zabbix dès que c'est possible, soit dès qu'il y a un serveur sur lequel en installer. Sinon, le SNMP reste à peu près correct (mais ça a toujours été plutôt lent).

    Mais sans savoir précisément ce que tu veux faire, on ne peut pas correctement te conseiller...
    Traducteur principal de Zabbix en français ces derniers temps - Blog personnel - Boutique de domotique "DIY"

    Comment

    • sycoweb
      Junior Member
      • Mar 2016
      • 23

      #17
      Par Exemple :
      Graphe d'Environnement d'un Site (Temperature, Eclairement, Humidite)
      On les collecte avec un script ()'Get_Env_Site')
      Le dispositif distant sait fournir un lot des données collectées pour les différents locaux :
      {
      "LOC": "LAB01", "DEG": "22.6", "LUX": "213", "HYG": "74"
      },
      {
      "LOC": "ROO1", "DEG": "18.7", "LUX": "206", "HYG": "82"
      },
      {
      "LOC": "LAB21", "DEG": "21.7", "LUX": "232", "HYG": "78"
      }

      On peut vouloir par exemple :
      Graphe "Hygro "LAB01
      Graphe "Temp "ROO1
      ...

      Si un nouveau local est détecté, exemple :
      ...
      {
      "LOC": "RO13", "DEG": "18.7", "LUX": "206", "HYG": "82"
      },
      ...
      La découverte traite et collecte + graphes sur ce local sont créés.

      Comment

      • tiramiseb
        Senior Member
        • Sep 2012
        • 427

        #18
        Le raisonnement en deux temps se passe alors de la manière suivante :

        1/ la règle de découverte exécute un script (pointé par le champ "key") et récupère uniquement les valeurs "LOC". Le script exécuté doit retourner les données de la manière suivante :

        Code:
        {
          "data": [
            {
              "{#LOC}": "LAB01"
            },
            {
              "{#LOC}": "ROO1"
            },
            {
              "{#LOC}": "LAB21"
            }
          ]
        }
        Il peut y avoir des données en plus si tu veux, mais à cette étape seules ces données-là seront utilisées.


        2/ dans cette règle de découverte tu crées des prototypes d'éléments, chacun de ces prototypes exécute alors un script qui doit retourner la valeur demandée (et uniquement la valeur demandée) !

        Par exemple, tu peux avoir un item nommé "Température dans {#LOC}", il fournirait au script qu'il exécuterait les arguments "{#LOC}" (qui serait interprété selon la valeur de "{#LOC}" justement) et "DEG", ce script remonterait alors la valeur visée.

        Par exemple l'item "Température dans LAB01" enverrait les arguments "LAB01" et "DEG" au script en question et recevrait la valeur "22.6" en retour.


        (mais attention, l'exécution de scripts consomme beaucoup de ressources sur le serveur : si ça correspond à beaucoup d'items, il faut peut-être quelque chose de plus évolué que des scripts)


        Ensuite pour la réalisation je ne peux pas t'aider plus que ça, ça devient vraiment très spécifique à ton cas : il faut développer les scripts concernés, créer la configuration, etc. Si tu as besoin d'une aide pour le faire, je peux te fournir mes services professionnels. Mais je ne peux pas décemment y passer plus de temps bénévolement, c'est ce qui devrait me permettre de faire vivre ma famille après tout...
        Last edited by tiramiseb; 24-02-2017, 13:31.
        Traducteur principal de Zabbix en français ces derniers temps - Blog personnel - Boutique de domotique "DIY"

        Comment

        • sycoweb
          Junior Member
          • Mar 2016
          • 23

          #19
          Ah oui ! là je vois un peu plus ce qu'il y a sous le capot ...
          Pour ce qui est de l'écriture des outils, à quelques années de la retraite et Unixien à la naissance, j'ai le bagage
          Pour la Conf Zabbix, maintenant que tu m'as un peu démystifié le moteur, je vais piocher; c'est le but.
          Je te remercie beaucoup pour ton aide précieuse.
          A+
          Syco.

          Comment

          Working...