Criando facilmente um servidor APACHE2 + PHP5 (ou PHP4) + SNMP + MRTG

Neste tutorial ensinarei como montar um servidor WEB com o APACHE2, PHP5, SNMP e o MRTG. Me esforcei muito reunindo todas essas informações na WEB, pois na parte de configuração do SNMP e do MRTG não vi nenhum tutorial que realmente ensinasse a configurá-los desde o começo e de maneira clara.

[ Hits: 62.394 ]

Por: Eduardo em 11/08/2007


Instalando e configurando o SNMP e o MRTG



3° SNMP (Simple Network Management Protocol)

Se você não sabe o que é o SNMP, leia mais sobre ele em:
Usaremos uma versão mais antiga do "Net-snmp", o nome dela é "Ucd-snmp".

O site oficial do Net-snmp é o:
Vamos baixar agora o Ucd-snmp, podemos encontrá-lo em:
Escolha o ucd-snmp-4.2.7.tar.gz.

Agora vamos descompactá-lo. Digite:

# tar zxfv ucd-snmp-4.2.7.tar.gz

Agora entre no diretório do ucd-snmp descompactado. Digite:

# cd ucd-snmp-4.2.7

Compilando e instalando

Digite:

# ./configure --prefix=/usr/local/snmp

A configuração irá parar com as seguintes linhas:

You are about to be prompted with a series of questions. Answer them carefully, as they determine how the SNMP agent and related applications are to function.

After the configure script finishes, you can browse the newly

created config.h file for further - less important - parameters to modify. Be careful if you re-run configure though, since config.h will be overwritten.

-Press return to continue-

Aperte "ENTER"

checking Default version of SNMP to use...

*** Default SNMP Version:

