IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Stockage d'une valeur pendant un temps donné


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Stockage d'une valeur pendant un temps donné
    Bonjour,

    Je précise avant toutes choses que j'ai un niveau débutant/moyen

    Je voudrais écrire un plugin nagios pour superviser la bande passante d'interfaces réseau.
    Cela a déjà été fait mais j'aimerais le faire moi-même et avec ma propre logique.

    Sur le principe, une requête SNMP est faite sur une OID qui renvoie une valeur en octet, x temps plus tard, le check est relancé et une autre valeur est renvoyé, il faut faire la différence entre ces 2 valeurs et divisé par le temps entre les deux check.

    A la limite je pensais stocké la valeur du premier check dans une variable x, au check suivant la valeur de la variable x est déplacé dans une variable y et le résultat du check suivant est placé dans la variable x, comme ça je peux comparé.

    Par contre, comment je gère le temps ? Est-ce qu'il existe une fonction dans perl ?

    J'aimerais aussi votre avis sur le raisonnement, et que vous proposiez vos idées.

    D'avance merci.

  2. #2
    Membre confirmé
    Avatar de cmcmc
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 316
    Points : 641
    Points
    641
    Par défaut
    comment je gère le temps ? Est-ce qu'il existe une fonction dans perl ?
    Oui . Tu peux commencer ta recherche du côté de alarm dans perlfunc.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    La fonction alarm semble être conçu pour gérer des timeout nan ?

    Moi en gros je voudrais :
    - 1er check met l'heure en variable (si possible en secondes)
    - 2ème check met la deuxième valeur de l'heure en variable (en secondes)
    - soustraire v2 à v1 => ça je sais faire lol

    Je vais continuer mes recherches

  4. #4
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    L'appel de la fonction time en contexte scalaire te renvoie le nombre de secondes écoulées depuis l'"EPOCH" (1 jan 1970, 0h). Utilisation sous le debugger:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      DB<1> $start = time
     
      DB<2> print $start
    1380751013
      DB<3> $start = time
     
      DB<4> print $start
    1380751026
    Il s'est passé 13 secondes entre mes deux appels à la fonction time.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Wow, c'est parfait.
    Hier j'ai pigé la logique que j'allais employer pour l'enchainement des valeurs de mes variables.
    J'ai plus qu'a suivre le même principe pour le temps.

    Merci beaucoup

    P.S: Logique suivi pour le stockage

    1. $var = Valeur initialisation récupérer dans le fichier de buffer
    2. $varprev = $var
    3. $var = resultat requete SNMP
    4. $vardfiff = $var - $varprev (Nombre octets entre les 2 poll)
    5. $var => print de la valeur dans le fichier de buffer

    Quand le script est lancé une nouvelle fois, j'ai bien mon roulement de valeurs.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécuter une action en boucle pendant un temps donné
    Par greg_78 dans le forum Général Python
    Réponses: 10
    Dernier message: 07/10/2010, 07h09
  2. construire une sinusoide pendant un temps donne
    Par chris83160 dans le forum LabVIEW
    Réponses: 1
    Dernier message: 28/07/2010, 13h46
  3. [Mail] stoper une boucle pendant un temps donné
    Par gpsevasion dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2007, 01h14
  4. [VB5] apparition d'une fenetre pendant un temps donné
    Par NacNac dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/03/2007, 14h22
  5. [Conception] Comment faire pour bloquer une valeur pendant 24H
    Par lolodelp dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/07/2006, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo