===== 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.