Instalação e Configuração do Ntop no Debian Squeeze
O NTOP é uma ferramenta para monitorar e gerenciar redes de computadores, além de ter muitos recursos que demonstram tudo através de gráficos e informações detalhadas que permitem com que haja interação entre usuários tem suporte para rodar em vários SO e monitora e gera relatórios sobre o tráfego e suporte dos hosts por estes protocolos:TCP/UDP/ICMP, (R)ARP, IPX, DLC, DECnet, AppleTalk, Netbios, TCP/UDP.
Ntop é uma ferramenta de monitoramento e gerência de rede para sistemas UNIX/Linux e Win32, e teve seu desenvolvimento e estudo na “University of Pisa”, na Itália.
E ai galera aqui eu vou abordar a instalação e configuração do Ntop para Debian Squeeze, eu não vou utilizar o ntop dos repositórios por que ele está com alguns bugs, com isso vou obter e compilar o Ntop do repositório SVN, é simples ;)
Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_en para que não falte nenhum pacote ou configuração.
Agora vamos mandar atualizar os repositório e fazer um upgrade do sistema
aptitude update && aptitude dist-upgrade -y
Agora vamos instalar as dependências do ntop
aptitude install libtool automake autoconf libpcap-dev libgdbm-dev zlibc zlib-bin zlib1g-dev librrd-dev python-dev libssl-dev -y aptitude install geoip-bin geoip-database libgeoip-dev rrdtool rrdcollect rrdtool-dbg rrdtool-tcl python-rrd librrd-dev -y
Após preparar o seu sistema vamos instalar o subversion para obtermos uma copia dos fontes do ntop
aptitude install subversion -y
Agora vamos acessar o diretório que vamos armazenar os fontes
cd /usr/src
Agora vamos fazer um ckeckout do repositório
svn co https://svn.ntop.org/svn/ntop/trunk/ntop/
Agora vamos acessar o diretório do ntop
cd /usr/src/ntop
Agora vamos mandar gerar a configuração do ntop
./autogen.sh
Agora vamos mandar compilar ele
make
Agora vamos mandar instalar o ntop
make install
Agora vamos criar o usuário que o daemon do ntop vai utilizar
useradd -r -d /usr/local/share/ntop ntop
Agora precisamos criar alguns diretórios para o ntop
mkdir -p /usr/local/var/ntop/rrd/{flows,graphics,interfaces}
Agora precisamos acertar as permissões dos diretórios
chown -R ntop:ntop /usr/local/share/ntop chown -R ntop:ntop /usr/local/var/ntop/
Agora precisamos recarregar as bibliotecas
ldconfig
Agora vamos iniciar o ntop para setar uma senha para o admin
ntop --set-admin-password=senha
Agora vamos criar um script para controlar o nosso daemon do ntop no script o que precisamos alterar se necessário é a interface que vamos monitorar no caso de ter mais de uma interface, caso tenha mais de uma interface podemos inserir várias separando por , ;)
vim /etc/init.d/rc.ntop #!/bin/bash ### HABILITAR O DEBUG ### #set -x #trap read DEBUG ### FIM HABILITAR DEBUG ### ### BEGIN INIT INFO # Provides: rc.ntop # Required-Start: $network $remote_fs $syslog # Required-Stop: $network $remote_fs $syslog # Should-Start: $named # Should-Stop: $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Ntop # Description: Script para controle do Daemon do NTOP ### END INIT INFO # Site: http://wiki.douglasqsantos.com.br # Autor: Douglas Q. dos Santos <douglas@douglasqsantos.com.br> # Manutenção: Douglas Q. dos Santos <douglas@douglasqsantos.com.br> ### CORES UTILIZADAS NO SCRIPT ### GREY="\033[01;30m" RED="\033[01;31m" GREEN="\033[01;32m" YELLOW="\033[01;33m" BLUE="\033[01;34m" PURPLE="\033[01;35m" CYAN="\033[01;36m" WHITE="\033[01;37m" CLOSE="\033[m" ### Comandos ### NTOP="/usr/local/bin/ntop" KILLALL="/usr/bin/killall" PGREP="/usr/bin/pgrep" ### SINAL ENVIADO PARA O NTOP ### SIGNAL="-15" ## NOME DO PROCESSO ### NTOP_PROCESS="ntop" ### NTOP USER ### NTOP_USER="ntop" ### LOG FACILITY ### LOG="daemon" ### INTERFACES QUE VAMOS MONITORAR PODEMOS INSERIR VARIAS INTERFACES SEPARANDO ELAS POR , ### INT="eth0" ### FUNCAO PARA CHECAR O RESULTADO DO COMANDO ### CHECAR() { if [ $? -eq 0 ]; then if [ $1 == "inicio" ]; then echo -e "${GREEN} [ NTOP INICIADO ] ${CLOSE}" else echo -e "${RED} [ NTOP PARADO ] ${CLOSE}" fi else echo -e -e "${RED} [ NTOP FALHOU ] ${CLOSE}" fi } case $1 in start) NTOP_PID=$(${PGREP} -u ${NTOP_USER} ntop) if [ ! -z "${NTOP_PID}" ]; then echo -e "${GREEN} O NTOP JA ESTA RODANDO COM O PID: ${NTOP_PID} ${CLOSE}" else echo -e "${GREEN} [ INICIANDO NTOP ] ${CLOSE}" ${NTOP} -u ${NTOP_USER} -i ${INT} -d -L --use-syslog=${LOG} >> /dev/null CHECAR inicio fi ;; stop) NTOP_PID=$(${PGREP} -u ${NTOP_USER} ntop) if [ -z "${NTOP_PID}" ]; then echo -e "${RED} O NTOP ESTA PARADO ${CLOSE}" else echo -e "${RED} [ PARANDO NTOP ] ${CLOSE}" ${KILLALL} ${SIGNAL} ${NTOP_PROCESS} CHECAR fim fi ;; status) NTOP_PID=$(${PGREP} -u ${NTOP_USER} ntop) if [ -z "${NTOP_PID}" ]; then echo -e "${RED} O NTOP ESTA PARADO ${CLOSE}" else echo -e "${GREEN} O NTOP ESTA RODANDO COM O PID: ${NTOP_PID} ${CLOSE}" fi ;; restart) $0 stop $0 start ;; *) echo -e "${RED}Opcoes Validas:(start|stop|restart|status)${CLOSE}" ;; esac
Agora vamos acertar as permissões do script
chmod +x /etc/init.d/rc.ntop
Agora precisamos colocar ele na inicialização
insserv -f -v rc.ntop
Agora vamos iniciar o ntop
/etc/init.d/rc.ntop start [ INICIANDO NTOP ] [ NTOP INICIADO ]
Agora vamos ver o status do ntop
/etc/init.d/rc.ntop status O NTOP ESTA RODANDO COM O PID: 22472
Como pode ser notado ele está rodando agora podemos acessar ele em http://ip_servidor:3000 caso precise efetuar alguma manutenção na configuração do ntop o usuário é admin e a senha é a senha que foi setada com
ntop --set-admin-password=