# CLI e Troubleshooting Avançado (Nível 3)

## 1. Acesso SSH

Requer habilitação do serviço TSM-SSH no Host ou VCSA.

- Host: `ssh root@<esxi-ip>`
- VCSA: `ssh root@<vcsa-ip>` (shell primário é o Appliance Shell, digite `shell` para ir pro BASH).

## 2. Esxtop: O Monitor em Tempo Real

Ferramenta essencial para análise de performance granular.

- Execute `esxtop` no terminal SSH do Host.
- **Teclas de Atalho:**
  - `c`: CPU
  - `m`: Memory
  - `n`: Network
  - `d`: Disk Adapter / `u`: Disk Device / `v`: Disk VM
  - `V`: Visualizar apenas VMs
  - `f`: Adicionar/Remover colunas

### Colunas Críticas

- **%RDY (CPU Ready):** Soma dos valores de `Wait` que são "ready". Se alto (>5-10%), o host está oversubscribed.
- **%CSTP (Co-Stop):** VM SMP (várias vCPUs) esperando sincronização. Alto? A VM tem vCPUs demais. Reduza.
- **DAVG/cmd:** Latência do dispositivo (Storage). > 20ms é problema físico ou de SAN.
- **KAVG/cmd:** Latência do Kernel. > 2-3ms? Host saturado de I/O ou driver ruim.

## 3. Logs do ESXi (/var/log/)

- `vmkernel.log`: Log central do kernel. Drivers, Storage, Network, HA events.
  - _grep:_ `grep -i "scsi" /var/log/vmkernel.log`
- `hostd.log`: Log do agente de gerenciamento (Host Daemon). Comunicação com vCenter.
- `vpxa.log`: Log do agente vCenter no host.
- `auth.log`: Tentativas de login.

## 4. Comandos Essenciais (ESXCLI & VIM-CMD)

### Networking

- Listar NICs: `esxcli network nic list`
- Ver vSwitch: `esxcli network vswitch standard list`
- Teste de ping avançado (vmkping): `vmkping -I vmk0 8.8.8.8` (Testa conectividade da interface de gerência).

### VMs

- Listar VMs e IDs: `vim-cmd vmsvc/getallvms`
- Estado da VM: `vim-cmd vmsvc/power.getstate <vmid>`
- **Forçar Power Off:** `vim-cmd vmsvc/power.off <vmid>`
- **Matar processo (Último recurso):**
  1. `esxcli vm process list` (Pega o World ID)
  2. `esxcli vm process kill --type=force --world-id=<WorldID>`

### Storage

- Rescan de adaptadores: `esxcli storage core adapter rescan --all`
- Listar dispositivos: `esxcli storage core device list`