Starting with Ucd-SNMP 4.2.7, you can choose the default version of the SNMP protocol to use when no version is given explicitly on the command line, or via an 'snmp.conf' file. In the past this was set to SNMPv1, but you can use this to switch to SNMPv3 if desired. SNMPv3 will provide a more secure management environment (and thus you're encouraged to switch to SNMPv3), but may break existing scripts that rely on the old behaviour. (Though such scripts will probably need to be changed to use the '-c' community flag anyway, as the SNMPv1 command line usage has changed as well.).

At this prompt you can select "1", "2" (for SNMPv2c), or "3" as the default version for the command tools (snmpget, ...) to use. This can always be overridden at runtime using the -v flag to the tools, or by using the "defVersion" token in your snmp.conf file.

Providing the --with-default-snmp-version="x" parameter to ./configure will avoid this prompt.

Default version of SNMP to use (3):

Digite: "3" sem as aspas e depois aperte ENTER

setting Default version of SNMP to use to... 3

checking System Contact Information...

*** System Contact Information:

Describes who should be contacted about the host the agent is running on. This information is available in the MIB-II tree. This can also be over-ridden using the "syscontact" syntax in the agent's configuration files.

Providing the --with-sys-contact="contact" parameter to ./configure will avoid this prompt.

System Contact Information (root@):

Digite agora o seu e-mail, exemplo: meunome@hotmail.com

setting System Contact Information to... meunome@hotmail.com

checking System Location...

*** System Location:

Describes the location of the system. This information is available in the MIB-II tree. this can also be over-ridden using the "syslocation" syntax in the agent's configuration files.

Providing the --with-sys-location="location" parameter to ./configure will avoid this prompt.

System Location (Unknown):

Digite agora "localhost" sem as aspas.

Checking Location to write logfile... localhost

*** Logfile location:

Enter the default location for the snmpd agent to dump information & errors to. If not defined (enter the keyword "none" at the prompt below) the agent will use stdout and stderr instead.

(Note: This value can be over-ridden using command line options.)

Providing the --with-logfile="path" parameter to ./configure will avoid this prompt.

Location to write logfile (/var/log/snmpd.log):

Aqui é o caminho de onde será gravado os logs.
Digite "/usr/local/snmp-config/snmpd.log" sem as aspas.

*** snmpd persistent storage location:

Enter a directory for the SNMP library to store persistent data in the form of a configuration file. This default location is different than the old default location (which was for ucd-snmp). If you stay with the new path, I'll ask you in a second if you wish to copy your files over to the new location (once only). If you pick some other path than the default, you'll have to copy them yourself.

There is nothing wrong with picking the old path (/var/ucd-snmp) if you'd rather.

Providing the --with-persistent-directory="path" parameter to ./configure will avoid this prompt.

Location to write persistent information (/var/net-snmp):

Aqui será gravado as bibliotecas do SNMP digite:

/usr/local/snmp-config

Agora digite:

# make

E por último digite:

# make install

Agora que temos o ucd-snmp instalado vamos criar um arquivo de configuração para ele chamado snmpd.conf, esse arquivo será criado em "/usr/local/snmp/share/snmp".

Digite:

# vim /usr/local/snmp/share/snmp/snmpd.conf

E insira no arquivo o seguinte conteúdo:

com2sec local     127.0.0.1/32    public
com2sec local     10.10.10.0/24   public

#########################################################

group MyROGroup v1         local
group MyROGroup v2c        local
group MyROGroup usm        local

#########################################################

view all    included  .1                               80

########################################################
access MyROGroup ""      any       noauth    exact  all    none   none

########################################################

syslocation localhost.localdomain
syscontact Meunome <meunome@hotmail.com>
## No lugar de Meunome coloque o seu nome.
## No lugar de meunome@hotmail.com coloque o seu e-mail.

Pronto, criamos o arquivo de configuração do ucd-snmp, note que você precisa alterar as seguintes linhas. No lugar de Meunome coloque o seu nome. No lugar de meunome@hotmail.com coloque o seu e-mail.

As demais linhas não precisam ser alteradas, não é necessário.

Para iniciar o snmp você precisa digitar:

# /usr/local/snmp/sbin/snmpd

Vamos agora para a última etapa.

4° MRTG (Multi Router Traffic Grapher)

A configuração do MRTG é um pouco mais complicada mas não se preocupem. Instalamos o ucd-snmp primeiro pois sem ele os gráficos feitos pelo MRTG ficariam vazios pois o ucd-snmp fornece informações para o MRTG e o MRTG transforma em gráficos.

Se você não sabe o que é o MRTG leia mais sobre ele em:
O site oficial do MRTG é o:
Antes de mais nada precisamos instalar a "biblioteca GD" (GD library).

Podemos fazer o download da "biblioteca GD" em:
Agora descompacte o arquivo:

# tar zxfv gd-2.0.35.tar.gz

Agora entre no diretório do MRTG descompactado.

Digite:

# cd gd-2.0.35

Compilando e instalando

Digite:

# ./configure --prefix=/usr/local/gd

Agora digite:

# make

E por último digite:

# make install

Pronto! Instalamos a biblioteca GD.

Vamos agora para o MRTG novamente.

Precisamos baixar os fontes do MRTG, podemos fazer isto em:
Selecione o mrtg-2.11.1.tar.gz.

Agora descompacte o arquivo:

# tar zxfv mrtg-2.11.1.tar.gz

Agora entre no diretório do MRTG descompactado.

Digite:

# cd mrtg-2.11.1

Compilando e instalando

Digite:

# ./configure --prefix=/usr/local/mrtg-2 \
--with-gd=/usr/local/gd \
--with-gd-lib=/usr/local/gd/lib \
--with-gd-inc=/usr/local/gd/include


Agora digite:

# make

E por último digite:

# make install

Criaremos agora um pasta para o MRTG dentro da pasta dos arquivos html do apache, que no nosso caso é o "/usr/local/apache2/htdocs" sem as aspas.

Digite:

# mkdir /usr/local/apache2/htdocs/mrtg

Agora vamos fazer um arquivo chamado "traffic.cfg" e para isso usaremos a ferramenta "cfgmaker" mas, lembre-se que para executar o "cfgmaker" o ucd-snmp precisa estar rodando.

Digite:

# /usr/local/mrtg-2/bin/cfgmaker \
--output=/usr/local/mrtg-2/traffic.cfg \
--global "WorkDir: /usr/local/apache2/htdocs/mrtg" \
--ifdesc=ip \
--ifref=descr \
--global "Options[_]: bits,growright" \
public@127.0.0.1


Agora precisamos fazer os seguintes arquivos "cpu.cfg", "swap.cfg", "ping.cfg" e "mem.cfg". Mãos a obra, vamos criá-los.

Digite:

# vim /usr/local/mrtg-2/cpu.cfg

Agora insira essas linhas no conteúdo do arquivo criado:

WorkDir: /usr/local/apache2/htdocs/mrtg
LoadMIBs: /usr/local/snmp/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1 + ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1 + ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1
RouterUptime[localhost.cpu]: public@127.0.0.1
MaxBytes[localhost.cpu]: 100
Title[localhost.cpu]: CPU Load
PageTop[localhost.cpu]: <H1>Active CPU Load %</H1>
Unscaled[localhost.cpu]: ymwd
ShortLegend[localhost.cpu]: %
YLegend[localhost.cpu]: CPU Utilization
Legend1[localhost.cpu]: Active CPU in % (Load)
Legend2[localhost.cpu]:
Legend3[localhost.cpu]:
Legend4[localhost.cpu]:
LegendI[localhost.cpu]: Active
LegendO[localhost.cpu]:
Options[localhost.cpu]: growright,nopercent

Salve o arquivo e saia.

Agora digite:

# vim /usr/local/mrtg-2/swap.cfg

Agora insira essas linhas no conteúdo do arquivo criado:

LoadMIBs: /usr/local/snmp/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[localhost.swap]: memAvailSwap.0&memAvailSwap.0:public@localhost
PageTop[localhost.swap]: <H1>Swap Memory</H1>
WorkDir: /usr/local/apache2/htdocs/mrtg
Options[localhost.swap]: nopercent,growright,gauge,noinfo
Title[localhost.swap]: Free Memory
MaxBytes[localhost.swap]: 1000000
kMG[localhost.swap]: k,M,G,T,P,X
YLegend[localhost.swap]: bytes
ShortLegend[localhost.swap]: bytes
LegendI[localhost.swap]: Free Memory:
LegendO[localhost.swap]:
Legend1[localhost.swap]: Swap memory avail, in bytes

Salve o arquivo e saia.

Agora digite:

# vim /usr/local/mrtg-2/ping.cfg

Agora insira essas linhas no conteúdo do arquivo criado:

WorkDir: /usr/local/apache2/htdocs/mrtg
Title[localhost.ping]: Round Trip Time
PageTop[localhost.ping]: <H1>Round Trip Time</H1>
Target[localhost.ping]: `/usr/local/mrtg-2/ping.sh`
MaxBytes[localhost.ping]: 2000
Options[localhost.ping]: growright,unknaszero,nopercent,gauge
LegendI[localhost.ping]: Pkt loss %
LegendO[localhost.ping]: Avg RTT
YLegend[localhost.ping]: RTT (ms)

Salve o arquivo e saia.

Agora digite:

# vim /usr/local/mrtg-2/mem.cfg

Agora insira essas linhas no conteúdo do arquivo criado:

LoadMIBs: /usr/local/snmp/share/snmp/mibs/HOST-RESOURCES-MIB.txt
Target[localhost.mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:public@localhost
PageTop[localhost.mem]: <H1>Free Memory</H1>
WorkDir: /usr/local/apache2/htdocs/mrtg
Options[localhost.mem]: nopercent,growright,gauge,noinfo
Title[localhost.mem]: Free Memory
MaxBytes[localhost.mem]: 1000000
kMG[localhost.mem]: k,M,G,T,P,X
YLegend[localhost.mem]: bytes
ShortLegend[localhost.mem]: bytes
LegendI[localhost.mem]: Free Memory:
LegendO[localhost.mem]:
Legend1[localhost.mem]: Free memory, not including swap, in bytes

Salve o arquivo e saia.

Agora digite:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cpu.cfg

Pressione "ENTER" e digite novamente:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cpu.cfg

Pressione "ENTER" e digite novamente:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cpu.cfg

Temos que fazer 3 vezes mesmo, ignore os "WARNINGS".

Agora digite:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/swap.cfg

Pressione "ENTER" e digite novamente:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/swap.cfg

Pressione "ENTER" e digite novamente:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/swap.cfg

Temos que fazer 3 vezes este também, ignore os "WARNINGS".

Agora digite:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/ping.cfg

Pressione "ENTER" e digite novamente:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/ping.cfg

Pressione "ENTER" e digite novamente:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/ping.cfg

Temos que fazer 3 vezes este também, ignore os "WARNINGS".

Agora digite:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/mem.cfg

Pressione "ENTER" e digite novamente:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/mem.cfg

Pressione "ENTER" e digite novamente:

# /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/mem.cfg

Temos que fazer 3 vezes este também, ignore os "WARNINGS".

O MRTG criará vários arquivos dentro do diretório "/usr/local/apache2/htdocs/mrtg".

Estamos quase no final, precisamos criar agora o "index", ou seja, o site onde você verá os gráficos, para isso usaremos a ferramenta indexmaker.

Digite:

# /usr/local/mrtg-2/bin/indexmaker --output=/usr/local/apache2/htdocs/mrtg/index-mrtg.html \
--title="Power Under Control" \
--sort=name \
--enumerate \
/usr/local/mrtg-2/traffic.cfg \
/usr/local/mrtg-2/cpu.cfg \
/usr/local/mrtg-2/mem.cfg \
/usr/local/mrtg-2/swap.cfg \
/usr/local/mrtg-2/ping.cfg


Pronto! Temos a nossa index-mrtg.html.

Para acessá-la abra o seu browser e digite:

http://localhost/index-mrtg.html

ou

http://localhost.localdomain/index-mrtg.html

ou

http://127.0.0.1/index-mrtg.html

Mas não para por aí!

Precisamos fazer agora um arquivo de configuração para o MRTG. Usaremos novamente a ferramenta "cfgmaker". Digite:

# /usr/local/mrtg-2/bin/cfgmaker \
--global "WorkDir: /usr/local/apache2/htdocs/mrtg" \
--global "Options[_]: growright,bits" \
--ifref=ip \
public@127.0.0.1 > /usr/local/mrtg-2/mrtg.cfg


Pronto! Estamos quase lá.

Precisamos fazer com que os gráficos se atualizem a cada 5 minutos e não se esqueça que os gráficos somente são atualizados se o ucd-snmp estiver rodando. Se você se esqueceu de como se inicia o ucd-snmp, no nosso caso é o seguinte comando:

# /usr/local/snmp/sbin/snmpd

Mãos a obra.

Digite:

# crontab -e

E adicione no conteúdo desse arquivo as seguintes linhas:

*/5 * * * * /usr/local/mrtg-2-apache2/bin/mrtg /usr/local/mrtg-2-apache2/mrtg.cfg
*/5 * * * * /usr/local/mrtg-2-apache2/bin/mrtg /usr/local/mrtg-2-apache2/traffic.cfg
*/5 * * * * /usr/local/mrtg-2-apache2/bin/mrtg /usr/local/mrtg-2-apache2/mem.cfg
*/5 * * * * /usr/local/mrtg-2-apache2/bin/mrtg /usr/local/mrtg-2-apache2/cpu.cfg
*/5 * * * * /usr/local/mrtg-2-apache2/bin/mrtg /usr/local/mrtg-2-apache2/swap.cfg
*/5 * * * * /usr/local/mrtg-2-apache2/bin/mrtg /usr/local/mrtg-2-apache2/ping.cfg

Salve o arquivo e saia.

Explicando:
  • A 1ª linha executa o MRTG a cada 5 minutos, ou seja, você não precisará iniciar o MRTG.
  • A 2ª linha atualiza o gráfico "traffic" a cada 5 minutos.
  • A 3ª linha atualiza o gráfico "mem" (memória) a cada 5 minutos.
  • A 4ª linha atualiza o gráfico "cpu" a cada 5 minutos.
  • A 5ª linha atualiza o gráfico "swap" a cada 5 minutos.
  • A 6ª linha atualiza o gráfico "ping" a cada 5 minutos.

Volto a lembrar que os gráficos somente serão atualizados se o ucd-snmp estiver rodando.

Se por acaso você estiver vendo a sua "index-mrtg.html" e notar que o gráfico "ping" não se atualizou não se preocupe, ele demora um pouco mais que os outros para se atualizar.

Vamos agora para a última alteração.

Você notou que ao abrir a sua "index-mrtg.html", no inferior da página tem algumas figuras que não estão aparecendo?

Vamos arrumar isto!

Temos que copiar todas as figuras do diretório images que fica dentro da pasta que extraímos do mrtg, entre nesse diretório.

Digite:

# cd mrtg-2.11.1/images

Agora vamos copiar todo o conteúdo do diretório images para o diretório dos arquivos html do mrtg.

Digite:

# cp * /usr/local/apache2/htdocs/mrtg

Pronto! Problema resolvido.

Agora sempre que você iniciar o seu computador você pode iniciar o APACHE e o ucd-snmp que o MRTG vai se iniciar e atualizar os gráficos sozinhos.

Considerações finais

UFA!
Pois bem.
Chegamos ao fim do tutorial, muito obrigado a todos, desculpem por qualquer erro de digitação, espero ter sido útil e comentários são muito bem vindos. =D

Qualquer dúvida ou erro comentem.

BY EDUARDO

Página anterior    

Páginas do artigo
   1. Primeiras instalações (VIM e GCC)
   2. Instalando e configurando o Apache2 e o PHP5 (ou PHP4)
   3. Instalando e configurando o SNMP e o MRTG
Outros artigos deste autor

Instalando e configurando o PostgreSQL

Leitura recomendada

Recursos de placas de vídeo nVidia no X.org

Oracle-XE servidor com acesso ssh - Debian Lenny 5.0

XL - Ferramenta de gerenciamento Xen - Parte II

VsFTPD com TLS no Debian 4.0

Recuperar a senha do root pelo CD

  
Comentários
[1] Comentário enviado por diekn em 12/08/2007 - 09:37h

Cara parabens,pelo seu artigo,e viva o linux,pra ti.

[2] Comentário enviado por balani em 13/08/2007 - 11:18h

Muito bom o seu artigo, mais qual a versão exata do apache que vc usou, pois a versão 2.2.4 o arquivo de configuração é muito diferente desse que vc usou.

[3] Comentário enviado por shin_ragnarok em 13/08/2007 - 11:49h

olá.

o arquivo ping.sh não consegui achar. Fiz a instalçao via apt. Tem como vc me passar ou postar?

muito obrigado.

[4] Comentário enviado por duduzinhu em 13/08/2007 - 13:43h

Balani eu usei a versão 2.2.4, fiz algumas alterações no início do httpd.conf se é isso que está diferente,
essas alterações não são muito importantes, coloquei apenas para organizar melhor. O conteúdo original do httpd.conf começa com a seguinte frase:

This is the main Apache HTTP server configuration file.

Espero ter esclarecido sua dúvida, qualquer coisa comente novamente. =)

Shin_ragnarok acabei me esquecendo de colocar o conteudo do arquivo ping.sh então la vai:

WorkDir: /usr/local/apache2/htdocs/mrtg
Title[localhost.ping]: Round Trip Time
PageTop[localhost.ping]: <H1>Round Trip Time</H1>
Target[localhost.ping]: `/usr/local/mrtg-2/ping.sh`
MaxBytes[localhost.ping]: 2000
Options[localhost.ping]: growright,unknaszero,nopercent,gauge
LegendI[localhost.ping]: Pkt loss %
LegendO[localhost.ping]: Avg RTT
YLegend[localhost.ping]: RTT (ms)

Lembre-se que o diretório que deve ficar o ping.sh é /usr/local/mrtg-2 junto com os demais arquivos de configuração.
Qualquer outros erros e dúvidas comentem e me desculpe por ter demorado para responder =]

