Announcement

Collapse
No announcement yet.

Bande passante utilisée chaque mois

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • hsbzh
    replied
    yep julio c'est vrai que par cron ça pourrait le faire... mais à ce moment là on pourrait passer non plus par snmp mais par iptables aussi, comme ça on peut monitorer un serveur sans avoir à installer snmp dessus

    ps : bientôt les sources de mon mod + tuto oreon sous slack !

    Leave a comment:


  • julio
    replied
    héhé

    renomme le autrement sinon les gens vont ecraser chez eux le vrai plugin

    Leave a comment:


  • furtif
    replied
    Je viens de trouver un ptit prob, apparament a cause d'un arrondit. Je corrige et je vous donne sa

    Leave a comment:


  • furtif
    replied
    Voici mon check_graph_traffic modifié :
    http://www.evox.fr.nf/uploads/05747430011793121038.rar

    Les parties ajoutés :
    Code:
    use DBI;
    use POSIX qw/strftime/;
    Code:
    my $datasource = "dbi:mysql:database=monitoring";
    my $user = "user";
    my $pass = "pass";
    my $date = strftime("%Y-%m-%d", localtime());
    
    my $dbh = DBI->connect($datasource, $user, $pass);
    Code:
    if($in_bits_unit eq "G")
    {
    	$in_bits=$in_bits*1000;
    	$in_bits_unit="M";
    }
    if($out_bits_unit eq "G")
    {
    	$out_bits=$out_bits*1000;
    	$out_bits_unit="M";
    }
    
    my $requete="SELECT count(*) as NbVal FROM `default` where `srv` = '$opt_H'";
    my $sth = $dbh->prepare($requete);
    $sth-> execute() || die "pb de selection : $DBI::errstr";
    my $valeur;
    
    $valeur = $sth->fetchrow_hashref;
    
    my $NbVal = $valeur -> {NbVal};
    	
    if($NbVal eq 0)
    {
    	$dbh->do("INSERT into `default` values('','$opt_H',0)");
    		
    }
    
    my $op = "SELECT `depart` AS NbDepart FROM `default` WHERE `srv` = '$opt_H'";
    my $opr = $dbh->prepare($op);
    $opr->execute || die "Pb requete NbDep";
    my $valr;
    $valr = $opr->fetchrow_hashref;
    my $depr = $valr -> {NbDepart};
    
    
    
    my $J = strftime("%d", localtime());
    my $M = strftime("%m", localtime());
    my $Y = strftime("%Y", localtime());
    
    my $sq = "SELECT count(*) AS NbValeur FROM `valeur` WHERE `srv` = '$opt_H' and `jour` = '$J' and `mois` = '$M' and `annee` = '$Y'";
    my $sr = $dbh->prepare($sq);
    $sr->execute;
    my $Valeur = $sr->fetchrow_hashref;
    my $NbValeur = $Valeur->{NbValeur};
    
    
    if($NbValeur eq 0)
    {
    	$dbh->do("INSERT into `valeur` values('','$opt_H','$J','$M','$Y',0)");
    }
    
    
    my $outbit=sprintf("%.0f", $out_bits);
    if($depr > $out_bits)
    {
    	$dbh->do("UPDATE `default` SET `depart` = $outbit WHERE `srv` = '$opt_H'");
    	$dbh->do("UPDATE `valeur` SET `total_out` = total_out + $outbit WHERE `srv` = '$opt_H' and `jour` = '$J' and `mois` = '$M' and `annee` = '$Y'");
    } else
    {
    	my $NewBit = $outbit - $depr;
    	$dbh->do("UPDATE `valeur` SET `total_out` = total_out + $NewBit WHERE `srv` = '$opt_H' and `jour` = '$J' and `mois` = '$M' and `annee` = '$Y'");	
    	$dbh->do("UPDATE `default` SET `depart` = $outbit WHERE `srv` = '$opt_H'");
    
    }
    
    $sth->finish();
    Les deux tables de la base de donnée "Monitoring" :
    Code:
    CREATE TABLE `default` (
      `id` int(10) NOT NULL auto_increment,
      `srv` varchar(50) NOT NULL,
      `depart` int(30) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=127 ;
    Code:
    CREATE TABLE `valeur` (
      `id` int(10) NOT NULL auto_increment,
      `srv` varchar(30) NOT NULL,
      `jour` varchar(5) NOT NULL,
      `mois` varchar(7) NOT NULL,
      `annee` varchar(4) NOT NULL,
      `total_out` int(10) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=252 ;

    Je tiens a signalé que ce n'est pas de la belle programmation, je découvre le Perl Et aussi que le plugin modifié est pour moi en BETA, je suis entrain de vérifier l'exactitude des données.

    Bonne journée

    Leave a comment:


  • furtif
    replied
    Bon, j'ai modifié le check_graph_traffic pour ajouter cette petite option, en sachant qu'il faut aussi prendre en compte le reboot du serveur, donc la remise à zero des données.. Donc j'utilise deux tables. Je prefere encore tester le script pour voir si les données sont plausible, et si c'est tout bon, je le partagerai

    Leave a comment:


  • julio
    replied
    bah ca marche pareil pour le traffic, t'as les octets qui passe sur la carte reseau.. tu addissionne a chaque fois les données et hop c joué... et tu remet a 0 au debut du mois...

    Leave a comment:


  • furtif
    replied
    Par SNMP ? Je vois pas trop comment. Aurais tu une commande ?

    Merci

    Leave a comment:


  • julio
    replied
    Originally posted by hsbzh View Post
    C'est en partie le but de mon post précédent dans cette section :cool:

    Pour l'instant je suis en train de modifier le check_graph_traffic à ma sauce pour fournir la bande passante utilisée par host par jours/semaines/mois/année ^^

    ca se fait par SNMP, un cron suffit... c'est tout bete...

    Si tu reprend le plugin de traffic il marche en bit/s

    Leave a comment:


  • furtif
    replied
    Hop Ajouté. Pour IRC je vais voir sa de suite

    Leave a comment:


  • hsbzh
    replied
    Yep mon msn est dans mon profil tu peux le prendre :grin: sinon passe sur irc je pense qu'on devrait tous s'y connecter donc j'y suis dès que je le peux

    Leave a comment:


  • furtif
    replied
    Code:
    Pour l'instant je suis en train de modifier le check_graph_traffic à ma sauce pour fournir la bande passante utilisée par host par jours/semaines/mois/année ^^
    As tu msn ? On pourrait s'aider. Car je dois fournir sa pour mon boss

    Leave a comment:


  • hsbzh
    replied
    C'est en partie le but de mon post précédent dans cette section :cool:

    Pour l'instant je suis en train de modifier le check_graph_traffic à ma sauce pour fournir la bande passante utilisée par host par jours/semaines/mois/année ^^

    Leave a comment:


  • DonKiShoot
    replied
    RMON est une sonde réseau si je ne me trompe.
    En effet cela remonte beaucoup d'info mais saura tu les exploiter

    Leave a comment:


  • furtif
    replied
    Apparament "RMON" fait cela, quelqu'un à plus d'infos ?

    Leave a comment:


  • furtif
    started a topic Bande passante utilisée chaque mois

    Bande passante utilisée chaque mois

    Bonjour,

    Je me pose une question.
    Comment faire pour controler le nombre de Mo (voir To) transférés chaque mois ? En fait j'aimerai pouvoir fournir aux clients des statitiques de bande passante utilisée chaque mois...

    Merci d'avance
Working...
X