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