[5] Comentário enviado por shin_ragnarok em 13/08/2007 - 14:24h

oi.


a parte do ping ta me retornando isso:

/etc/mrtg/ping.sh: line 1: WorkDir:: command not found
/etc/mrtg/ping.sh: line 2: Title[localhost.ping]:: command not found
/etc/mrtg/ping.sh: line 3: syntax error near unexpected token `newline'
/etc/mrtg/ping.sh: line 3: `PageTop[localhost.ping]: <H1>Round Trip Time</H1>'
2007-08-13 14:11:51: WARNING: Could not get any data from external command '/etc/mrtg/ping.sh'
Maybe the external command did not even start. (Procura ilegal)

2007-08-13 14:11:51: WARNING: Problem with External get '/etc/mrtg/ping.sh':
Expected a Number for 'in' but nothing'

2007-08-13 14:11:51: WARNING: Problem with External get '/etc/mrtg/ping.sh':
Expected a Number for 'out' but nothing'

2007-08-13 14:11:51: ERROR: Target[localhost.ping][_IN_] ' $target->[0]{$mode} ' did not eval into defined data
2007-08-13 14:11:51: ERROR: Target[localhost.ping][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data


como eu disse to usando tudo via apt. Então coloquei tudo no /etc/mrtg

todos vão certinho, menos o ping.sh. tem alguma coisa em específico pra ele?


valew.

[6] Comentário enviado por duduzinhu em 13/08/2007 - 16:01h

Bem, vamos fazer o seguinte então, delete o arquivo ping.ok dentro da pasta do mrtg, delete todo o conteudo do ping.sh e adicione o seguinte conteúdo:

#!/bin/sh
PING="/bin/ping"
# localhost, for example
ADDR="localhost.localdomain"
DATA=`$PING -c10 -s500 $ADDR -q `
LOSS=`echo $DATA | awk '{print $18 }' | tr -d %`
echo $LOSS
if [ $LOSS = 100 ];
then
echo 0
else
echo $DATA | awk -F/ '{print $5 }'

fi



Não se esqueça de colocar o caminho correto para o ping.sh no ping.cfg
Delete todos os gráficos do ping se é que ele criou algum, reinicie o snmp e o mrtg, certifique-se de que o nome do seu host é realmente "localhost". Aconselho que rode o comando para fazer o traffic.cfg e o mrtg.cfg novamente. Se mais algum erro acontecer comente =]

