Um aplicativo de desktop simples e leve para visualização, análise e tratamento de logs de equipamentos Fortinet, desenvolvido em Python.
Este aplicativo torna mais fácil a análise e a gerência de logs de dispositivos UTM para usuários da área de redes e segurança sem a necessidade da utilização de um appliance FortiAnalyzer.
- Visualização gráfica de Logs: Exibe de forma detalhada arquivos logs em formato
.logou.txtno formatokey=value. - Busca dinâmica: Filtra logs por qualquer termo em todos os campos, com busca case-insensitive.
- Busca temporal: Busca por intervalo de tempo (data/hora)
- Análise Visual Simples: Coloração automática para níveis e para ações comuns de tráfego.
- Agrupamento de Registros: Agrupe logs por qualquer coluna para visualizar totais por IP, ação, status, etc., com drill-down para filtrar pelos registros do grupo.
- Plotagem de gráficos: Gráficos com capacidade de exportação para melhor visualização e apresentação dos dados coletados.
- Inspeção Detalhada: Clique duplo em qualquer linha para abrir uma janela de detalhes com todos os campos do log selecionado.
- Exportação de Dados: Possibilidade de exportação dos dados selecionados em formatos .csv ou .json
Python 3.x
- Baixe o Repositório
git clone https://github.com/solopx/floga.git
- Acesse o diretório
cd floga - Instale as dependências
pip install -r requirements.txt
- Execute o Script
python src/main.py
- Carregar Logs: Clique no botão "Abrir Log" e selecione um arquivo de log (extensões .log ou .txt).
- Busca Geral: Digite termos de pesquisa na barra de busca.
- Filtragem por período: Selecione data/hora específicos e marque a checkbox filtrar por período para visualizar os logs do intervalo de tempo selecionado.
- Clique com o botão direito sobre as linhas para exportar as linhas como texto.
- Clique em "Exportar CSV" ou Exportar JSON" para exportar os resultados da busca para os formatos .csv ou .json.
- Duplo clique sobre a linha do log abre uma janela com os dados completos da entrada de log.
- Agrupar por: Clique em "Agrupar por" e selecione uma coluna para ver o total de registros por valor. Clique em uma linha do agrupamento para filtrar pelos registros daquele grupo. Clique em "Limpar" para desfazer o filtro do grupo ou "Voltar" para retornar à visualização completa.
- Gráficos: Clique no menu Gráficos para gerar e exportar gráficos a partir dos logs filtrados.
O script analisa entrada de logs no formato key=value, como por exemplo:
date=2023-10-27 time=10:30:00 logid=0000000000 type=traffic subtype=forward srcip=192.168.1.10 srcport=54321 srcintf="port1" dstip=8.8.8.8 dstport=53 dstintf="wan1" policyid=1 action=accept service="dns" utmaction=passthrough sentbyte=123 rcvdbyte=456
A aplicação foi dividida em 4 arquivos para melhor manutenção e expansão:
- log_engine.py: Motor de parse de logs, busca e filtros
- ui.py: Interface gráfica em Tkinter.
- charts.py: Geração e exibição de gráficos.
- main.py: Start da aplicação.
Contribuições são bem-vindas! Se você tiver ideias para melhorias, sinta-se à vontade para abrir uma issue ou enviar um pull request.
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido por solopx GitHub: https://github.com/solopx/


