Ferramenta agentless de auditoria e diagnóstico de infraestrutura Linux
- Desenvolvido por: Ettory Martins de Souza
- Versão: 2.0.0 (Production Ready)
O Shell Audit Orchestrator é uma ferramenta de diagnóstico e auditoria desenvolvida em Python, voltada para sistemas GNU/Linux, com foco em distribuições Debian-like e RHEL-like. Seu objetivo é automatizar a coleta de dados do sistema operacional e apresentar outputs formatados e organizados, facilitando:
- Análises de consumo de recursos computacionais
- Verificações de configuração de serviços
- Visualização de logs para auditorias técnicas
- Identificação de gargalos em ambientes produtivos
Com foco na praticidade, o Shell Audit Orchestrator pode ser executado em ambientes locais (bare metal, VMs ou containers) ou remotos via SSH.
Até o momento, o Shell Audit Orchestrator oferece as seguintes funcionalidades:
- Verificação detalhada do uso atual da(s) CPU(s)
- Identificação de picos e gargalos de processamento
- Exibição do uso total, livre e cache
- Avaliação do uso de swap e memória real disponível
- Identificação de dispositivos com maior tempo de leitura/gravação
- Monitoramento de operações por segundo (IOPS)
- Tráfego de entrada (inbound) e saída (outbound) por interface
- Dados úteis para identificar sobrecarga de banda ou uso anormal
- Uso percentual por mountpoint
- Destaca partições próximas da capacidade máxima
- Também utiliza verificação percentual por inodes
- Checagem da versão atual do kernel
- Notificação sobre versões mais recentes disponíveis
- Compatível com ambientes Debian-like (ex.: Debian, Ubuntu Server) e RHEL-like (ex.: RedHat Enterprise Linux, Oracle Linux, CentOS Linux)
- Utilização de hostslists
- Utilização de autenticação via SSH por passwords ou keys
Se o servidor possuir git instalado, basta executar:
git clone https://github.com/ettory-automation/shell-audit-orchestrator.git && mv shell-audit-orchestrator shell_check_v2Se o git não estiver disponível, use curl ou wget para baixar o projeto em formato .zip:
curl -L -o shell_check_v2.zip https://github.com/ettory-automation/shell-audit-orchestrator/archive/refs/heads/main.zip || \
wget -O shell_check_v2.zip https://github.com/ettory-automation/shell-audit-orchestrator/archive/refs/heads/main.zip ➤ Com unzip:
unzip shell_check_v2.zip && rm -rf shell_check_v2.zip && mv shell-audit-orchestrator-main shell_check_v2
⚠️ Nota: Se o servidor não possuirunzip, utilize oPythonnativo para descompactar.
➤ Com Python 3.x:
python3 -m zipfile -e shell_check_v2.zip .
rm -rf shell_check_v2.zip && mv shell-audit-orchestrator-main shell_check_v2➤ Com Python 2.x:
python -c "import zipfile; zipfile.ZipFile('shell_check_v2.zip', 'r').extractall('.')"
rm -rf shell_check_v2.zip && mv shell-audit-orchestrator-main shell_check_v2➤ Faça o download do Poetry:
sudo apt install pipx || sudo dnf install pipx
pipx install poetryObservação: Caso já possua o Poetry instalado no sistema, pule esta etapa. Para verificar se já o possui, basta utilizar o comando poetry --version.
➤ Entre dentro do diretório raiz do projeto, onde se localiza o arquivo pyproject.toml:
cd shell_check_v2➤ Instale as dependências no virtual environment:
poetry install➤ Ative o virtual environment do projeto via Poetry:
source $(poetry env info -p)/bin/activate➤ Execute o script com o comando abaixo, utilizando o Poetry:
python -m src.shell_check.main
⚠️ Nota: Para desativar o virtual environment do Poetry, basta utilizar o comandodeactivate.
Caso surjam dúvidas sobre a utilização do Poetry, a documentação oficial da ferramenta se encontra aqui
Este projeto está licenciado sob a GNU Affero General Public License v3.0 (AGLPv3).
Isso significa que você é livre para utilizar, modificar e distribuir o software, desde que as seguintes condições sejam atendidas:
- Os créditos ao autor original sejam mantidos.
- Se houver modificação do software por parte de terceiros, e em conjunto sua distribuição como um serviço (SaaS) em qualquer grau, o código-fonte das modificações aplicadas deverá ser aberto.
Consulte o arquivo LICENSE para mais detalhes.
Caso surjam dúvidas, sugestões ou necessidade de suporte especializado para implementação deste software em produção, entre em contato pelo link do Linkedin