webserver-log-analyser/README.md

1.6 KiB

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
  • Menu interativo (OPCIONAL)
    • Permitir ao utilizador escolher 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