Relatório de conexão Wi-Fi com dados de usuários conectados nos POPs

Este artigo ensina a criar relatórios baseados em dados do MikroTik, que serão exibidos como página da WEB, mostrando os clientes conectados em cada POP, com nome de usuário, taxa de conexão, qualidade de sinal, nível de sinal, endereço de IP e forma de autenticação.

[ Hits: 23.558 ]

Por: Rodrigo Otavio Rinaldi em 26/05/2012


Instalação



O script poderia ter sido feito em C ou PHP, e neste caso, poderia ter usado banco de dados ao invés de TXT, e sem dúvidas, aumentaria as possibilidades de obter relatórios ainda mais interessantes.

Mas foi feito em shell script, que não deixa de ser interessante, está bem comentado e possibilita a mudança para outras necessidades.

Link para download direto:

Baixe os arquivos necessários e descompacte-os:

Procedimentos

1. No Linux

1.1. Criar a pasta que conterá o arquivo script:

# mkdir /opt/mikrotik/

1.2. Copiar o conteúdo baixado e já descompactado, para a pasta criada: /opt/mikrotik/

1.3. Tornar executável o arquivo de script:

# chmod +x /opt/mikrotik/sinal_meter

1.4. Criar a pasta que conterá o HTML:

# mkdir /var/www/mikrotik/

1.5. Copiar as figuras "pixelvermelho.png" e "pixelverde.png" para esta pasta.

1.6. Configurar o Apache para exibir o "index.html" da pasta: /var/www/mikrotik/

1.7. Inserir no arquivo "pop", os dados dos rádios dos quais deseja gerar o relatório, coloque quantos quiser.

Observe o modelo:

ip=192.168.88.10 user=admin pass=senha123 ssid=Morro_da_Cruz

Onde:
  • ip: é o endereço de IP do rádio a ser mostrado no relatório
  • user/pass: são, respectivamente, o nome de usuário e senha para conexão FTP
  • ssid: é o nome deste rádio que aparecerá no relatório, substitua os espaço por underline

1.8. Alterar o campo CONFIGURACOES GERAIS deste script.

Onde:
  • SERVER_IP: é o endereço de IP do MikroTik que contém a lista de usuários logados em PPPoE e Hotspot
  • SERVER_USER: nome de usuário deste mesmo MikroTik para conexão por FTP
  • SERVER_PASS: senha para este usuário
  • PASTAFILES: pasta no Linux que contém este script, vide ítem 1.1
  • ARQUIVO_POP: arquivo que contém informações de sinais dos MikroTik POPs (Rádios)
  • ARQUIVO_PPPOE: arquivo que contém informações de conexões PPPoE do MikroTik servidor
  • ARQUIVO_HOTSPOT: arquivo que contém informações de conexões Hotspot do MikroTik servidor
  • PAGINA: arquivo HTML que será criado
  • PASTAPAGINA: pasta para qual será copiado o arquivo HTML, vide item 1.4

1.9. Programar no crontab a execução a cada 5 minutos. Use:

# crontab -e

Adicione:

*/5 * * * * root /opt/mikrotik/sinal_meter

2. Nos MikroTiks

2.1. Dar permissão para conexão FTP em cada MikroTik, por padrão já tem.

2.2. Nos rádios, agendar a criação do sinal.txt conforme abaixo:

/system scheduler
add disabled=no interval=5m name="Gera Lista de Sinal" on-event=\
"/interface wireless registration-table print stats file=sinal" policy=\
ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
start-time=startup

2.3. No MikroTik servidor, aquele que contém os nomes de usuários de conexões PPPoE e Hotspot, agendar a criação dos arquivos "clientes_ppp.txt" e "clientes_hotspot.txt", conforme abaixo:

/system scheduler
add disabled=no interval=5m name="Gera Lista de Clientes" on-event="/ppp active print terse file=\
clientes_ppp;\r\
\n/ip hotspot active print terse file=clientes_hotspot;" policy=\
ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api start-time=startup

Conclusão

Se você fez tudo certinho, já estará obtendo um relatório a cada 5 minutos.

Acessando o endereço que você criou no Apache, verá o resultado.

Para maiores detalhes, edite o arquivo "sinal_meter" e observe o seu conteúdo, poderá mudar alguns parâmetros que podem ser necessários para atender suas necessidades.

Nada impede que o arquivo seja totalmente mudado, para atender à necessidade de outros provedores de Internet, fique à vontade para fazê-lo.


Um abraço a todos.

Rodrigo Otavio Rinaldi

Página anterior    

Páginas do artigo
   1. Introdução
   2. Instalação
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Criando Autoridades Certificadores e Certificados de Testes no Linux

Simples sistema de backup com acesso remoto

Aprendendo a melhorar os seus scripts

Processamento Paralelo em Shell Script - Conversão de Arquivos WAV para MP3

Desligar servidores quando o nobreak entra na bateria e envio de aviso por e-mail

  
Comentários
[1] Comentário enviado por pietro_scherer em 29/05/2012 - 19:48h

Show de bola amigo!
Vou utilizar ele :)

[2] Comentário enviado por ferreirajr630 em 01/06/2012 - 08:01h

Otimo tutorial muinto bom
Meu caro gostaria muinto de ter isso funcionando mas so usamos nano station pode disponibilisar pra nos com eles
obrigado

[3] Comentário enviado por dastyler em 04/06/2012 - 21:12h

Òtimo artigo!! Baixei o código, mas não testei ainda pois nao tenho Mikrotik rodando disponível para testes.
Se adaptar o código fonte é possível monitorar AP's comuns? De qualquer maneira vou verificar o código fonte...;)

Abraço e obrigado!


[4] Comentário enviado por konectta em 05/06/2012 - 08:32h

Dificilmente outro equipamento funcionará com este script, pois ele usa umas funções bem específicas do Mikrotik. Talvez se fizesse a leitura por SNMP dos equipamentos e gravasse num arquivo txt. Dai quem sabe fazendo algumas mudanças do código seria capaz de conseguir o mesmo resultado. Sei que os equipamentos da Ubiquiti trazem ótimas informações por SNMP.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts