+ Responder ao Tópico



  1. #1
    SysRq
    Visitante

    Padrão Plotando banda "agregada" pelo squid no MRTG

    Tenho usado o squid a algum tempo e algumas vezes pensei que seria util ter um gráfico de quanta banda ele está economizando, ou seja, agregando ao meu link.

    Semana passada tirei um tempo e montei o esquema que está ai em baixo.

    Descobri que com o proxy transparente chegamos a picos de 1 megabit de banda "agregada" no horário comercial, e uma media de +/- 650 kbps neste mesmo horário.
    Isto p/ um link de 6 Mbps a 100% neste horário.

    Com o preço que custa meu link posso dizer que o meu squid paga o seu hardware a cada 30 dias ou pouco mais . Otimo!!!

    Segue o esquema.

    []'s

    ------------ arquivo .cfg do MRTG --------------------
    Target[BandaAgregada]: `/usr/local/mrtg/run/external/banda-squid.sh`
    MaxBytes[BandaAgregada]: 1000000
    Xsize[BandaAgregada]: 600
    Title[BandaAgregada]: Squid Cache - Banda Agregada
    Options[BandaAgregada]: bits, growright
    PageTop[BandaAgregada]: <h1>Banda agregada pelo Squid Cache</h1>
    YLegend[BandaAgregada]: Bits por segundo
    LegendI[BandaAgregada]: Banda Agregada
    LegendO[BandaAgregada]: Banda Agregada
    #ShortLegend[BandaAgregada]:
    kMG[BandaAgregada]: k,M,G,T

    -------- script banda-squid.sh ---------------
    #! /bin/sh

    IP_SQUID=ip do squid
    SNMP_GET_EXEC=/usr/local/ucd-snmp/bin/snmpget

    CACHE_SERVER_IN_KB=$($SNMP_GET_EXEC -p 3401 IP_SQUID public enterprises.3495.1.3.2.1.12.0)
    CACHE_SERVER_IN_KB=$(echo $CACHE_SERVER_IN_KB | cut -d":" -f2)
    CACHE_HTTP_OUT_KB=$($SNMP_GET_EXEC -p 3401 IP_SQUID public enterprises.3495.1.3.2.1.5.0)
    CACHE_HTTP_OUT_KB=$(echo $CACHE_HTTP_OUT_KB | cut -d":" -f2)

    DELTA=$(( $CACHE_HTTP_OUT_KB - $CACHE_SERVER_IN_KB ))

    echo $DELTA
    echo $DELTA

    ----------------------------------------------

  2. #2

    Padrão Plotando banda "agregada" pelo squid no MRTG

    Opa, legal esse seu esquema.

    Teria como explicar como é o funcionamento do mesmo. O mrtg está rodando na mesma máquina que tem o squid?


    Tipo eu tenho o mrtg rodando em uma máquina separada dos hosts que monitoro. Em consequencia meus proxys não estão na máquina onde rodo o mrtg. Como eu faria nesse caso.

  3. #3
    SysRq
    Visitante

    Padrão Plotando banda "agregada" pelo squid no MRTG

    O MRTG e o squid estão em maquinas diferentes.
    A informação sobre o tráfego do squid é recuperada via SNMP.
    Vc precisa de um "cliente" SNMP instalado, no caso foi usado o snmpget.
    Caso seu linux não possua esta ferramenta, baixe as fontes do ucd-snmp, compile e instale.
    Seu squid precisa ter sido compilado com suporte a SNMP, ou vc vai ter de recompila-lo.

    []'s

  4. #4
    eric_lc
    Visitante

    Padrão Plotando banda "agregada" pelo squid no MRTG

    É preciso ter esse "echo $DELTA" duas vezes no final do script?
    É preciso configurar alguma acl no squid?

  5. #5
    SysRq
    Visitante

    Padrão Plotando banda "agregada" pelo squid no MRTG

    O MRTG exige dois valores para cada gráfico, então ou o script faz o output duplo ou vc teria de chama-lo duas vezes.
    Sobre as ACL, vc precisa liberar o acesso SNMP para sua maquina com o MRTG e bloquear todo o resto:

    acl snmppublic snmp_community public
    acl mrtg_host src ???.???.???.???/255.255.255.255
    snmp_access allow snmppublic mrtg_host
    snmp_access deny all

    As duas OID's que o script está lendo em seu squid são:
    Tráfego (HTTP) recebido dos servidores da internet e
    Tráfego (HTTP) enviado aos clientes.
    A diferença entre um e outro é o que seu cache "tirou do bolso".

    []'s

  6. #6
    eric_lc
    Visitante

    Padrão Plotando banda "agregada" pelo squid no MRTG

    Coloquei pra rodar com algumas modificações para funcionar com o pacote net-snmp. Ficou muito show!!!!