Ah! Quase me esqueço, dê um chmod 755 no
ping.sh, o comando ficaria:

chmod 755 /usr/local/mrtg-2/ping.sh

no seu caso como vc está usando o apt-get ficaria:

chmod 755 /etc/mrtg/ping.sh

Recomendo também que faça isso nos arquivos dentro da pasta do mrtg:

chmod 755 /usr/local/mrtg-2/*

ou no seu caso:

chmod 755 /etc/mrtg/*

[7] Comentário enviado por shin_ragnarok em 13/08/2007 - 17:31h

valew.. agora sim... vc tinha passado a mesma configurção do .cfg pro .sh ne?

agora ta funfando. valew. ótimo artigo.

[8] Comentário enviado por duduzinhu em 13/08/2007 - 18:37h

Realmente, depois que me dei conta, mas fico feliz por ter funcinado
=D

[9] Comentário enviado por y2h4ck em 14/08/2007 - 13:31h

Bom queridão,
configuração do SNMP é praticamente auto-explicativa e o MRTG tem um readme no man muito completo.

Quando você se refere "documentação que realmente explique", vc deveria colocar :"documentação que eu tivesse entendido".


Abraços.

[10] Comentário enviado por duduzinhu em 14/08/2007 - 14:35h

Então y2h4ck creio que você não gostou muito do meu artigo, e também só faltou me chamar de burro, mas criei o artigo pensando que até mesmo uma pessoa que nunca ouviu falar de linux pudesse intender. Pois creio que passam por aqui pessoas com diversos níveis de instrução então pensei que fosse melhor fazer um artigo bem explicado e realmente desde o começo como poucos artigos sobre snmp e mrtg, mas enfim, se fosse pra escrever um artigo para um Analista de Segurança da Informação sobre snmp e mrtg creio que este artigo iria ficar vazio. Eu penso que se você quisesse ganhar mais reputação que aliás você não tem pouca, você deveria fazer artigos e não inventar defeitos nos artigos dos outros muito menos chamar os outros de "burro" mesmo que isso seja indiretamente. E se o artigo ficou muito básico pra você que creio eu que deve realmente ter ficado lembre-se que eu disse que se tratava de uma configuração básica porém funcional, se é que você chegou a ler o artigo. Faça um artigo sobre snmp e mrtg para que eu possa aprender mais se é isso que deseja. E mais, se somente você até agora falou que: "Quando você se refere "documentação que realmente explique", vc deveria colocar :"documentação que eu tivesse entendido"." E mais nimguem falou que o artigo é pra "inciantes", você mesmo que indiretamente está chamando as pessoas que leram esse artigo de iniciantes. E quando você diz que o mrtg tem um readme no man muito bom, lembre-se que este artigo foi feito para pessoas com todos os niveis de instrução, ou seja, uma pessoa que tem pouco conhecimento de inglês não consiguirá ler um readme sobre mrtg. Bem era só isso que tinha a declarar, espero que agora fique claro pra você o que eu quis dizer com "Um artigo que realmente explicasse de maneira clara"

Abraços
Eduardo

[11] Comentário enviado por robersonfox em 15/08/2007 - 01:04h

Opa, Caro amigo, tenho uma dúvida crucial, quando instalo o apache e o php eles não identificam de cara as variáveis, ex:
http://www.genovaengine.com/index.php?p=sisgrafica
no meu servidor isto funciona, o site é redirecionado para a página do sis-grafica, mas aqui no meu notebook não, saberia me dizer o porque?

[12] Comentário enviado por duduzinhu em 15/08/2007 - 08:30h

Caro Roberson, gostaria que se possível reformulasse sua pergunta pois não consegui intende-la, e desculpe pela demora, é que você postou num horário não muito acessível =D

[13] Comentário enviado por linuxtb em 16/08/2007 - 01:16h

Meu amigo Eduardo,

Parei neste erro e agora não consigo passar disso. Sabe o que pode ser?
Segui todos os passos desde o ínicio.

Não condigo ver onde está o problema e se puder me ajudar fico muito grato.

A propósito , parabéns pelo artigo, pois há algum tempo procuro um artigo assim sobre o MRTG visto que os demais que vi por aí são muito complexos.

____________________________________________________________


** Ooops, one of many bad things happened:

a) You don't have the GD library installed.
Get it from http://www.boutell.com, compile it and
use either --with-gd-lib=DIR and --with-gd-inc=DIR to specify
its location. You might also have to use --with-z-inc,
--with-z-lib and --with-png-inc, --with-png-lib for gd
versions 1.6 and higher. Check config.log for more
information on the problem.

b) You have the GD library installed, but not the gd.h
header file. Download the source (see above) and use
--with-gd-inc=DIR to specify where the file can be found.

c) You have the library and the header file installed, but
you also have a shared GD library in the same directory.
Remove the shared library files and/or links (e.g.
libgd.so.2.0.0, libgd.so and libgd.so.2). This is especially
likely if you're using a recent (post 1.8.4) version of GD
and didn't configure it with --disable-shared.

d) You have gd library installed and also it's headers, but you are
missing libpng (and headers) or freetype (and headers)
(mrtg does not use freetype, but if your copy of gd is precompiled
against it, you have to install it ...

[14] Comentário enviado por duduzinhu em 16/08/2007 - 12:39h

Caro Jean, este problema está acontecendo porque você não tem a biblioteca GD (GD library)
instalada no seu computador, ou você não informou o PATH (caminho) correto na hora da instalação. Se você não tem a biblioteca GD instalada siga os passos do artigo para instalação. Se você já instalou-a em /usr/local/gd e colocou o configure do mrtg como foi escrito no artigo este erro não deveria acontecer. Se vocÊ usou o "yum" ou o "apt-get" para instalar a biblioteca GD, creio que em vez de /usr/local/gd/include e /usr/local/gd/lib, os respectivos caminhos seriam /usr/include e /usr/lib. Qualquer dúvida comente novamente e não deixe de avisar se deu certo. Não posso colocar mais detalhes sobre a instalação agora pois tenho que resolver alguns problemas técnicos no meu PC =D .

Abraços
Eduardo

[15] Comentário enviado por duduzinhu em 10/09/2007 - 15:15h

Também pode ser instalada a última versão do SNMP pois a configuração não muda, é que eu ainda não havia testado x)
A última versão do SNMP até agora é a 5.4.1

[16] Comentário enviado por thon_ba em 25/09/2007 - 17:59h

kra isso sim é um artigo o resto é sacanagem....valeu mesmo brow, eu nem estou precisando mas vou fazer só pra valorizar ainda mais o artigo.

[17] Comentário enviado por duduzinhu em 26/09/2007 - 13:24h

Fico muito feliz por ter gostado =)

[18] Comentário enviado por thon_ba em 07/10/2007 - 01:22h

Brow preciso de ajuda aqui, segui o tutorial, porem não funfou, aparece esse erro qndo tento criar o index atraves do comando.

ERROR: CFG Error Unknown Option "sscpurawnice.0&sscpurawnice.0" on line 5 or above.
Check doc/reference.txt for Help

[19] Comentário enviado por duduzinhu em 08/10/2007 - 08:59h

Caro Thon

Esta linha está no cpu.cfg, mas ela é necessária. Certifique-se de que o seu cpu.cfg está correto.
Segue abaixo o meu cpu.vfg para você consultar

WorkDir: /usr/local/apache2/htdocs/mrtg
LoadMIBs: /usr/local/snmp/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[127.0.0.1.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1 + ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1 + ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1
RouterUptime[127.0.0.1.cpu]: public@127.0.0.1
MaxBytes[127.0.0.1.cpu]: 100
Title[127.0.0.1.cpu]: CPU Load
PageTop[127.0.0.1.cpu]: <H1>Active CPU Load %</H1>
Unscaled[127.0.0.1.cpu]: ymwd
ShortLegend[127.0.0.1.cpu]: %
YLegend[127.0.0.1.cpu]: CPU Utilization
Legend1[127.0.0.1.cpu]: Active CPU in % (Load)
Legend2[127.0.0.1.cpu]:
Legend3[127.0.0.1.cpu]:
Legend4[127.0.0.1.cpu]:
LegendI[127.0.0.1.cpu]: Active
LegendO[127.0.0.1.cpu]:
Options[127.0.0.1.cpu]: growright,nopercent

Note que as linhas do cpu.cfg que coloquei acima que não começam com letra maiúscula são continuações da linha anterior. Recomendo que você cheque seus arquivos de configuração e se possível também instale a ultima versão do SNMP que é melhor do que a versão que eu usei neste artigo, as configurações bem como a instalação desse SNMP não mudam.
Veja que você precisa colocar o diretório correto das paginas html do mrtg (na 1ª linha) e o diretório correto da MIB do SNMP (na 2ª linha)
Veja também que eu alterei de "localhost" para "127.0.0.1"

Peço que se você não consiguir resolver o seu problema, mande seus arquivos de configuração para que eu possa checar e lhe enviar novamente.

Para me enviar os arquivos de configuração você pode compacta-los e colocar no rapidshare e depois só me informar o link para que eu possa baixá-los e analisá-los
Ou se preferir poste um comentário com todos eles.

Segue abaixo o link para download de uma versão mais atual do SNMP
http://sourceforge.net/project/downloading.php?group_id=12694&use_mirror=ufpr&filename=net-snmp-5.4....

Peço também queme diga se mais algum erro aconteceu ou se você conseguiu solucionar o seu problema

Fico no aguardo

Abraços
Eduardo

[20] Comentário enviado por c.rafael em 22/11/2007 - 11:34h

Pessoal, ...

estou com o seguinte problema quando mando executar o mrtg ele gera o erro abaixo:

[root@firewall mrtg]# ./mrtg.sh
SNMP Error:
no response received
SNMPv1_Session (remote host: "192.168.0.4" [192.168.0.4].161)
community: "public"
request ID: 622257764
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib/mrtg2/SNMP_util.pm line 490
SNMPGET Problem for ifInOctets.2 ifOutOctets.2 sysUptime sysName on public@192.168.0.4::::::v4only
at /usr/bin/mrtg line 2150
2007-11-22 11:28:59: WARNING: skipping because at least the query for ifInOctets.2 on 192.168.0.4 did not succeed
2007-11-22 11:28:59: WARNING: no data for ifInOctets&ifOutOctets:public@192.168.0.4. Skipping further queries for Host 192.168.0.4 in this round.
SNMP Error:
no response received
SNMPv1_Session (remote host: "2xx.xx.xxx.x" [2x.xx.xxx.x].161)
community: "public"
request ID: 547401509
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib/mrtg2/SNMP_util.pm line 490
SNMPGET Problem for ifInOctets.2 ifOutOctets.2 sysUptime sysName on public@2x.x.x.x::::::v4only
at /usr/bin/mrtg line 2150
2007-11-22 11:28:59: WARNING: skipping because at least the query for ifInOctets.2 on 2xx.xx.xxx.x did not succeed
2007-11-22 11:28:59: WARNING: no data for ifInOctets&ifOutOctets:public@2xx.xx.xxx.x. Skipping further queries for Host 201.15.147.6 in this round.
2007-11-22 11:29:19: ERROR: Target[192.168.0.4][_IN_] ' $target->[0]{$mode} ' did not eval into defined data
2007-11-22 11:29:19: ERROR: Target[192.168.0.4][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data
2007-11-22 11:29:19: ERROR: Target[2xx.xx.xxx.x][_IN_] ' $target->[1]{$mode} ' did not eval into defined data
2007-11-22 11:29:19: ERROR: Target[2xx.xx.xxx.x][_OUT_] ' $target->[1]{$mode} ' did not eval into defined data


O meu mrtg.cfg está assim:

### Diretorios
WorkDir: /var/www/mrtg/work
Htmldir: /var/www/mrtg/html
Imagedir: /var/www/mrtg/image
Logdir: /var/log/mrtg/
ThreshDir: /var/www/mrtg/thresh

Interval: 5
Language: portuguese
RunAsDaemon: No


Target[192.168.0.4]: 2:public@192.168.0.4
SetEnv[192.168.0.4]: MRTG_INT_IP="192.168.1.0/24" MRTG_INT_DESCR="eth0"
MaxBytes[192.168.0.4]: 1250000
Title[192.168.0.4]: MRTG - Analise de trafego da server (firewall)
Options[192.168.0.4]:gauge,growright,nopercent,avgpeak

Target[2x.x.x.x]: 2:public@2x.x.x.x
SetEnv[2x.x.x.x]: MRTG_INT_IP="2x.x.x.x" MRTG_INT_DESCR="eth1"
MaxBytes[2x.x.x.x]: 1250000
Title[2x.x.x.x]: MRTG - Analise de trafego da server2 (internet)
Options[2x.x.x.x]:gauge,growright,nopercent,avgpeak

[21] Comentário enviado por neturnoxd em 10/09/2009 - 11:15h

ok men
bom bom bom ta neh...
mas eu fiz tudo e nao consigo fazer os graficos se atualizarem
tipo vejo os graficos mas ta em branco
qual eh o problema

flw



(nao coloquei acentos porque nao da =])

[22] Comentário enviado por neturnoxd em 10/09/2009 - 11:16h



[23] Comentário enviado por neturnoxd em 10/09/2009 - 11:27h

o0 que nao vai responder?
se vo nao responder o comentario [21]
eu vou mandar + 10 comentarios
mu haaaa [o.o"]

[24] Comentário enviado por c.rafael em 10/09/2009 - 11:34h

neturnoxd !!

Por padrão o MRTG atualiza os gráficos a cada 5 minutos, você pode colocar ele como daemon e aí informar de tempos em tempos para ele atualizar ou colocar no crontab .

Faz o teste das duas formas e espere por 1 hora, .. que provavelmente irá gerar gráficos.

[25] Comentário enviado por neturnoxd em 10/09/2009 - 18:17h

pois é
coloquei no crontab mas mesmo assim nao funfo
tipo os graficos aparecem certinho mais nao mostra nada.

[26] Comentário enviado por manoserpa em 07/04/2010 - 14:02h

Olá.

Eu estou configurando o Apache com PHP no Fedora e quando tento abrir a página PHP ele abre a janela de download, vc sabe o que pode ser?

Valeu.

[27] Comentário enviado por c.rafael em 07/04/2010 - 14:32h

A integraçã do Apeche e PHP ainda não está funcionando, você pode veridicar os seguintes itens:

1) Em "DirectoryIndex" Verifica se o index.php está incluido.
2) Verificar os seguintes itens se estão OK.
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps


Pode ser que não tenho no arquivo do apache essas linhas, mas terá um INCLUDE do modulo de php algo tipo:

Include diretorio/modulephp.conf

[28] Comentário enviado por manoserpa em 08/04/2010 - 11:06h

Bom dia.

Valeu Rafael, resolvido!

=D


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts