Identificando problemas na inicialização da VM
A funcionalidade de init logs permite acessar os logs de boot da sua instância virtual na Magalu Cloud. Esses logs são úteis para diagnóstico de falhas de inicialização, execução de scripts de provisionamento e auditoria de segurança.
Casos de uso
✅ Diagnóstico de falha no boot
Use os init logs para entender falhas no processo de inicialização, como:
- Erros de montagem de disco;
- Kernel panic;
- Falhas em serviços como
systemd
,snapd
ounetworkd
.
Exemplo de log:
[FAILED] Failed to mount /mnt/data. Dependency failed for Local File Systems.
✅ Verificação da execução do cloud-init
O cloud-init
executa scripts de inicialização, instala pacotes e configura usuários. Os logs mostram se ele foi executado com sucesso.
Exemplo de log:
cloud-init[1216]: Running script user-data...
cloud-init[1216]: nginx installed successfully.
✅ Validação da aplicação de chaves SSH
Os logs confirmam se a chave SSH foi corretamente aplicada à instância no momento da criação.
Exemplo de log:
ci-info: Authorized keys from /home/ubuntu/.ssh/authorized_keys for user ubuntu
✅ Análise de problemas de memória (OOM)
Se processos estão sendo encerrados por falta de memória, isso aparece nos logs:
Out of memory: Killed process 416788 (dd) total-vm:982800kB ...
✅ Auditoria de segurança via fingerprints
As chaves de host SSH e fingerprints são exibidas no boot da VM. Isso permite confirmar a autenticidade da instância.
<14>Aug 23 13:42:41 cloud-init: -----BEGIN SSH HOST KEY FINGERPRINTS-----
SHA256:5ba6g21w2zLAwkKohK34rzasdfafadfasdfasdfak root@vm-name (ED25519)
Como usar
- >_ CLI
- 🌐 API
Comando
mgc virtual-machine instances init-logs [id] [flags]
Flags disponíveis
Flag | Obrigatório | Descrição |
---|---|---|
--id | Sim | ID da instância virtual. |
--max-lines-count | Não | Número máximo de linhas retornadas. Valor máximo: 5000 . Padrão: 50 . |
--cli.list-links | Não | Formato da resposta (ex: json , table , yaml ). |
Exemplo de uso
mgc virtual-machine instances init-logs --id 82c7d7e3-df00-43ea-bbc8-1e1c647c4ef9 --max-lines-count 100
Exportar os logs para um arquivo
Para facilitar o diagnóstico, você pode salvar os logs localmente e anexá-los ao abrir um chamado:
Exemplo de uso
mgc virtual-machine instances init-logs --id <ID_DA_INSTANCIA> --max-lines-count 5000 > init-logs.txt
Endpoint
GET /v1/instances/{id}/init-logs
Headers obrigatórios
Header | Descrição |
---|---|
x-tenant-id | Identificador do tenant atual |
Authorization | Token de autenticação Bearer |
Parâmetros
Tipo | Nome | Obrigatório | Descrição |
---|---|---|---|
Path | id | Sim | ID da instância virtual |
Query | max-lines-count | Não | Número máximo de linhas (1–5000). Padrão: 50 . |
Exemplo de requisição
GET /v1/instances/82c7d7e3-df00-43ea-bbc8-1e1c647c4ef9/init-logs?max-lines-count=100
Host: api.magalu.cloud
x-tenant-id: seu-tenant-id
Authorization: Bearer <token>
Resposta
{
"logs": [
"[[0;32m OK [0m] Started Getty on tty1.",
"Ubuntu 22.04.2 LTS instance ttyS0",
"<14>Aug 23 13:42:41 cloud-init: -----BEGIN SSH HOST KEY FINGERPRINTS-----",
"[23326360.639968] Out of memory: Killed process..."
]
}
- Os logs de inicialização (init logs) não são persistentes após o desligamento ou reinicialização da instância.
- Se a instância for desligada e ligada novamente, o log será reiniciado.
- O mesmo comportamento ocorre em caso de reboot (reinicialização).
- Para manter os logs de forma permanente, recomenda-se exportar e salvar localmente antes de qualquer desligamento.
O que fazer se não conseguir resolver o problema?
Se após analisar os logs de inicialização você não conseguir identificar ou resolver o problema, recomendamos abrir um chamado de suporte com as seguintes informações:
- ID da instância afetada
- Descrição do problema observado
- Período aproximado do ocorrido (data e hora)
- Logs de inicialização coletados (use o comando
init-logs
ou a API e copie os dados)
🧩 Os logs de inicialização são essenciais para que nossa equipe consiga entender rapidamente o que está acontecendo na sua instância. Quanto mais detalhes você fornecer, mais ágil será o diagnóstico.
🔒 Evite compartilhar dados sensíveis ou credenciais nos logs.