===== Nível Básico ===== === 1. Monitoramento Básico com `uptime` === * **uptime** - Exibe o tempo de funcionamento do sistema e a carga média. - Exemplo de uso: uptime - Descrição: Mostra há quanto tempo o sistema está em execução, o número de usuários conectados e a carga média da CPU nas últimas 1, 5 e 15 minutos. === 2. Verificação de Processos com `ps` === * **ps** - Exibe processos em execução. - Exemplo de uso: ps - Descrição: Exibe uma lista de processos em execução pelo usuário atual no terminal. * **ps aux** - Lista todos os processos em execução no sistema. - Exemplo de uso: ps aux - Descrição: Mostra todos os processos ativos no sistema, incluindo informações sobre o uso de CPU e memória. === 3. Verificação de Uso de Disco com `df` === * **df -h** - Exibe o uso do espaço em disco de forma legível. - Exemplo de uso: df -h - Descrição: Mostra o uso do espaço em disco em cada sistema de arquivos montado, exibido em MB e GB. === 4. Verificação de Uso de Memória com `free` === * **free -h** - Exibe o uso de memória RAM e swap. - Exemplo de uso: free -h - Descrição: Mostra a quantidade de memória livre e em uso no sistema, incluindo a memória swap, em formato legível (MB/GB). ===== Nível Intermediário ===== === 1. Monitoramento de Processos com `top` === * **top** - Exibe os processos em tempo real. - Exemplo de uso: top - Descrição: Monitora o uso da CPU, memória, e outros recursos por processos em execução no sistema em tempo real, com a possibilidade de ordenar e gerenciar processos. === 2. Uso de Rede com `netstat` === * **netstat -tuln** - Exibe as conexões de rede e portas abertas. - Exemplo de uso: netstat -tuln - Descrição: Mostra todas as conexões TCP/UDP ativas e as portas abertas no sistema. * **netstat -i** - Exibe estatísticas de interfaces de rede. - Exemplo de uso: netstat -i - Descrição: Mostra informações sobre as interfaces de rede e suas estatísticas, como pacotes enviados e recebidos. === 3. Monitoramento de I/O com `iostat` === * **iostat** - Exibe estatísticas de I/O de disco. - Exemplo de uso: iostat - Descrição: Mostra informações sobre o desempenho de I/O dos discos, como a taxa de transferência e o tempo de utilização dos dispositivos de armazenamento. === 4. Análise de Logs com `dmesg` === * **dmesg** - Exibe mensagens do kernel. - Exemplo de uso: dmesg - Descrição: Mostra mensagens do kernel, incluindo informações de inicialização do sistema, erros de hardware, e eventos relacionados a dispositivos de hardware. * **dmesg | tail** - Exibe as últimas mensagens do kernel. - Exemplo de uso: dmesg | tail - Descrição: Mostra as últimas linhas das mensagens do kernel, útil para verificar eventos recentes ou problemas que ocorreram após a inicialização do sistema. ===== Nível Avançado ===== === 1. Monitoramento Detalhado com `htop` === * **htop** - Ferramenta interativa para monitoramento de processos. - Exemplo de uso: htop - Descrição: Fornece uma interface interativa para monitorar processos, com a possibilidade de ordenar, filtrar e matar processos facilmente, além de mostrar o uso de CPU por núcleo e consumo de memória. === 2. Monitoramento de Tráfego de Rede com `iftop` === * **iftop** - Exibe o uso de largura de banda em tempo real. - Exemplo de uso: sudo iftop - Descrição: Monitora o uso de largura de banda por IP em tempo real, útil para identificar gargalos ou uso excessivo da rede por determinados hosts. * **iftop -i eth0** - Monitora o tráfego em uma interface específica. - Exemplo de uso: sudo iftop -i eth0 - Descrição: Mostra o tráfego de rede específico da interface ''eth0'', útil para análise de tráfego em ambientes com várias interfaces de rede. === 3. Análise Detalhada de Processos com `strace` === * **strace** - Exibe chamadas de sistema feitas por um processo. - Exemplo de uso: strace -p 1234 - Descrição: Monitora e exibe todas as chamadas de sistema feitas pelo processo com o PID 1234, útil para diagnosticar problemas em processos ou identificar quais recursos estão sendo acessados. * **strace -e trace=open,read** - Monitora chamadas específicas de um processo. - Exemplo de uso: strace -e trace=open,read -p 1234 - Descrição: Monitora apenas as chamadas de sistema relacionadas à abertura e leitura de arquivos feitas pelo processo com PID 1234. === 4. Diagnóstico de Rede com `nmap` === * **nmap** - Escaneia portas abertas em um host. - Exemplo de uso: nmap 192.168.1.1 - Descrição: Realiza um escaneamento das portas abertas no IP ''192.168.1.1'', útil para identificar quais serviços estão em execução em um host remoto. * **nmap -sP** - Verifica quais hosts estão ativos em uma rede. - Exemplo de uso: nmap -sP 192.168.1.0/24 - Descrição: Realiza um ping sweep para identificar quais hosts estão ativos na sub-rede ''192.168.1.0/24''. === 5. Monitoramento de Entrada/Saída com `iotop` === * **iotop** - Monitora o uso de I/O em tempo real. - Exemplo de uso: sudo iotop - Descrição: Exibe uma lista de processos que estão realizando operações de leitura e escrita em disco, ordenados pelo uso de I/O, útil para identificar processos que estão causando alto consumo de disco. === 6. Monitoramento de Utilização de Rede com `vnstat` === * **vnstat** - Monitora o uso de rede em longo prazo. - Exemplo de uso: vnstat - Descrição: Coleta e exibe estatísticas sobre o uso de largura de banda ao longo do tempo, permitindo monitorar o tráfego diário, semanal ou mensal. * **vnstat -d** - Exibe o uso diário da rede. - Exemplo de uso: vnstat -d - Descrição: Exibe o uso de rede diário para cada interface monitorada, permitindo a análise do tráfego de rede ao longo de vários dias. ===== Nível Especializado ===== === 1. Análise de Desempenho com `perf` === * **perf stat** - Coleta estatísticas detalhadas de desempenho. - Exemplo de uso: sudo perf stat sleep 5 - Descrição: Coleta e exibe estatísticas de desempenho enquanto o comando ''sleep 5'' é executado, incluindo ciclos de CPU, instruções, cache misses e outros dados. * **perf record** - Registra eventos de desempenho para análise posterior. - Exemplo de uso: sudo perf record -e cpu-clock -p 1234 - Descrição: Grava eventos relacionados ao uso de CPU para o processo com o PID 1234, permitindo uma análise mais detalhada com base no tempo de CPU consumido. === 2. Auditoria de Sistema com `auditd` === * **auditctl** - Configura auditoria de eventos no sistema. - Exemplo de uso: sudo auditctl -w /etc/shadow -p wa -k senha_monitorada - Descrição: Configura auditoria para o arquivo ''/etc/shadow'' e registra qualquer tentativa de alteração ou escrita, usando a chave de auditoria ''senha_monitorada''. * **ausearch** - Busca eventos de auditoria no sistema. - Exemplo de uso: sudo ausearch -k senha_monitorada - Descrição: Pesquisa todos os eventos de auditoria relacionados à chave ''senha_monitorada'', facilitando a verificação de quem tentou modificar o arquivo monitorado. === 3. Análise de Tráfego com `tcpdump` === * **tcpdump -i eth0** - Captura pacotes de rede em uma interface. - Exemplo de uso: sudo tcpdump -i eth0 - Descrição: Captura todos os pacotes de rede que passam pela interface ''eth0'' e exibe detalhes sobre cada pacote, útil para depuração de redes e análise de segurança. * **tcpdump -w captura.pcap** - Salva pacotes de rede para análise posterior. - Exemplo de uso: sudo tcpdump -i eth0 -w captura.pcap - Descrição: Captura pacotes da interface ''eth0'' e os salva no arquivo ''captura.pcap'' para análise posterior com ferramentas como Wireshark. === 4. Monitoramento de Contêineres com `cAdvisor` === * **cAdvisor** - Monitora o desempenho de contêineres em tempo real. - Exemplo de uso: docker run -d --name=cadvisor -p 8080:8080 --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro google/cadvisor - Descrição: Inicia o cAdvisor em um contêiner Docker, monitorando o desempenho e a utilização de recursos (CPU, memória, I/O) de todos os contêineres ativos no host. === 5. Monitoramento Centralizado com `Zabbix` === * **zabbix_agentd** - Inicia o agente do Zabbix para monitoramento de um host. - Exemplo de uso: sudo systemctl start zabbix-agent - Descrição: Inicia o agente Zabbix, permitindo o monitoramento centralizado de métricas de desempenho e uso de recursos no host a partir do servidor Zabbix. * **zabbix_get** - Consulta informações de monitoramento de um agente. - Exemplo de uso: zabbix_get -s 192.168.1.100 -k 'system.cpu.load[all,avg1]' - Descrição: Obtém a carga média de CPU nos últimos 1 minuto do host com o IP ''192.168.1.100'', usando o agente Zabbix para consulta remota. === 6. Monitoramento em Nuvem com `Prometheus` e `Grafana` === * **Prometheus** - Coleta métricas de serviços e sistemas. - Exemplo de uso: docker run -d --name=prometheus -p 9090:9090 prom/prometheus - Descrição: Inicia o servidor Prometheus para coletar métricas de sistemas e serviços, como uso de CPU, memória, e tráfego de rede, permitindo monitoramento detalhado e análise histórica. * **Grafana** - Visualiza métricas coletadas com Prometheus. - Exemplo de uso: docker run -d --name=grafana -p 3000:3000 grafana/grafana - Descrição: Inicia o Grafana, uma plataforma de visualização de dados, conectada ao Prometheus para criar gráficos e dashboards personalizados para monitoramento de sistemas e serviços.