[FUG-BR] Tráfego de banda (CACTI + PFCTL)

Gilberto Villani Brito linux em giboia.org
Quarta Janeiro 24 14:34:43 BRST 2007


Olá Welkson;
Tive que fazer a mesma coisa que você, demodei algum tempo, mas
consegui desenvolver uma ferramenta que gera esse gráfico em um
servidor remoto cacti pelo snmp.
Estou tentando entrar em contato com o pessoal do cacti, para
disponibilizar o plugin, mas eles não respondem.
Não sei se a lista aceita arquivo anexo, por isso, se desejar te mando
por e-mail.

Abraços
Gilberto

2007/1/23, Welkson Renny de Medeiros <welkson at focusautomacao.com.br>:
> Senhores,
>
>
> Estou precisando montar um gráfico para saber como anda o tráfego de uma vpn
> (openvpn):
>
> Seguindo essas dicas:
> http://forums.cacti.net/about14175.html
>
> *** Firewall
> vpn_if = "tun0"
> # VPN Bandwidth
> pass in log on $vpn_if label "vpn-in"
> pass out log on $vpn_if label "vpn-out"
>
> *** Minha crontab:
> */5 * * * * /sbin/pfctl -zsl > /home/cacti/bandwidth.dat
>
> *** A crontab grava o resultado do pfctl no bandwidth.dat
> [root at netserver:/home/cacti] # cat /home/cacti/bandwidth.dat
> vpn-in 30638 602 69716
> vpn-out 1358 756 553526
>
> * o script BW.PHP
> [root at netserver:/] # cat
> /usr/local/www/data-dist/intranet/security/cacti/scripts/bw.php
> #!/usr/local/bin/php
> <?php
> // get rule type
> $rule = $argv[1];
>
> // setup in and out rules
> $rule_in  = "vpn-in";
> $rule_out = "vpn-out";
>
> // grab the bandwidth file contents
> $lines = file("/home/cacti/bandwidth.dat");
>
> // loop through file lines
> foreach($lines AS $line)
> {
>    // if line is blank go to next
>    if(empty($line)) continue;
>
>
>    // split the line up
>    $parts = explode(" ", $line);
>
>    // setup an array and store the rules and bytes parts in it
>    $rw = array();
>    $rw['rule']  = $parts[0];
>    $rw['bytes'] = str_replace("\n", "", $parts[3]);
>
>    // check its the line that matches the rule
>    if($rw['rule'] != $rule_in && $rw['rule'] != $rule_out) continue;
>
>    // print out the values
>    print $rw['rule'].":".$rw['bytes']." ";
> }
> ?>
>
> ****** Resultado do bw.php
> [root at netserver:/] # php
> /usr/local/www/data-dist/intranet/security/cacti/scripts/bw.php
> PHP Notice:  Undefined offset:  1 in
> /usr/local/www/data-dist/intranet/security/cacti/scripts/bw.php on line 4
>
> Notice: Undefined offset:  1 in
> /usr/local/www/data-dist/intranet/security/cacti/scripts/bw.php on line 4
> vpn-in:69716 vpn-out:553526
>
> Exibe um notice, não foi passado um parâmetro, mas mostra o resultado... até
> aí tudo ok.
>
> Até aqui tudo bonitinho... adicionei os "Data Input Method" no Cacti... e
> agora? como faço para fazer os "Data Source"? já dei uns "chutes" mas sem
> sucesso... no tutorial não explica como fazer isso... alguma sugestão?
>
>
> --
> Welkson Renny de Medeiros
> Focus Automação Comercial
> Desenvolvimento / Gerência de Redes
> welkson at focusautomacao.com.br
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


Mais detalhes sobre a lista de discussão freebsd