webserver-log-analyser/README.md

24 lines
1.6 KiB
Markdown

# Ruby - Análise de ficheiros de auditoria Apache - UFCD 9191
## Objetivos do programa
- **Objetivo 1**: ~~Número de contactos que um determinado IP realizou~~ (Feito)
- **Objetivo 2**: ~~Quais IPs resultaram no maior número de erros de cliente (400-499)~~ (Feito)
- **Objetivo 3**: ~~Agrupar por tipo de cliente e saber que tipos de clientes contactam mais o site~~ (Feito)
### Sub-objetivos e desafios
- Agrupar visitas por IP por mês
- Exemplo: IP 5.15.124.2 visitou o site 20 veses em abril e gerou 4 erros no mesmo mês
- Criar funcionalidade para enviar denúncias ao AbuseIPDB (OPCIONAL)
- Recolher os três principais suspeitos e oferecer a escolha de denúncia ao utilizador (Ex. os IPs com mais erros suspeitos, excl. erros 404)
- Modo pesquisa (OPCIONAL)
- Oferecer ao utilizador uma forma de introduzir um IP para obter todas as estatísticas que o programa já oferece, e avisar caso o IP não tenha contactado o site
- Whois e reputação do IP (OPCIONAL)
- Modo não-interativo (OPCIONAL)
- Permitir que o utilizador controle o programa e o seu output através da linha de comandos (ex. rubystats --in access.log -i x.x.x.x -v -e)
- Garantir que o programa segue os [príncipios Unix](https://en.wikipedia.org/wiki/Unix_philosophy)
- Menu interativo (OPCIONAL)
- Permitir ao utilizador que estatística pretende visualizar
- Tornar o programa mais modular, fácil de manter e de expandir (OPCIONAL);
- Permitir que o utilizardor escolha que tipo de log pretende analisar (Nginx/Apache/Lightspeed/IIS, etc) utilizando as mesmas funções utilitárias