pessoal, eu instalei o mrtg e utilizei alguns scripts para gerar alguns graficos, so que eu precisava monitorar as conexoes que sao estabelecidas no meu servidor, alguem poderia informa como poderei fazer isso?
pessoal, eu instalei o mrtg e utilizei alguns scripts para gerar alguns graficos, so que eu precisava monitorar as conexoes que sao estabelecidas no meu servidor, alguem poderia informa como poderei fazer isso?
Acho que não dá pra fazer isso com mrtg. O que exatamente vc quer? Se for só saber qnd está sendo estabelecida uma conexão, vc pode usar o LOG do iptables. Claro q isso geraria um arquivo texto enorme e não um gráfico de fácil interpretação. Detalha mais aí o teu problema.
Postado originalmente por eric_lc
to querendo eh seguinte, quero saber a quantidade ou % de conecções estabelecidas em uma determinada porta,
ex: na porta 80
quantas pessoas conectaram-se no meu servidor apache.
sei que rola fazer log com iptables na porta, mas to querendo isso no grafico.
como mrtg utiliza shell script, tenho quase certeza q tem como fazer isso com mrtg.
Cara, acho que o mrtg não usa shell script não. Mas um programa que faz exatamente isso que vc quer é o webalizer. Sei que o RPM dele já vem nas distros RedHat e SuSE. Já vi ele rodando no RedHat, se não me engano não precisei fazer conf nenhuma, só instalei e ele tava funcionando. Espero ter ajudado.
é isso mesmo Webalizer..
nesse artigo http://br-linux.org/tutoriais/001627.html
vc vai achar seguinte texto
.....
O MRTG (www.mrtg.org) é um software livre que facilita enormemente a tarefa de acompanhar o funcionamento do seu sistema. Embora o seu foco seja o acompanhamento de componentes de rede através do protocolo SNMP, você pode muito bem utilizar este software para verificar o funcionamento do seu computador doméstico ou estação de trabalho mesmo sem instalar o suporte a SNMP - basta usar a sua interface com scripts shell.
basta usar a sua interface com scripts shell.
como eu ja instalei e configurei , poço te garantir q ele utiliza shell script
no seu mrtg.cfg vc vai define os parametros e uns desse vc define onde ta o script em shell,
ao carregar o mrtg, ele vai gerar grafico apartir desse shell script.
com isso eu volto a pergunta, teria como ter um shell script q pudesse interagir com mrtg que o mesmo foce responsavel pelo monitoramento das conexoes estabelecidas no meu servidor?!?!?
tb quero ver oq vira
Bom, eu uso o mrtg pra monitorar tráfego em roteadores usando SNMP. Usei o cfgmaker pra fazer o mrtg.cfg e só. Meu ambiente é bem simples.
Acho que configurar o mrtg pra isso que vc quer, se for possível, vai dar trabalho.
Voltando ao webalizer, acho bom vc dar uma olhada nele. Ele coleta e consolida os logs do servidor web em vários tipos de relatórios. é uma fonte ded informação muito boa.
cara acho que você pode utilizar o "lsof -i TCP" para puxar informações sobre as conexões, e com a ajuda de algumas ferramentas como grep, sed (filtrar e contabilizar os dados) e awk (imprimir na forma que o mrtg precisa os dados na saída do script) da para fazer um um script que puxa as informações das conexões estabelecidas com o seu webserver.
por exemplo se você der o comando, como root:
lsof -i TCP@[ip do webserver]:80 -n | grep -c ESTABLISHED
ele vai te dar o número de conexões ativas naquele momento com a sua porta 80 (webserver)
e você precisa cuidar também qual é a finalidade destes dados, se será técnica ou administrativa, pois com o comando acima vai te trazer naquele momento quantas conexões estão acontecendo com seu webserver naquele momento e nós temos que levar em conta que um broswer faz mais de uma conexão simultaneamente com o servidor para agilizar a transferência dos dados, isto é, neste caso pode aparecer várias conexões mas haver apenas 1 computado ou pessoa acessando o site. Tecnicamente este dado é ótimo, administrativamente não serve pois você vai dizer para o gerente que em uma hora 1000 pessoas acessaram o site quando na verdade foram 100 que fizeram 10 conexões cada uma. E por outro lado pode acontecer que existam pessoas visualizando o site naquele momento mas não ter nenhuma conexão rolando, pois a pessoa requisitou uma página, o broswer criou as conexões, puxou as informações, e às encerrou.
Concluindo:
Se você precisa de dados TÉCNICOS para aferir largura de banda, capacidade do servidor, etc.. para um bom funcionanemto do webserver parta para o mrtg
Se não, se você quer apresentar isto para alguém tipo diretoria ou gerência, etc, o mais interessante é usar o webalyzer mesmo, que traz dados relevantes neste sentido
muito obrigado a todos, ssk vc deu uma aula, parabensPostado originalmente por ssk
vou da uma estudada no que vc me falou..
abraço a todos
outra coisa, com o comando que vc passou sera legal usar mrtg para saber qual o horario que tenho mais acesso no meu servidor, mas em relação administrativa, vou estudar oq vc disse.
abraço
infelizmente, não vou poder testar ainda, vai demorar um pouco, mais pra quem tem mrtg, poderia testar e posta ve se saiu legal..
no mrtg.cfg fica assim:
Target[httpd]: `/usr/local/apache2/httpd.sh`
Title[httpd]:"Conexoes no Servidor WEB porta 80"
MaxBytes[httpd]:100
PageTop[httpd]: <h1>Conexoes no servidor WEB</h1>
Options[httpd]: growright,bits,noinfo
e no arquivo /usr/local/apache2/httpd.sh
ficaria
#/bin/bash
lsof -i [email protected]:80 -n | grep -c ESTABLISHED
#########fim
lembrando que 200.200.200.200 eh o ip do seu servidor.
agora so basta alguem q tenha o mrtg instalado em um máquina com WEB testar
acho q só para semana vou poder finalizar com esses teste, mas acho que rola numa boa..
abraço a todos
espec.ppgia.pucpr.br/monitor
esse link tem um esquema com mrtg que um professor fez pra monitorar
um servidor na faculdade...
entra lá e veja c interessa...
tem um tar com os arquivos q ele usou....
espero que ajude...
Boa idéia essa sua.
Eu fiz aqui no meu mrtg, mas deu erro:
Arquivo de conf mrtg-apache.cfg:
Código :#Tava faltando o Workdir WorkDir: /srv/www/default/html/mrtg/apache Target[httpd]: '/etc/mrtg-apache.sh' Title[httpd]:"Conexoes no Servidor WEB porta 80" MaxBytes[httpd]:100 PageTop[httpd]: <h1>Conexoes no servidor WEB</h1> Options[httpd]: growright,bits,noinfo
Arquivo mrtg-apache.sh:
Código :#/bin/bash lsof -i [email][email protected][/email]:80 -n | grep -c ESTABLISHED
Agora, o Erro:
Código :[root@cbq mrtg]# mrtg /etc/mrtg-apache.cfg ERROR: Target[httpd][_IN_] ''/etc/mrtg-apache.sh'' evaluated to '/etc/mrtg-apache.sh' instead of a number ERROR: Target[httpd][_OUT_] ''/etc/mrtg-apache.sh'' evaluated to '/etc/mrtg-apache.sh' instead of a number WARNING: Skipping Update of httpd, inlast is not defined WARNING: Skipping Update of httpd, outlast is not defined
Detalhe:
Se eu rodar só o script com o lsof, ele mostra a contagem de conexões:
Código :[root@cbq mrtg]# /etc/mrtg-apache.sh 2
Segundo o manual do MRTG, http://people.ee.ethz.ch/~oetiker/we...reference.html, diz que é pra usar áspa simples invertida (`).
Editei o script, mas ainda não funcionou:
Código :[root@cbq etc]# mrtg mrtg-apache.cfg WARNING: Problem with External get '/etc/mrtg-apache.sh': Expected a Number for 'out' but nothing' ERROR: Target[httpd][_OUT_] ' $$target[0]{$mode} ' did not eval into defined data Use of uninitialized value in pattern match (m//) at /usr/bin/mrtg line 262. Use of uninitialized value in numeric lt (<) at /usr/bin/mrtg line 269. ERROR: outlast is undefined. This should not be possible
Mas se eu rodar o script, ele mostra 6 conexões:
Código :[root@cbq etc]# /etc/mrtg-apache.sh 6
Postado originalmente por cerealkiller
você ta no caminho certo, continua tentando, infelizmente não poço testar aqui ainda. mas eu to achando eh pq o mrtg necessita de 2 numeros.
quando vc executa o script ele so te fornece um numero, tenta coloca 2 linhas, com 2 portas diferentes, e roda o mrtg.
mas vlw ae galera, gostei de ver