384 sintomas catalogados
Cada sintoma com causa provável e correção, ligado à lição da trilha Infraestrutura que explica o porquê. Descreva o sintoma para filtrar.
| Sintoma | Causa provável | Correção | Lição |
|---|---|---|---|
| Novo nó não aparece no status do cluster | Corosync.conf desatualizado ou serviço não reiniciado | Sincronize o corosync.conf e reinicie o Corosync em todos os nós | Adição e remoção de nós: crescendo sem downtime |
| Quorum insuficiente após remoção de nó | Remoção de múltiplos nós sem recalcular quorum | Adicione nós de volta ou ajuste a configuração de quorum | Adição e remoção de nós: crescendo sem downtime |
| Recursos não migram ao remover nó | Constraints ou dependências não revisadas | Revise constraints e mova recursos manualmente | Adição e remoção de nós: crescendo sem downtime |
| Inventário não retorna hosts de um provedor | Credenciais ou filtros incorretos no plugin dinâmico | Revise as variáveis de autenticação e os filtros de região/tag | Ansible em ambientes híbridos e multi-cloud |
| Playbook falha ao criar recursos | Parâmetros incompatíveis com o provedor | Consulte a documentação do módulo e ajuste os parâmetros | Ansible em ambientes híbridos e multi-cloud |
| Mudanças inesperadas em execuções repetidas | Playbook não idempotente ou estado externo alterado | Reveja lógica do playbook e valide dependências externas | Ansible em ambientes híbridos e multi-cloud |
| Atualizações automáticas não ocorrem | Serviço unattended-upgrades não instalado ou configurado incorretamente | Reinstale o pacote e revise os arquivos de configuração | Atualizações automáticas e patches de segurança: não seja o |
| Pacotes de security não são atualizados | Origem security não está habilitada em 50unattended-upgrades | Edite o arquivo e inclua a origem correta | Atualizações automáticas e patches de segurança: não seja o |
| Reboot não ocorre após atualização crítica | Flag de reboot automático não está ativada | Adicione ou descomente Automatic-Reboot no arquivo de configuração | Atualizações automáticas e patches de segurança: não seja o |
| Nó atualizado não reintegra ao cluster | Versão incompatível ou erro de configuração | Verifique logs em /var/log/cluster/ e compatibilidade nas documentações oficiais | Atualizações, manutenção e mudanças sem susto |
| Perda de quorum após atualização de um nó | Quorum mal dimensionado ou nó com problemas de rede | Revise configuração de quorum e conectividade entre nós | Atualizações, manutenção e mudanças sem susto |
| Recursos não migrando após upgrade | Incompatibilidade de agente de recurso ou dependência ausente | Atualize agentes de recurso e revise dependências | Atualizações, manutenção e mudanças sem susto |
| Mudanças não aparecem no histórico do Git | Arquivo de regras não foi adicionado ou commitado | Use 'git add' e 'git commit' após cada alteração | Auditoria, versionamento e revisão de regras: como evitar a |
| Regras comentadas continuam ativas | Comentários não são reconhecidos pelo iptables-restore se não estiverem no formato correto | Garanta que os comentários sigam o padrão '#' no início da linha | Auditoria, versionamento e revisão de regras: como evitar a |
| Rollback não restaura o firewall corretamente | Arquivo de regras está inconsistente ou incompleto | Teste restauração em ambiente de homologação antes de aplicar em produção | Auditoria, versionamento e revisão de regras: como evitar a |
| Usuário autenticado, mas sem acesso à internet | Regra do iptables não aplicada ou ordem das regras incorreta | Verifique a ordem das regras com 'iptables -L --line-numbers' e ajuste conforme necessário | Autenticação e controle de acesso centralizado: integrando f |
| Usuário não consegue autenticar | Erro na integração do captive portal com LDAP/RADIUS | Cheque logs do captive portal e teste conexão com 'ldapsearch' ou 'radtest' | Autenticação e controle de acesso centralizado: integrando f |
| Regras permanecem após logout | Script de remoção de regras não está funcionando | Revise o script de logout e permissões de execução | Autenticação e controle de acesso centralizado: integrando f |
| Nó não entra no cluster | authkey incorreta ou ausente | Regere e redistribua a authkey, verifique permissões. | Autenticação, criptografia e controle de acesso no Corosync |
| Erro de 'secauth required but not enabled' | Falta de configuração do parâmetro secauth | Ajuste o corosync.conf e reinicie o serviço. | Autenticação, criptografia e controle de acesso no Corosync |
| Logs mostram 'crypto cipher not supported' | Versão do Corosync sem suporte ao algoritmo escolhido | Consulte a documentação e ajuste para um algoritmo suportado. | Autenticação, criptografia e controle de acesso no Corosync |
| Backup não aparece no servidor central | Permissões SSH ou caminho incorreto no synchronize | Verifique usuário, chaves e caminhos no playbook | Automação de rotinas críticas: backup, patching e auditoria |
| Atualização de pacotes falha | Falta de permissões sudo ou repositórios desatualizados | Confirme acesso root e atualize os repositórios | Automação de rotinas críticas: backup, patching e auditoria |
| Relatório de auditoria ilegível | Objeto complexo não serializado corretamente | Use filtro to_nice_yaml ou to_json para salvar em formato legível | Automação de rotinas críticas: backup, patching e auditoria |
| Playbook trava em algum host | Timeout de SSH ou host inacessível | Teste conectividade com 'ansible all -m ping' | Automação de rotinas críticas: backup, patching e auditoria |
| Perda de acesso SSH após aplicar regras | Regra de bloqueio aplicada antes da liberação da porta SSH | Inclua regra de ACCEPT para SSH antes de bloqueios gerais | Automatizando deploy e rollback de regras com scripts e Ansi |
| Erro de sintaxe ao aplicar regras | Arquivo de regras com erro de formatação | Valide sintaxe com 'iptables-restore --test' ou 'nft -c -f' | Automatizando deploy e rollback de regras com scripts e Ansi |
| Rollback não restaura estado anterior | Backup sobrescrito ou ausente | Garanta que backups sejam únicos e versionados | Automatizando deploy e rollback de regras com scripts e Ansi |
| Dois nós ativos no mesmo recurso | Split-brain por quorum mal configurado | Reconfigure quorum e implemente tie-breaker | Autópsia: por que clusters falham em produção |
| Fencing não executa | Agente de fencing sem permissão ou parâmetros errados | Corrija credenciais e teste manualmente | Autópsia: por que clusters falham em produção |
| Recursos não iniciam após failover | Ordem ou dependência não declarada | Ajuste constraints no Pacemaker | Autópsia: por que clusters falham em produção |
| Logs cheios de 'lost quorum' | Rede instável ou interface única | Implemente rede redundante para cluster | Autópsia: por que clusters falham em produção |
| Backup incompleto ou arquivos ausentes | Permissões insuficientes ou exclusão acidental pelo --delete | Revise permissões e revise o uso do parâmetro --delete | Backups testados: snapshot, rsync e o que realmente salva se |
| Snapshot LVM encheu e travou o volume | Snapshot pequeno demais para as alterações durante o backup | Aumente o tamanho do snapshot e monitore o uso | Backups testados: snapshot, rsync e o que realmente salva se |
| Rsync lento ou travando | Rede saturada ou muitos arquivos pequenos | Use compressão (-z) e ajuste parâmetros de IO | Backups testados: snapshot, rsync e o que realmente salva se |
| O HAProxy não inicia após alteração no haproxy.cfg | Erro de sintaxe na configuração | Rode 'haproxy -c -f /etc/haproxy/haproxy.cfg' para validar antes de reiniciar | Balanceamento de carga com HAProxy: escalando sem dor de cab |
| Logs do HAProxy não aparecem em /var/log/haproxy.log | Rsyslog não está configurado corretamente | Revise o arquivo /etc/rsyslog.d/49-haproxy.conf e reinicie o rsyslog | Balanceamento de carga com HAProxy: escalando sem dor de cab |
| Um backend nunca recebe tráfego | Health check está falhando | Verifique conectividade e logs de health check no HAProxy | Balanceamento de carga com HAProxy: escalando sem dor de cab |
| Pacotes legítimos sendo bloqueados | Regra DROP genérica antes de regras específicas | Reorganize as regras, colocando as permissões antes dos bloqueios genéricos | Chains e tables: como o tráfego realmente atravessa o firewa |
| Regras de NAT não funcionam | Regra aplicada na chain errada (ex: OUTPUT em vez de POSTROUTING) | Revise o fluxo do pacote e aplique NAT nas chains corretas | Chains e tables: como o tráfego realmente atravessa o firewa |
| Comando falha ao listar tabela raw | Tabela raw não habilitada no kernel | Consulte a documentação e verifique suporte do kernel | Chains e tables: como o tráfego realmente atravessa o firewa |
| Nó não retorna após fencing | Configuração incorreta do agente de fencing ou hardware não responde | Revise logs do fencing e teste manualmente o agente | Checklist de saúde: o que revisar periodicamente no cluster |
| Failover de recurso falha | Dependências não satisfeitas ou restrições mal configuradas | Cheque restrições no CIB e dependências do recurso | Checklist de saúde: o que revisar periodicamente no cluster |
| Backup restaurado não funciona | Backup incompleto ou restore em diretório errado | Refaça o backup incluindo todos os arquivos críticos e restaure nos caminhos corretos | Checklist de saúde: o que revisar periodicamente no cluster |
| Banco de dados não inicia após restauração | Backup corrompido ou incompleto | Restaure backup anterior e valide integridade antes de reintegrar | Cluster de banco de dados sob ataque: resposta a incidentes |
| Pacemaker não reconhece quorum após incidente | Corosync ainda instável ou rede saturada | Verifique conectividade e logs do Corosync | Cluster de banco de dados sob ataque: resposta a incidentes |
| Split-brain recorrente após fencing | STONITH mal configurado ou ineficaz | Revise configuração de fencing e teste isolamento físico | Cluster de banco de dados sob ataque: resposta a incidentes |
| Logs cheios de erros de replicação | Dados corrompidos propagados | Isolar nó afetado e restaurar backup íntegro | Cluster de banco de dados sob ataque: resposta a incidentes |
| Recursos não migram após falha do nó | Configuração incorreta de quorum ou fencing | Revise quorum e fencing no Pacemaker; consulte a documentação oficial | Clusterização com Corosync e Pacemaker: alta disponibilidade |
| Serviços não sobem após reinício do cluster | Constraints ou dependências mal definidas | Verifique constraints com 'pcs constraint show' e ajuste conforme necessário | Clusterização com Corosync e Pacemaker: alta disponibilidade |
| Corosync não inicia | Erro no corosync.conf ou conflito de portas | Cheque logs em /var/log/ e valide o corosync.conf | Clusterização com Corosync e Pacemaker: alta disponibilidade |
| Latência alta entre nós | Rede instável ou firewall bloqueando portas | Verifique conectividade e regras de firewall | Clusterização com Corosync e Pacemaker: alta disponibilidade |
| Banco não inicia após failover | Configuração de replicação incompleta ou arquivos de dados corrompidos | Revise a replicação e restaure backup consistente | Clusterizando bancos de dados: MySQL, PostgreSQL e beyond |
| Dois nós ativos como master | Fencing/STONITH não configurado ou quorum insuficiente | Implemente fencing e ajuste quorum no Corosync | Clusterizando bancos de dados: MySQL, PostgreSQL e beyond |
| Dados divergentes após failover | Replicação atrasada ou falha de sincronização | Sincronize manualmente antes de promover o nó | Clusterizando bancos de dados: MySQL, PostgreSQL e beyond |
| Recursos migrando inesperadamente entre sites | Timeouts de heartbeat muito baixos para a latência WAN | Aumente o token timeout no Corosync | Clusters geograficamente distribuídos: desafios e soluções |
| Cluster perde quorum ao perder um site | Falta de nó árbitro ou configuração incorreta de votos | Configure quorum device corretamente | Clusters geograficamente distribuídos: desafios e soluções |
| DRBD secundário fica 'Outdated' após failover | Atraso excessivo na replicação assíncrona | Monitore o atraso e ajuste aplicações para tolerar perda | Clusters geograficamente distribuídos: desafios e soluções |
| Failover demora mais de 1 minuto | Intervalos de monitoramento altos ou fencing mal configurado | Reduza o intervalo de monitoramento e revise a configuração de fencing | Clusters sem downtime: tendências e limitações do Pacemaker |
| Split-brain detectado | Quorum insuficiente ou fencing inativo | Ative fencing e ajuste 'expected_votes' no Corosync | Clusters sem downtime: tendências e limitações do Pacemaker |
| Serviço não reinicia após falha | Resource agent incompatível ou parâmetro incorreto | Verifique logs em /var/log/pacemaker.log e ajuste o agente | Clusters sem downtime: tendências e limitações do Pacemaker |
| Cluster instável com muitos nós | Limite de escalabilidade do Pacemaker | Divida o cluster em grupos menores | Clusters sem downtime: tendências e limitações do Pacemaker |
| Módulo customizado não é encontrado | Diretório 'library/' fora do local correto ou nome do arquivo errado | Coloque o módulo em 'library/' no mesmo nível do playbook e revise o nome | Collections, plugins e extensões: além do núcleo do Ansible |
| Erro de importação ao rodar plugin | Dependência Python ausente | Instale as dependências informadas na documentação do plugin | Collections, plugins e extensões: além do núcleo do Ansible |
| Plugin não aparece na listagem | Caminho do plugin não configurado no ansible.cfg | Ajuste a variável 'callback_plugins' ou similar no ansible.cfg | Collections, plugins e extensões: além do núcleo do Ansible |
| Recursos não iniciam após falha de nó | Fencing não configurado ou falhou | Configure e teste STONITH corretamente | Como clusters evitam downtime: quorum, fencing e split-brain |
| Cluster opera com menos de metade dos nós | Quorum mal configurado | Revise expected_votes e dispositivos de quorum | Como clusters evitam downtime: quorum, fencing e split-brain |
| Dois nós ativos simultaneamente após partição de rede | Falta de prevenção de split-brain | Implemente quorum e fencing | Como clusters evitam downtime: quorum, fencing e split-brain |
| Recursos são migrados sem motivo aparente | Latência de rede ou falha intermitente | Verifique logs do Corosync e estabilidade de rede | Como clusters evitam downtime: quorum, fencing e split-brain |
| Falha de conexão SSH | Chave SSH ausente ou permissões incorretas | Recrie a chave e use ssh-copy-id para cada host | Como o Ansible executa comandos remotamente: SSH, módulos e |
| Permissão negada ao executar tarefas | Usuário sem permissão de sudo | Adicione o usuário ao grupo sudoers nos hosts | Como o Ansible executa comandos remotamente: SSH, módulos e |
| Módulo não encontrado | Módulo não instalado ou nome incorreto | Use 'ansible-doc -l' para listar módulos disponíveis | Como o Ansible executa comandos remotamente: SSH, módulos e |
| Sem acesso à rede após aplicar Netplan | Erro de sintaxe YAML ou nome de interface errado | Rever indentação, nomes e corrigir o arquivo em modo local | Configuração de rede: Netplan, DHCP, IP fixo e DNS local |
| Sem resolução de nomes | Nameservers ausentes ou DNS local errado | Corrigir seção 'nameservers' no Netplan e aplicar novamente | Configuração de rede: Netplan, DHCP, IP fixo e DNS local |
| IP não muda após alteração | Serviço de rede não reiniciado corretamente | Reaplicar Netplan e, se necessário, reiniciar o servidor | Configuração de rede: Netplan, DHCP, IP fixo e DNS local |
| Serviço inacessível após aplicar regras | Regra de bloqueio antes da liberação específica | Reordene as regras, colocando liberações antes dos bloqueios | Construindo regras robustas: sintaxe, parâmetros e armadilha |
| Firewall não bloqueia tráfego indesejado | Regras muito permissivas ou falta de bloqueio explícito | Aperte as regras, bloqueando tudo por padrão e liberando apenas o necessário | Construindo regras robustas: sintaxe, parâmetros e armadilha |
| Regras desaparecem após reboot | Regras não foram salvas para persistência | Use 'iptables-save' ou configure o serviço de persistência | Construindo regras robustas: sintaxe, parâmetros e armadilha |
| Comando 'docker' não encontrado | Docker não instalado ou PATH não atualizado | Reinstale com 'sudo apt install docker.io' e reinicie o terminal | Containerização com Docker: isolando serviços sem perder des |
| Erro de permissão ao rodar docker | Usuário não está no grupo docker | Adicione com 'sudo usermod -aG docker $USER' e faça logout/login | Containerização com Docker: isolando serviços sem perder des |
| Container não acessível na porta mapeada | Firewall bloqueando ou porta já em uso | Libere a porta no firewall ou escolha outra porta livre | Containerização com Docker: isolando serviços sem perder des |
| Servidor lento mesmo com CPU e RAM baixas | Disco saturado (IOPS alto) | Verifique iostat; considere SSD ou balanceamento de carga | CPU, memória e IOPS: medindo o que realmente limita seu serv |
| Processos travando e swap aumentando | Falta de memória RAM | Reduza serviços ou aumente RAM | CPU, memória e IOPS: medindo o que realmente limita seu serv |
| Load average alto sem uso de CPU elevado | Fila de I/O bloqueando processos | Analise iostat e otimize acesso a disco | CPU, memória e IOPS: medindo o que realmente limita seu serv |
| Failover inesperado de recursos | CPU ou RAM insuficiente causando delays no heartbeat | Aumente recursos físicos ou otimize a configuração dos recursos | CPU, RAM e rede: onde o cluster realmente sente |
| Mensagens de split-brain no DRBD | Rede saturada ou latência alta entre os nós | Isolar a rede do cluster ou aumentar a largura de banda | CPU, RAM e rede: onde o cluster realmente sente |
| Queda de quorum frequente | Rede compartilhada com outros serviços pesados | Migrar para rede dedicada ou aplicar QoS | CPU, RAM e rede: onde o cluster realmente sente |
| Debug não mostra valor esperado | Variável não definida ou erro de escopo | Verifique se a variável foi registrada corretamente e se está acessível naquele ponto do playbook | Debugging em playbooks: módulos debug, assert e register |
| Assert falha mesmo com saída correta | Sintaxe errada na expressão de teste | Revise a condição em that e use debug para inspecionar o valor real | Debugging em playbooks: módulos debug, assert e register |
| Register não captura saída completa | Comando não gera saída ou erro de permissão | Cheque o comando executado e permissões do usuário Ansible | Debugging em playbooks: módulos debug, assert e register |
| Cluster para todos os recursos após queda de um nó | Quorum insuficiente devido a número par de nós ou configuração errada de expected_votes | Reveja o número de nós e ajuste expected_votes no corosync.conf | Desenhando o cluster: topologias, número de nós e quorum |
| Fencing disparado sem motivo aparente | Latência de rede alta causando perda de heartbeat | Ajuste os valores de token e consensus para tolerar maior latência | Desenhando o cluster: topologias, número de nós e quorum |
| Split-brain detectado | Falta de quorum device ou configuração inadequada de quorum | Implemente um quorum device ou ajuste a topologia para número ímpar de nós | Desenhando o cluster: topologias, número de nós e quorum |
| Serviço da DMZ inacessível da internet | Regra de FORWARD ausente ou interface errada | Revise as regras e garanta que a chain FORWARD permite o fluxo correto | Desenhando zonas, DMZs e segmentação em redes Linux |
| Servidores da DMZ se comunicam entre si sem restrição | Faltou regra de bloqueio lateral na DMZ | Adicione regra DROP para tráfego DMZ-DMZ | Desenhando zonas, DMZs e segmentação em redes Linux |
| Rede interna acessível da internet | Regra de bloqueio ausente ou ordem incorreta | Garanta que DROP para internet-interna vem antes de ACCEPTs mais amplos | Desenhando zonas, DMZs e segmentação em redes Linux |
| Serviço legítimo bloqueado | Regra muito restritiva ou ordem incorreta das regras | Revise a ordem e especificidade das regras no iptables | Do risco ao requisito: traduzindo ameaças em regras de firew |
| Porta aberta sem necessidade | Superfície de ataque não revisada ou regra genérica | Remova regras genéricas e revise o inventário de serviços | Do risco ao requisito: traduzindo ameaças em regras de firew |
| Dificuldade para auditar exceções | Falta de documentação das regras e justificativas | Implemente comentários e mantenha registro externo das exceções | Do risco ao requisito: traduzindo ameaças em regras de firew |
| Variável sobrescrita inesperadamente | Nomes genéricos ou sem prefixo de role | Renomeie usando prefixo da role | Documentação e comentários: playbooks que sobrevivem ao temp |
| Equipe não entende motivo de uma task | Falta de comentário explicando decisão | Adicione comentário explicando o porquê | Documentação e comentários: playbooks que sobrevivem ao temp |
| Erro ao rodar playbook após meses parado | Mudança em dependências não documentada | Atualize README e comentários sobre dependências | Documentação e comentários: playbooks que sobrevivem ao temp |
| Dúvidas recorrentes sobre uso de variáveis | README incompleto ou ausente | Inclua seção de variáveis e exemplos no README | Documentação e comentários: playbooks que sobrevivem ao temp |
| README ou CHANGELOG sumiu após atualização do sistema | Scripts de pós-instalação ou automação sobrescreveram /etc | Inclua README e CHANGELOG no backup e restaure após atualizações. | Documentação viva: o servidor que se explica sozinho |
| Scripts de pós-instalação não executam | Permissões incorretas ou ausência de shebang | Garanta permissão de execução (chmod +x) e shebang correto (#!/bin/bash). | Documentação viva: o servidor que se explica sozinho |
| Backup da documentação não roda | Script de backup não está no cron ou possui erro de sintaxe | Revise o script, teste manualmente e confira logs do cron em /var/log/syslog. | Documentação viva: o servidor que se explica sozinho |
| DRBD não sincroniza entre os nós | Problema de conectividade ou portas bloqueadas | Verifique firewall, conectividade e se as portas (default 7789) estão abertas | DRBD e storage compartilhado: consistência sem SAN proprietá |
| Pacemaker não promove o recurso DRBD | Falta de fencing ou configuração de constraints incorreta | Revise constraints e implemente STONITH | DRBD e storage compartilhado: consistência sem SAN proprietá |
| Filesystem não monta após failover | DRBD não está em estado UpToDate no novo primário | Aguarde sincronização completa ou force resync manualmente | DRBD e storage compartilhado: consistência sem SAN proprietá |
| Falha ao conectar via SSH | Chave SSH errada ou usuário inexistente | Ajuste o inventário e copie a chave correta para o servidor | Erros clássicos: SSH, variáveis indefinidas e permissões |
| Erro de variável indefinida | Variável não declarada em nenhum escopo | Defina a variável em vars, host_vars, group_vars ou passe via --extra-vars | Erros clássicos: SSH, variáveis indefinidas e permissões |
| Permissão negada ao usar sudo | Usuário não está em sudoers ou exige senha | Adicione o usuário ao sudoers com NOPASSWD usando visudo | Erros clássicos: SSH, variáveis indefinidas e permissões |
| Recursos não iniciam após falha de nó | Fencing não configurado ou falhou | Revise configuração do agente STONITH e teste manualmente com 'pcs stonith fence <nome-do-nó>' | Escolha de recursos e fencing: o que proteger e como isolar |
| Serviço sobe antes do backend | Constraints de ordem mal definidas | Ajuste constraints com 'pcs constraint order' | Escolha de recursos e fencing: o que proteger e como isolar |
| Split-brain detectado | Fencing ausente ou ineficaz | Implemente fencing automático e teste isolamento | Escolha de recursos e fencing: o que proteger e como isolar |
| Regras não têm efeito após reload | Backend incorreto ou conflito entre ferramentas (ex: firewalld e iptables ativos juntos) | Desative firewalld se usar iptables puro, ou vice-versa. Verifique qual backend está ativo. | Escolhendo entre iptables, nftables e firewalld conforme o c |
| Erro de sintaxe ao aplicar regras | Sintaxe antiga usada em nftables ou comandos misturados | Reescreva as regras conforme a sintaxe correta da ferramenta. Consulte a documentação. | Escolhendo entre iptables, nftables e firewalld conforme o c |
| Serviço não libera porta mesmo após regra | Ordem de prioridade da regra ou zona errada no firewalld | Revise a ordem das regras e a zona aplicada. Use 'firewall-cmd --get-active-zones'. | Escolhendo entre iptables, nftables e firewalld conforme o c |
| Servidor começa a usar swap constantemente | RAM insuficiente para o workload real | Aumente a RAM física ou otimize os serviços | Escolhendo hardware e arquitetura: quando um servidor precis |
| RAM ociosa em excesso | Superdimensionamento | Reduza recursos ou consolide workloads | Escolhendo hardware e arquitetura: quando um servidor precis |
| VMs ou containers travando | Overcommit de RAM | Revise limites de RAM e ajuste alocações | Escolhendo hardware e arquitetura: quando um servidor precis |
| Aplicações legítimas param de funcionar após bloquear fragmentos | Algumas aplicações dependem de fragmentação IP | Permita fragmentos apenas para IPs ou portas confiáveis | Evasão de firewall: técnicas conhecidas e como bloquear |
| Scan de portas ainda detecta serviços | Regras aplicadas na chain errada ou ordem incorreta | Revise a ordem das regras e a chain (INPUT, FORWARD, OUTPUT) | Evasão de firewall: técnicas conhecidas e como bloquear |
| Túneis SSH continuam funcionando em portas não padrão | Portas de saída excessivamente abertas | Restrinja as portas de saída e monitore conexões ativas | Evasão de firewall: técnicas conhecidas e como bloquear |
| Recursos não sobem após falha de nó | Fencing não executado ou falhou | Revise configuração do STONITH e conectividade do dispositivo de fencing | Falhas comuns: quorum perdido, fencing falho e recursos não |
| Cluster mostra 'Quorum: No' | Perda de comunicação entre nós ou número insuficiente de nós ativos | Restaure conectividade ou adicione nós para atingir quorum | Falhas comuns: quorum perdido, fencing falho e recursos não |
| Recurso em 'Failed' mesmo após restart | Erro de configuração ou ambiente (porta, permissão, dependência) | Verifique logs, corrija o ambiente e reinicie o recurso | Falhas comuns: quorum perdido, fencing falho e recursos não |
| conntrack -L retorna 'No such file or directory' | conntrack-tools não instalado | Instale o pacote conntrack-tools pelo gerenciador de pacotes. | Ferramentas de monitoramento em tempo real: do iptables-save |
| iptables -L não mostra contadores | Faltou o parâmetro -v | Use 'iptables -L -v -n' para ver contadores. | Ferramentas de monitoramento em tempo real: do iptables-save |
| Tabela conntrack lota e bloqueia novas conexões | Limite padrão insuficiente para o tráfego | Ajuste o parâmetro nf_conntrack_max conforme a documentação. | Ferramentas de monitoramento em tempo real: do iptables-save |
| Regras sumiram após reboot | Regras não persistidas corretamente | Implemente persistência com iptables-persistent ou scripts de inicialização. | Ferramentas de monitoramento em tempo real: do iptables-save |
| Não encontra arquivos de configuração esperados em /etc | O serviço pode não estar instalado ou instalado de forma customizada. | Verifique se o pacote está instalado e consulte a documentação do serviço. | Filesystem Hierarchy Standard: por que /etc não está em /hom |
| Logs não aparecem em /var/log | O serviço pode estar configurado para logar em outro local ou logrotate pode ter movido os arquivos. | Cheque a configuração do serviço e o status do logrotate. | Filesystem Hierarchy Standard: por que /etc não está em /hom |
| Usuário não encontra seu diretório em /home | O usuário pode não ter sido criado com diretório home ou o diretório foi removido. | Crie o diretório manualmente e ajuste permissões, se necessário. | Filesystem Hierarchy Standard: por que /etc não está em /hom |
| Conexões são derrubadas após failover | Estados não sincronizados ou regras diferentes | Verifique configuração do conntrackd e sincronize regras do iptables | Firewall em cluster: alta disponibilidade com conntrackd e k |
| IP virtual não aparece no backup | Prioridade ou interface incorreta no keepalived | Ajuste configuração e reinicie keepalived | Firewall em cluster: alta disponibilidade com conntrackd e k |
| Logs de erro de clock no conntrackd | Relógios dos servidores fora de sincronia | Configure NTP em ambos os nós | Firewall em cluster: alta disponibilidade com conntrackd e k |
| conntrackd não inicia | Erro de sintaxe no arquivo de configuração | Revise conntrackd.conf e consulte logs | Firewall em cluster: alta disponibilidade com conntrackd e k |
| Hosts em VLANs diferentes não se comunicam | Roteamento IP desabilitado ou regras de firewall bloqueando todo o tráfego | Habilite o roteamento e revise as regras de iptables. | Firewall Linux em redes corporativas: integração com roteado |
| Switch não reconhece as VLANs do Linux | Porta do switch não configurada como trunk ou IDs de VLAN inconsistentes | Ajuste a configuração do switch e valide os IDs de VLAN. | Firewall Linux em redes corporativas: integração com roteado |
| Serviços Windows não funcionam entre VLANs | Portas específicas (ex: 445, 139) bloqueadas pelo firewall | Inclua regras para liberar as portas necessárias entre as VLANs. | Firewall Linux em redes corporativas: integração com roteado |
| Latência aumentou após ajuste de regras | Regras mal ordenadas ou inspeção profunda ativada em excesso | Simplifique e reordene as regras, evitando inspeção desnecessária | Firewall Linux em redes de fibra: desafios de alta performan |
| Pacotes sendo descartados | Buffers RX/TX pequenos ou nf_conntrack saturado | Aumente buffers e nf_conntrack_max | Firewall Linux em redes de fibra: desafios de alta performan |
| Fragmentação de pacotes | MTU incompatível entre equipamentos | Uniformize MTU em toda a rede | Firewall Linux em redes de fibra: desafios de alta performan |
| CPU de um núcleo saturada | IRQ balance desativado | Ative irqbalance para distribuir carga | Firewall Linux em redes de fibra: desafios de alta performan |
| Serviço legítimo não conecta | Regra de bloqueio genérica antes da regra de permissão | Reordene as regras ou adicione exceções antes dos bloqueios. | Firewall, filtragem de pacotes e zonas: o que realmente sepa |
| Acesso externo indevido permitido | Política padrão permissiva ou regra ampla demais | Altere a política para DROP e restrinja as regras. | Firewall, filtragem de pacotes e zonas: o que realmente sepa |
| Perda de conexão SSH após ativar firewall | Regra de SSH ausente ou muito restritiva | Inclua regra para SSH antes de ativar política DROP. | Firewall, filtragem de pacotes e zonas: o que realmente sepa |
| Set blacklist não existe após o swap | O set original não foi criado antes do swap. | Crie o set original manualmente antes da primeira execução. | Geração dinâmica de regras com ipset e integração com feeds |
| O set blacklist está vazio | O feed estava vazio ou o parsing falhou. | Verifique o conteúdo do feed e o script de parsing. | Geração dinâmica de regras com ipset e integração com feeds |
| Erro: 'Set cannot be swapped' | Os sets não têm o mesmo tipo ou parâmetros. | Garanta que ambos os sets tenham os mesmos parâmetros na criação. | Geração dinâmica de regras com ipset e integração com feeds |
| Assert falha mesmo com configuração correta | Condição do assert mal formulada ou variável diferente do esperado | Revise a expressão e use debug para inspecionar valores | Gerando relatórios de conformidade com Ansible |
| Relatório vazio ou incompleto | Callback não configurado corretamente ou permissões insuficientes | Verifique a variável ANSIBLE_STDOUT_CALLBACK e permissões dos arquivos | Gerando relatórios de conformidade com Ansible |
| Playbook não encontra arquivos de configuração | Caminho errado ou permissões insuficientes | Confirme o caminho e ajuste permissões no destino | Gerando relatórios de conformidade com Ansible |
| As regras não mudam após rodar o playbook ou manifest | Arquivo de regras não foi atualizado ou comando de aplicação falhou | Verifique permissões do arquivo, logs do Ansible/Puppet e se o shell está sendo usado para redirecionamento | Gerenciamento centralizado: orquestrando regras em múltiplos |
| Conexões são bloqueadas inesperadamente | Regras padrão muito restritivas ou sobrescritas por exceções | Revise o arquivo de regras e as exceções aplicadas por host | Gerenciamento centralizado: orquestrando regras em múltiplos |
| Logs de auditoria não são gerados | Comando de auditoria não foi executado ou diretório de log não existe | Crie o diretório de log e revise o comando de auditoria | Gerenciamento centralizado: orquestrando regras em múltiplos |
| Playbook alterou hosts errados | Inventário ou grupo mal definido | Revise os arquivos de inventário e grupos | Gerenciando ambientes múltiplos: produção, staging e testes |
| Variáveis de produção vazaram para staging | Estrutura de variáveis compartilhada ou sobrescrita | Separe arquivos de variáveis por ambiente | Gerenciando ambientes múltiplos: produção, staging e testes |
| Rollback não restaurou estado anterior | Backup não foi criado antes da alteração | Inclua sempre tarefas de backup antes de mudanças críticas | Gerenciando ambientes múltiplos: produção, staging e testes |
| Erro 'ERROR! Decryption failed' ao rodar playbook | Senha do Vault incorreta ou arquivo corrompido | Confirme a senha e tente restaurar o arquivo de um backup íntegro | Gerenciando credenciais: Ansible Vault e SSH seguro |
| Permissão negada ao acessar chave SSH | Permissões do arquivo muito abertas | Rode chmod 600 na chave privada | Gerenciando credenciais: Ansible Vault e SSH seguro |
| Usuários não autorizados conseguem ler arquivos Vault | Permissões de arquivo ou diretório incorretas | Restrinja com chmod 600/700 e revise grupos do sistema | Gerenciando credenciais: Ansible Vault e SSH seguro |
| Variável não é reconhecida no playbook | Arquivo de variáveis mal nomeado ou no diretório errado | Verifique se o nome do arquivo bate com o nome do host/grupo e está na pasta correta | Gerenciando variáveis e arquivos secretos |
| Erro de decriptação do Vault | Senha do Vault incorreta ou arquivo corrompido | Confirme a senha e revalide o arquivo com 'ansible-vault view' | Gerenciando variáveis e arquivos secretos |
| Valor de variável inesperado durante execução | Conflito de precedência entre múltiplas fontes | Revise a hierarquia de precedência e ajuste onde necessário | Gerenciando variáveis e arquivos secretos |
| Regra não bloqueia IPs do set | Set não está referenciado corretamente na regra iptables ou está vazio | Verifique se o nome do set está correto e se há elementos adicionados | Grupos de IPs, portas e protocolos: usando ipset para simpli |
| Erro ao criar set | Set com mesmo nome já existe ou tipo incompatível | Destrua o set antigo com 'ipset destroy' e crie novamente | Grupos de IPs, portas e protocolos: usando ipset para simpli |
| Comando ipset não encontrado | ipset não instalado ou PATH incorreto | Instale o pacote ipset da sua distribuição | Grupos de IPs, portas e protocolos: usando ipset para simpli |
| Failover não ocorre em pods Kubernetes | Pacemaker não tem controle do host ou do ciclo de vida do pod | Prefira rodar Pacemaker em VMs ou use HA nativo do Kubernetes | HA em containers e clouds: Pacemaker no Kubernetes e beyond |
| Fencing falha em cloud | Credenciais ou permissões insuficientes na API da cloud | Revise permissões e parâmetros do agente de fencing | HA em containers e clouds: Pacemaker no Kubernetes e beyond |
| Resource agents falham em containers | Dependência de systemd ou paths ausentes | Adapte scripts ou use containers com systemd habilitado | HA em containers e clouds: Pacemaker no Kubernetes e beyond |
| Handler não executa mesmo após mudança | A tarefa que deveria notificar o handler não está marcada como 'changed'. | Verifique se a tarefa realmente altera o arquivo ou recurso monitorado. | Handlers, loops e condicionais: tornando playbooks inteligen |
| Tarefa dentro de loop falha para um item específico | O item não existe ou está mal formatado. | Revise a lista de itens e o uso de variáveis. | Handlers, loops e condicionais: tornando playbooks inteligen |
| Condicional 'when' nunca executa a tarefa | A variável usada na condicional está errada ou não existe. | Use 'ansible -m setup' para inspecionar os fatos disponíveis. | Handlers, loops e condicionais: tornando playbooks inteligen |
| Serviço legítimo parou de funcionar após hardening | Serviço essencial foi desabilitado ou porta bloqueada no firewall | Revise os serviços e regras do UFW; reabilite o serviço e libere a porta necessária | Hardening básico: o que fechar, o que abrir e o que nunca ex |
| Não consegue acessar o SSH após ativar o UFW | Porta 22 não foi liberada antes de ativar o firewall | Acesse via console físico ou KVM e execute 'sudo ufw allow 22/tcp' | Hardening básico: o que fechar, o que abrir e o que nunca ex |
| Portas continuam abertas mesmo após desabilitar serviço | Outro processo está usando a porta ou serviço não foi parado corretamente | Use 'sudo ss -tulnp' para identificar o processo e pare-o manualmente | Hardening básico: o que fechar, o que abrir e o que nunca ex |
| Comando crítico executado sem restrição | Política de sudoers ausente ou mal configurada | Revise /etc/sudoers e teste permissões de cada operador | Hardening do Pacemaker e proteção contra falhas humanas |
| Logs do Pacemaker não aparecem no arquivo dedicado | Configuração do rsyslog incorreta | Reveja /etc/rsyslog.d/pacemaker.conf e reinicie o serviço | Hardening do Pacemaker e proteção contra falhas humanas |
| Backup do CIB não pode ser restaurado | Arquivo corrompido ou permissões incorretas | Verifique integridade do backup e permissões de leitura | Hardening do Pacemaker e proteção contra falhas humanas |
| Pacotes não aparecem nos logs de INPUT | O tráfego não está destinado à máquina local ou a regra está em chain errada | Verifique se o destino do pacote é o IP local e se a regra está em INPUT | Hooks do kernel e o ciclo de vida de um pacote |
| Regras em FORWARD não têm efeito | O kernel não está roteando pacotes | Habilite o roteamento com 'echo 1 > /proc/sys/net/ipv4/ip_forward' | Hooks do kernel e o ciclo de vida de um pacote |
| Tráfego local não é filtrado | Falta de regras em OUTPUT ou INPUT | Adicione regras específicas em OUTPUT e INPUT | Hooks do kernel e o ciclo de vida de um pacote |
| Falha de conexão SSH | Chave SSH ausente ou permissão incorreta | Configure as chaves SSH corretamente e ajuste permissões com 'chmod 600'. | Infraestrutura como código com Ansible: provisionando servid |
| Permissão negada ao executar tarefas | Usuário remoto sem sudo | Adicione o usuário ao grupo sudoers ou ajuste o parâmetro 'become'. | Infraestrutura como código com Ansible: provisionando servid |
| Módulo não encontrado | Versão do Ansible desatualizada | Atualize o Ansible pelo repositório oficial do Ubuntu. | Infraestrutura como código com Ansible: provisionando servid |
| Serviços inesperados ativos após instalação mínima | Opção de instalação errada ou perfil padrão selecionado | Reinstale escolhendo explicitamente a instalação mínima e revise as telas de seleção de pacotes | Instalação mínima do Ubuntu Server: menos é mais |
| Disco cheio rapidamente após uso | Particionamento inadequado, logs ou arquivos temporários em / | Reparticione separando /var e /tmp; monitore uso com df -h | Instalação mínima do Ubuntu Server: menos é mais |
| Sistema lento mesmo após instalação mínima | Hardware insuficiente ou swap mal dimensionada | Ajuste swap ou recursos de hardware; revise serviços ativos | Instalação mínima do Ubuntu Server: menos é mais |
| Cluster não forma quorum | Erro de configuração em corosync.conf ou firewall bloqueando portas. | Revise ring0_addr, bindnetaddr e libere portas 5405/UDP. | Instalação real: Pacemaker, Corosync, DRBD e STONITH na prát |
| DRBD não sincroniza | Discos inconsistentes ou erro de configuração de IP. | Verifique /etc/drbd.d/r0.res e o status com 'drbdadm status r0'. | Instalação real: Pacemaker, Corosync, DRBD e STONITH na prát |
| STONITH não executa fencing | Agente de fencing mal configurado ou sem acesso ao hardware. | Teste o agente manualmente e revise credenciais e IPs. | Instalação real: Pacemaker, Corosync, DRBD e STONITH na prát |
| O comando 'ansible' não é encontrado | O pacote não foi instalado ou não está no PATH | Reinstale o Ansible e verifique o PATH | Instalando Ansible e configurando o ansible.cfg |
| O ansible.cfg correto não está sendo usado | Arquivo em local errado ou precedência não respeitada | Coloque o ansible.cfg no diretório do projeto ou defina ANSIBLE_CONFIG | Instalando Ansible e configurando o ansible.cfg |
| Erro de permissão ao rodar comandos | Usuário sem sudo ou become mal configurado | Ajuste o become_user e garanta permissões adequadas | Instalando Ansible e configurando o ansible.cfg |
| Hosts não respondem ao 'ansible all -m ping' | Problemas de SSH, inventário incorreto ou firewall | Verifique o inventário, conectividade de rede e chaves SSH | Instalando Ansible e configurando o ansible.cfg |
| Regras não aplicam após reboot | Persistência não configurada ou serviço não habilitado | Configure persistência e habilite o serviço com systemctl enable | Instalando e ativando iptables, nftables e firewalld na prát |
| Erro ao iniciar firewalld | Conflito com scripts manuais de iptables/nftables | Desative scripts manuais ou escolha apenas uma ferramenta | Instalando e ativando iptables, nftables e firewalld na prát |
| Comando iptables/nftables falha com 'No such file or directory' | Módulo do kernel ausente | Carregue o módulo com modprobe ou verifique a configuração do kernel | Instalando e ativando iptables, nftables e firewalld na prát |
| firewalld não salva regras permanentemente | Comando executado sem --permanent | Use --permanent e recarregue o firewalld | Instalando e ativando iptables, nftables e firewalld na prát |
| Pipeline falha na etapa de lint | Erro de sintaxe em YAML ou playbook | Revise o arquivo com ansible-lint ou ansible-playbook --syntax-check | Integração com sistemas de versionamento: Git e CI/CD |
| Deploy executa automaticamente sem aprovação | Falta de configuração 'when: manual' no pipeline | Adicione 'when: manual' na etapa de deploy | Integração com sistemas de versionamento: Git e CI/CD |
| Conflitos frequentes ao fazer merge | Branches desatualizadas ou alterações simultâneas em arquivos YAML | Rebase frequentemente e valide sintaxe antes do merge | Integração com sistemas de versionamento: Git e CI/CD |
| Inventário retorna vazio | Filtros muito restritivos ou credenciais erradas | Revise filtros e variáveis de autenticação | Inventário dinâmico: gerenciando centenas de servidores |
| Hosts aparecem no grupo errado | Chave de agrupamento mal configurada | Ajuste 'keyed_groups' no YAML | Inventário dinâmico: gerenciando centenas de servidores |
| Erro de autenticação na consulta à API | Permissões insuficientes ou variáveis de ambiente ausentes | Verifique variáveis AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY ou equivalente | Inventário dinâmico: gerenciando centenas de servidores |
| Comando não executa ou retorna 'command not found' | Shell não encontrou o binário no PATH | Verifique o PATH e se o programa está instalado | Kernel, shell e espaço de usuário: as três camadas que você |
| Permissão negada ao executar comando | Usuário não tem permissão de acesso ao arquivo ou recurso | Altere permissões ou execute como usuário apropriado | Kernel, shell e espaço de usuário: as três camadas que você |
| Mensagens de erro no dmesg | Problemas no kernel ou drivers | Analise logs e consulte documentação para identificar falhas | Kernel, shell e espaço de usuário: as três camadas que você |
| strace retorna 'operation not permitted' | Usuário sem permissão para traçar processos | Execute strace como root ou com sudo | Kernel, shell e espaço de usuário: as três camadas que você |
| Recursos migrando sem motivo aparente | Timeouts de heartbeat muito baixos para a latência real | Aumente o valor de token e retransmissões no Corosync | Latência, heartbeat e timeouts: os parâmetros que derrubam c |
| Cluster demora a detectar falhas reais | Timeouts altos demais | Reduza o valor de token para acelerar a detecção | Latência, heartbeat e timeouts: os parâmetros que derrubam c |
| Mensagens de split-brain nos logs | Perda de quorum por latência ou rede instável | Revise latência, ajuste parâmetros e considere qdevice | Latência, heartbeat e timeouts: os parâmetros que derrubam c |
| Fencing inesperado de nós ativos | Heartbeat atrasado por congestionamento | Ajuste token e monitore tráfego de rede | Latência, heartbeat e timeouts: os parâmetros que derrubam c |
| Logs de firewall não aparecem no syslog | Regra de LOG mal configurada ou syslog/journald inativo | Confirme sintaxe das regras e reinicie o serviço de log | Logs de firewall: como registrar e interpretar eventos críti |
| Arquivo de log cresce rapidamente | Excesso de regras de LOG ou tráfego não filtrado | Ajuste regras para registrar apenas eventos críticos | Logs de firewall: como registrar e interpretar eventos críti |
| Logs de firewall misturados com outros eventos | Falta de separação por prefixo ou configuração do rsyslog | Adicione prefixos claros e configure arquivo dedicado | Logs de firewall: como registrar e interpretar eventos críti |
| Logs sumiram após reboot | Persistência não habilitada | Crie /var/log/journal e reinicie o journald | Logs do systemd e journald: onde está o erro quando tudo par |
| journalctl não mostra logs antigos | Limpeza automática ou falta de espaço | Ajuste SystemMaxUse em /etc/systemd/journald.conf | Logs do systemd e journald: onde está o erro quando tudo par |
| Logs duplicados em syslog e journald | ForwardToSyslog habilitado | Desative ForwardToSyslog se não precisar de syslog | Logs do systemd e journald: onde está o erro quando tudo par |
| Arquivo de log não é criado | Permissões insuficientes ou caminho inválido | Ajuste permissões e verifique se o diretório existe | Logs e callbacks: monitorando execuções de playbooks |
| Callback não gera saída esperada | Callback não está na whitelist ou não foi instalado | Inclua o callback em callback_whitelist e reinicie a execução | Logs e callbacks: monitorando execuções de playbooks |
| Logs sobrescritos por execuções simultâneas | Mesmo log_path usado por múltiplos processos | Implemente rotação de logs ou use callbacks para logs separados | Logs e callbacks: monitorando execuções de playbooks |
| Logs não mostram eventos recentes | Roteamento incorreto do syslog ou rotação prematura dos logs | Verifique configuração do syslog e política de rotação dos logs | Logs e ferramentas de diagnóstico: decifrando o que o cluste |
| crm_report não coleta logs de todos os nós | SSH sem chave ou nó offline | Configure SSH sem senha entre os nós e verifique conectividade | Logs e ferramentas de diagnóstico: decifrando o que o cluste |
| Timestamps dos logs estão desalinhados | NTP não sincronizado entre os nós | Configure e sincronize NTP em todos os nós | Logs e ferramentas de diagnóstico: decifrando o que o cluste |
| Logs do Pacemaker não aparecem no arquivo dedicado | Variável PCMK_logfile não definida ou serviço não reiniciado | Defina PCMK_logfile e reinicie o Pacemaker | Logs, métricas e notificações: não confie só no syslog |
| Exporter do Prometheus não coleta métricas | Exporter não está rodando ou porta bloqueada | Inicie o exporter e libere a porta no firewall | Logs, métricas e notificações: não confie só no syslog |
| Notificações automáticas não são disparadas | Meta notify não habilitada no recurso | Ative notify=true e teste novamente | Logs, métricas e notificações: não confie só no syslog |
| Dashboard não carrega | Serviço Netdata não iniciado ou firewall bloqueando porta 19999 | Verifique com 'systemctl status netdata' e libere a porta no firewall | Monitoramento com Netdata: métricas em tempo real sem dor |
| Alertas não são enviados | Configuração de notificação incompleta ou canal não habilitado | Revise health_alarm_notify.conf e teste envio manual | Monitoramento com Netdata: métricas em tempo real sem dor |
| Métricas de serviços não aparecem | Plugins ou coletores não habilitados | Habilite plugins em /etc/netdata/netdata.conf e reinicie o serviço | Monitoramento com Netdata: métricas em tempo real sem dor |
| Recurso não muda de estado mesmo após falha | Intervalo de monitoramento muito alto ou monitoramento não configurado | Reduza o intervalo e garanta que o parâmetro 'monitor' está definido | Monitorando recursos, quorum e fencing: o que importa de ver |
| Alertas de fencing não são enviados | Script de alerta mal configurado ou permissões insuficientes | Revise o caminho do script e permissões de execução | Monitorando recursos, quorum e fencing: o que importa de ver |
| crm_mon mostra 'No quorum' mesmo com todos os nós online | Configuração incorreta de quorum no Corosync | Revise 'expected_votes' e 'two_node' no corosync.conf | Monitorando recursos, quorum e fencing: o que importa de ver |
| Permissão negada ao acessar o diretório montado | Usuário local não tem permissão ou credenciais erradas | Verifique permissões no servidor e, no caso do Samba, revise usuário/senha | Montagem de compartilhamentos NFS e Samba: Linux falando com |
| Erro 'mount: unknown filesystem type' | Pacote cliente não instalado | Instale nfs-common ou cifs-utils conforme o caso | Montagem de compartilhamentos NFS e Samba: Linux falando com |
| Montagem não persiste após reboot | Entrada ausente ou errada no /etc/fstab | Revise a sintaxe e os caminhos no fstab | Montagem de compartilhamentos NFS e Samba: Linux falando com |
| Regras iptables não têm efeito | Kernel sem suporte a Netfilter ou módulos não carregados | Verifique com 'lsmod' e carregue módulos necessários | Netfilter, iptables e o kernel Linux: quem faz o quê |
| Erro: 'iptables: command not found' | Pacote iptables não instalado | Instale com o gerenciador de pacotes da distribuição | Netfilter, iptables e o kernel Linux: quem faz o quê |
| Regras desaparecem após reboot | Regras não persistidas | Salve as regras com 'iptables-save' e restaure com 'iptables-restore' | Netfilter, iptables e o kernel Linux: quem faz o quê |
| Conflito entre iptables e nftables | Ambos ativos simultaneamente | Escolha e utilize apenas uma ferramenta por vez | Netfilter, iptables e o kernel Linux: quem faz o quê |
| Regras não aplicam efeito | Sintaxe incorreta ou chain não vinculada a um hook | Revise a configuração e vincule chains aos hooks corretos | nftables: recursos avançados e migração segura do iptables |
| Erro ao carregar arquivo de configuração | Sintaxe inválida ou recurso não suportado na versão instalada | Consulte a documentação oficial e atualize o nftables se necessário | nftables: recursos avançados e migração segura do iptables |
| Conexões legítimas bloqueadas | Tradução automática não respeitou exceções do iptables | Ajuste manualmente as regras e teste cada cenário | nftables: recursos avançados e migração segura do iptables |
| Failover demora mais do que o esperado | Timeouts mal configurados ou comunicação lenta entre nós | Ajuste os timeouts no Pacemaker e otimize a rede entre os nós | O que é alta disponibilidade: SLA não é uptime |
| Serviço não volta após falha | Recursos mal definidos no cluster ou dependências não atendidas | Revise a configuração dos recursos e verifique logs do Pacemaker | O que é alta disponibilidade: SLA não é uptime |
| Logs não mostram motivo da indisponibilidade | Nível de log insuficiente ou logs em local incorreto | Ajuste o nível de log do Pacemaker e verifique o caminho dos arquivos | O que é alta disponibilidade: SLA não é uptime |
| Erro 'UNREACHABLE' ao rodar ansible | SSH não configurado ou bloqueado | Verifique firewall, chaves SSH e permissões. | O que é o Ansible e por que ele virou padrão aberto |
| Permissão negada ao executar playbook | Usuário sem sudo configurado | Ajuste o arquivo sudoers ou use become com senha correta. | O que é o Ansible e por que ele virou padrão aberto |
| Módulo não encontrado | Versão do Ansible desatualizada ou inventário incorreto | Atualize o Ansible e revise o inventário. | O que é o Ansible e por que ele virou padrão aberto |
| Erro 'Could not find or access' | Caminho de arquivo ou diretório incorreto | Verifique se a estrutura de diretórios está correta e se os nomes batem com o playbook | Organizando diretórios e arquivos: do playbook simples à rol |
| Variáveis não aplicadas | group_vars ou host_vars fora do lugar | Confirme se os diretórios estão na raiz do projeto e os nomes dos arquivos correspondem aos grupos ou hosts | Organizando diretórios e arquivos: do playbook simples à rol |
| Role não encontrada | Role criada fora do diretório 'roles/' | Mova a role para dentro de 'roles/' e ajuste o caminho no playbook | Organizando diretórios e arquivos: do playbook simples à rol |
| Tarefas de aplicação falham por falta de conexão ao banco | Ordem de execução incorreta; app configurada antes do DB estar pronto | Reestruture o playbook para garantir que o grupo do banco execute antes | Orquestração multi-servidor: dependências e ordens de execuç |
| Execução muito lenta | Estratégia 'linear' em ambientes sem dependências | Considere usar 'free' se não houver dependências entre hosts | Orquestração multi-servidor: dependências e ordens de execuç |
| Hosts ficam aguardando indefinidamente em 'wait_for_hosts' | Timeout baixo ou host lento | Aumente o timeout ou verifique conectividade/recursos dos hosts | Orquestração multi-servidor: dependências e ordens de execuç |
| Recursos não migram após falha de nó | Quorum insuficiente ou comunicação Corosync interrompida | Verifique conectividade de rede e quorum com 'corosync-quorumtool' | Pacemaker e Corosync: quem faz o quê no cluster |
| Pacemaker não inicia | Corosync não está rodando ou configuração inválida | Inicie o Corosync e revise '/etc/corosync/corosync.conf' | Pacemaker e Corosync: quem faz o quê no cluster |
| Mensagens de split-brain | Quorum mal configurado ou links de rede instáveis | Ajuste política de quorum e verifique redundância de links | Pacemaker e Corosync: quem faz o quê no cluster |
| Perda de acesso SSH após alteração | Regra bloqueando porta 22 ou origem errada | Restaure backup com iptables-restore e revise regras de SSH | Padronização e testes: garantindo previsibilidade em ambient |
| Porta liberada mas conexão falha | Falta de regra de retorno (ESTABLISHED,RELATED) | Inclua regra para estados de conexão | Padronização e testes: garantindo previsibilidade em ambient |
| Rollback automático não executa | Serviço atd não está rodando | Inicie o serviço com systemctl start atd | Padronização e testes: garantindo previsibilidade em ambient |
| Comentários não aparecem em iptables-save | Falta do módulo comment | Carregue o módulo com modprobe xt_comment | Padronização e testes: garantindo previsibilidade em ambient |
| Erros de conexão SSH intermitentes | Limite de conexões simultâneas atingido no host gerenciado ou no servidor de controle | Reduza forks ou aumente MaxSessions no sshd_config | Paralelismo e limitação: controlando a escala da execução |
| Playbook falha com 'Too many open files' | Limite de arquivos abertos (ulimit) insuficiente | Aumente o limite de arquivos abertos para o usuário que executa o Ansible | Paralelismo e limitação: controlando a escala da execução |
| Execução muito lenta mesmo com forks alto | CPU ou rede saturados | Reduza forks ou distribua a carga entre múltiplos control nodes | Paralelismo e limitação: controlando a escala da execução |
| O volume lógico não monta | Sistema de arquivos não criado ou corrompido | Use 'sudo mkfs.ext4' para criar o sistema de arquivos ou 'e2fsck' para reparar | Particionamento e LVM: flexibilidade ou dor de cabeça? |
| Erro ao expandir LV | Espaço insuficiente no VG | Adicione um novo PV ao VG com 'vgextend' | Particionamento e LVM: flexibilidade ou dor de cabeça? |
| Sistema não inicializa após alteração em /boot | /boot em LVM sem suporte do GRUB | Mantenha /boot fora do LVM ou consulte a documentação do GRUB | Particionamento e LVM: flexibilidade ou dor de cabeça? |
| Conexões são dropadas sob carga | nf_conntrack_max insuficiente | Aumente nf_conntrack_max e monitore uso de RAM | Performance do Netfilter: onde o firewall Linux escala e ond |
| Latência alta ao acessar serviços internos | Chains muito longas ou regras redundantes | Otimize chains, use sets em nftables | Performance do Netfilter: onde o firewall Linux escala e ond |
| CPU do kernel atinge 100% | Chains grandes ou IRQs mal distribuídas | Reduza número de regras e ajuste balanceamento de IRQ | Performance do Netfilter: onde o firewall Linux escala e ond |
| Throughput abaixo do esperado | Placa de rede limitada ou driver ineficiente | Troque a placa ou atualize drivers | Performance do Netfilter: onde o firewall Linux escala e ond |
| Usuário autorizado não consegue acessar o arquivo. | Permissão insuficiente no diretório pai ou ACL não aplicada. | Verifique permissões do diretório e use 'getfacl' para confirmar ACL. | Permissões e ACLs: por que chmod 777 é sempre uma má ideia |
| Usuário não autorizado consegue editar arquivo. | Permissão excessiva em 'others' ou ACL ampla demais. | Reduza permissões com 'chmod' e revise as ACLs com 'setfacl -x'. | Permissões e ACLs: por que chmod 777 é sempre uma má ideia |
| Permissões mudam após mover arquivo. | Ao mover entre sistemas de arquivos, permissões e ACLs podem ser perdidas. | Reaplique permissões e ACLs após mover arquivos. | Permissões e ACLs: por que chmod 777 é sempre uma má ideia |
| Playbook não aplica mudanças em todos os hosts | Inventário incompleto ou erro de conexão SSH | Verifique o arquivo de inventário e teste 'ssh' manualmente | Por que automatizar? Infraestrutura como código e seus impac |
| Mudanças não persistem após reboot | Configuração não idempotente ou scripts fora do padrão | Garanta que os playbooks sejam idempotentes e revisados | Por que automatizar? Infraestrutura como código e seus impac |
| Rollback difícil | Falta de versionamento ou documentação | Implemente versionamento com Git e comentários claros nos commits | Por que automatizar? Infraestrutura como código e seus impac |
| Pacote não aparece no tcpdump | Problema de rede ou roteamento antes do firewall | Verifique conectividade física e rotas | Por que não passa? Diagnóstico de bloqueios e falhas de cone |
| Contador de DROP sobe ao testar | Regra está bloqueando o tráfego | Ajuste ou remova a regra | Por que não passa? Diagnóstico de bloqueios e falhas de cone |
| Nada aparece nos logs de firewall | Não há regra LOG antes do DROP | Adicione regra LOG antes do DROP | Por que não passa? Diagnóstico de bloqueios e falhas de cone |
| Não consegue conectar via SSH | Serviço SSH não iniciado ou firewall bloqueando a porta 22 | Inicie o serviço com 'sudo systemctl start ssh' e libere a porta com 'sudo ufw allow 22' | Por que servidores Linux dominam datacenters: história, filo |
| Atualizações falham | Repositórios desatualizados ou rede sem acesso à internet | Verifique conexão e atualize repositórios com 'sudo apt update' | Por que servidores Linux dominam datacenters: história, filo |
| Permissões incorretas em arquivos de configuração | Configuração manual feita sem atenção à documentação | Consulte a documentação oficial antes de editar arquivos sensíveis | Por que servidores Linux dominam datacenters: história, filo |
| Perdi acesso SSH após aplicar regras | Porta 22/TCP não foi liberada antes da política DROP | Restaure regras antigas via console físico ou rollback automático | Primeira regra: bloqueando e liberando tráfego sem perder ac |
| Serviços web pararam de responder | Faltou liberar portas HTTP/HTTPS ou regra ESTABLISHED/RELATED | Adicione regras para portas 80/443 e conexões estabelecidas | Primeira regra: bloqueando e liberando tráfego sem perder ac |
| DNS não funciona | Respostas UDP bloqueadas por política DROP | Libere conexões ESTABLISHED/RELATED | Primeira regra: bloqueando e liberando tráfego sem perder ac |
| Regras não persistem após reboot | iptables não salva regras por padrão | Use iptables-save e iptables-restore em scripts de inicialização | Primeira regra: bloqueando e liberando tráfego sem perder ac |
| Nó não entra no cluster | Problema de autenticação ou firewall bloqueando portas do Corosync/pcsd | Verifique pcs cluster auth e regras de firewall | Primeiro cluster: formando o quorum e testando failover |
| Quorum não é atingido após adicionar/remover nó | expected_votes desatualizado no corosync.conf | Ajuste expected_votes e reinicie o Corosync | Primeiro cluster: formando o quorum e testando failover |
| Failover não ocorre após parada de nó | Recursos configurados como stickiness alta ou restrições mal definidas | Revise constraints e stickiness dos recursos | Primeiro cluster: formando o quorum e testando failover |
| Usuário ansible recebe 'permission denied' ao executar comando permitido | Erro de sintaxe no sudoers ou caminho incorreto do comando | Revise o sudoers com visudo e confirme o caminho completo do comando | Princípios de menor privilégio e execução segura de comandos |
| Comandos shell perigosos sendo executados | Playbook usando o módulo shell em vez de módulos nativos | Reescreva o playbook usando módulos do Ansible | Princípios de menor privilégio e execução segura de comandos |
| Logs de sudo não estão sendo gerados | Diretiva Defaults logfile ausente ou caminho inválido | Corrija a linha no sudoers e reinicie o serviço de log se necessário | Princípios de menor privilégio e execução segura de comandos |
| Serviço não inicia após boot | Serviço não está habilitado no systemd | Use 'systemctl enable nome.service' | Processos, init e systemd: o que acontece depois do boot |
| Serviço falha e não reinicia | Configuração 'Restart' ausente ou incorreta no arquivo .service | Adicione 'Restart=on-failure' no bloco [Service] | Processos, init e systemd: o que acontece depois do boot |
| Processo zumbi permanece no sistema | Processo filho não foi coletado pelo pai | Investigue scripts ou serviços que não tratam filhos corretamente | Processos, init e systemd: o que acontece depois do boot |
| systemctl retorna erro de permissão | Comando executado sem privilégios de root | Use 'sudo' antes do comando | Processos, init e systemd: o que acontece depois do boot |
| Não consigo mais acessar o SSH do firewall | Restrição de IP ou erro na configuração do sshd_config | Acesse via console físico ou KVM, revise sshd_config e reinicie o serviço | Protegendo o próprio firewall: hardening e acesso restrito |
| Logs não aparecem no servidor remoto | Firewall bloqueando porta 514 ou erro na configuração do rsyslog | Verifique regras do iptables e sintaxe do rsyslog | Protegendo o próprio firewall: hardening e acesso restrito |
| Serviço desnecessário continua rodando após disable | Serviço está sendo iniciado por dependência ou por outro processo | Verifique dependências com systemctl list-dependencies e desabilite todas | Protegendo o próprio firewall: hardening e acesso restrito |
| Serviço web não responde após aplicar regras | Porta 80/443 não liberada ou política DROP aplicada antes da regra | Revise a ordem das regras e libere as portas necessárias | Protegendo serviços críticos: firewall Linux em servidores w |
| E-mail não envia mensagens para fora | Porta de saída 25 bloqueada ou resposta não permitida | Permita conexões ESTABLISHED,RELATED e libere saída na porta 25 | Protegendo serviços críticos: firewall Linux em servidores w |
| DNS não resolve domínios externos | Porta 53 UDP/TCP não liberada para saída ou resposta bloqueada | Libere porta 53 para saída e permita ESTABLISHED,RELATED | Protegendo serviços críticos: firewall Linux em servidores w |
| Playbook falha ao instalar pacotes | Repositórios desatualizados ou sem acesso à internet | Atualize os repositórios e verifique conectividade | Provisionamento automatizado: Ansible, scripts e idempotênci |
| DRBD não sobe nos nós | Configuração de dispositivos de bloco inconsistente | Garanta que os dispositivos existem e têm o mesmo tamanho | Provisionamento automatizado: Ansible, scripts e idempotênci |
| STONITH não funciona | Parâmetros incorretos ou agente não suportado | Consulte a documentação do agente STONITH e revise os parâmetros | Provisionamento automatizado: Ansible, scripts e idempotênci |
| Servidor não aparece como provisionado | Nome ou IP incorreto no inventário | Revise o arquivo inventory/cluster.yml | Provisionando clusters: exemplo prático com múltiplos servid |
| Erro de permissão ao instalar pacotes | Falta de sudo/become no playbook | Adicione 'become: true' nas tasks | Provisionando clusters: exemplo prático com múltiplos servid |
| Arquivo de configuração não é aplicado | Caminho de destino errado ou variável não definida | Verifique o template e as variáveis usadas | Provisionando clusters: exemplo prático com múltiplos servid |
| Perda total de acesso remoto após aplicar regras | Bloqueio da porta SSH ou protocolo de administração | Acesse via console físico/serial e insira regra para liberar acesso | Recuperação rápida: restaurando regras e conectividade sem r |
| Regras restauradas não têm efeito | Arquivo de backup corrompido ou com sintaxe inválida | Valide o arquivo e restaure um backup anterior | Recuperação rápida: restaurando regras e conectividade sem r |
| Rollback automático não executa | Serviço 'atd' não está rodando | Inicie o serviço com 'sudo systemctl start atd' | Recuperação rápida: restaurando regras e conectividade sem r |
| Recurso não inicia após failover | Constraint de ordem ou colocation mal definida | Revise constraints com 'pcs constraint' e ajuste as regras | Recursos, constraints e ordens: o cérebro do Pacemaker |
| Recursos ficam em nós diferentes | Falta de colocation ou anti-colocation excessiva | Adicione ou ajuste constraints de colocation | Recursos, constraints e ordens: o cérebro do Pacemaker |
| Cluster não encontra nó válido para iniciar recursos | Restrições conflitantes ou excessivas | Reduza constraints e teste novamente | Recursos, constraints e ordens: o cérebro do Pacemaker |
| Serviço sobe antes do filesystem | Falta de order constraint | Crie constraint de ordem entre filesystem e serviço | Recursos, constraints e ordens: o cérebro do Pacemaker |
| Interface DOWN ou sem IP | Configuração Netplan incorreta ou cabo desconectado | Corrija o YAML e aplique com 'sudo netplan apply' | Rede não sobe: debugging de interfaces e roteamento |
| Sem rota default | Gateway não configurado no Netplan | Adicione 'gateway4' no arquivo Netplan | Rede não sobe: debugging de interfaces e roteamento |
| Ping responde IP mas não nomes | DNS não configurado | Adicione nameservers no Netplan | Rede não sobe: debugging de interfaces e roteamento |
| Ping falha para todos destinos | Firewall bloqueando saída | Ajuste regras do UFW ou iptables | Rede não sobe: debugging de interfaces e roteamento |
| Erro ao aplicar Netplan | Permissões ou sintaxe YAML | Corrija permissões e valide sintaxe | Rede não sobe: debugging de interfaces e roteamento |
| Prompt 'grub rescue>' ao ligar | Configuração do GRUB corrompida ou partição removida | Reinstale o GRUB via chroot e atualize o grub.cfg | Resolução de problemas de boot: initramfs, GRUB e recovery m |
| Shell initramfs aparece após boot | UUID ou dispositivo do root incorreto em /etc/fstab | Corrija o UUID em /etc/fstab e atualize initramfs | Resolução de problemas de boot: initramfs, GRUB e recovery m |
| Kernel panic após selecionar entrada no GRUB | Kernel ou initramfs danificado | Reinstale o kernel e gere novo initramfs | Resolução de problemas de boot: initramfs, GRUB e recovery m |
| Role não encontrada ao rodar playbook | Diretório ou nome incorreto da role | Verifique se a role está em roles/ e se o nome bate com o usado no playbook. | Roles reutilizáveis: compondo automações modulares |
| Variáveis da role não aplicadas | Variáveis definidas em lugar errado (vars/ ao invés de defaults/) | Coloque variáveis sobrescrevíveis em defaults/main.yml. | Roles reutilizáveis: compondo automações modulares |
| Role não instala via Galaxy | Versão ou nome incorreto no requirements.yml | Confirme nome e versão na documentação ou no Galaxy. | Roles reutilizáveis: compondo automações modulares |
| IP flutuante não aparece após failover | Recurso IPaddr2 não migrou ou constraints incorretas | Verifique logs do Pacemaker e constraints configuradas. | Serviços de rede: IP flutuante, DNS e load balancers no clus |
| DNS não atualiza após troca de nó | Script de atualização falhou ou permissões insuficientes | Cheque logs do recurso e permissões do arquivo de chave DNS. | Serviços de rede: IP flutuante, DNS e load balancers no clus |
| Balanceador de carga ativo em múltiplos nós | Constraints de colocation ausentes ou incorretas | Revise constraints de colocation e ordem no Pacemaker. | Serviços de rede: IP flutuante, DNS e load balancers no clus |
| Usuário não consegue acessar o compartilhamento | Permissões do sistema de arquivos ou grupo incorreto | Verifique se o usuário está no grupo e se a pasta tem permissão 2770. | Servidor de arquivos para equipes: Samba, permissões e quota |
| Quota não é aplicada | Sistema de arquivos não montado com quotas | Confirme as opções usrquota,grpquota no /etc/fstab e remonte a partição. | Servidor de arquivos para equipes: Samba, permissões e quota |
| Arquivo criado aparece com dono errado | Setgid não configurado na pasta | Use chmod 2770 para garantir herança de grupo. | Servidor de arquivos para equipes: Samba, permissões e quota |
| Erro de certificado inválido no navegador | Certificado expirado ou domínio não corresponde | Renove o certificado com 'sudo certbot renew' e verifique DNS | Servidor web com Apache e HTTPS: do zero ao acesso externo |
| Apache não inicia após configuração | Erro de sintaxe em virtual host | Execute 'sudo apachectl configtest' e corrija erros | Servidor web com Apache e HTTPS: do zero ao acesso externo |
| Site não responde em HTTPS | Porta 443 bloqueada no firewall | Libere a porta com 'sudo ufw allow 443/tcp' | Servidor web com Apache e HTTPS: do zero ao acesso externo |
| Erro de permissão (Permission denied) ao rodar o playbook | Usuário SSH sem permissão sudo ou chave SSH ausente | Garanta que o usuário definido em ansible_user tenha sudo e que a chave SSH esteja corretamente configurada | Seu primeiro playbook: provisionando um servidor Linux |
| Tarefa 'apt' falha com erro de bloqueio | Outro processo está usando o gerenciador de pacotes (apt/dpkg) | Aguarde o término do processo ou mate o processo travado antes de rodar o playbook | Seu primeiro playbook: provisionando um servidor Linux |
| nginx não inicia após instalação | Porta 80 já em uso ou configuração inválida | Verifique conflitos de porta com 'netstat -tuln' e revise arquivos de configuração | Seu primeiro playbook: provisionando um servidor Linux |
| Script não executa pelo cron | Permissões insuficientes ou caminhos relativos | Garanta permissão de execução e use caminhos absolutos no script e no crontab | Shell scripts: automatizando do backup ao deploy em minutos |
| Variáveis não são expandidas | Erro de sintaxe ou falta de aspas | Use aspas ao redor das variáveis e revise a sintaxe | Shell scripts: automatizando do backup ao deploy em minutos |
| Backup sobrescreve arquivos antigos | Falta de controle de versões ou idempotência | Implemente verificação de existência e lógica para renomear backups antigos | Shell scripts: automatizando do backup ao deploy em minutos |
| Permissão negada ao tentar logar com chave | Permissões incorretas em ~/.ssh ou authorized_keys | Execute chmod 700 ~/.ssh e chmod 600 ~/.ssh/authorized_keys | SSH e chaves: nunca mais use senha para acessar o servidor |
| SSH não aceita login mesmo com chave correta | Chave pública não está em authorized_keys ou serviço não reiniciado | Verifique o conteúdo de ~/.ssh/authorized_keys e reinicie o sshd | SSH e chaves: nunca mais use senha para acessar o servidor |
| Serviço SSH não inicia após editar sshd_config | Erro de sintaxe no arquivo de configuração | Revise o arquivo, corrija erros e use sudo systemctl restart sshd | SSH e chaves: nunca mais use senha para acessar o servidor |
| SSH ainda pede senha | Chave pública não copiada corretamente ou permissões erradas | Verifique se a chave está em ~/.ssh/authorized_keys e permissões 600 | SSH sem senha: rsync e cópia segura entre servidores |
| rsync falha com 'Permission denied' | Usuário remoto não tem permissão de escrita no destino | Ajuste permissões do diretório de destino | SSH sem senha: rsync e cópia segura entre servidores |
| Script não roda no cron | Caminho absoluto incorreto ou variáveis de ambiente ausentes | Use caminhos completos e exporte variáveis necessárias | SSH sem senha: rsync e cópia segura entre servidores |
| DRBD não sincroniza entre os nós | Problema de rede ou configuração de IP incorreta | Verifique conectividade e ajuste os IPs em /etc/drbd.d/ha.res | STONITH, DRBD e recursos: arquitetura de tolerância a falhas |
| STONITH falha ao isolar nó | Credenciais ou parâmetros incorretos no agente de fencing | Teste manualmente o agente e revise a configuração | STONITH, DRBD e recursos: arquitetura de tolerância a falhas |
| Recursos iniciam fora de ordem | Constraints ausentes ou mal definidas | Reveja constraints com 'pcs constraint' e corrija | STONITH, DRBD e recursos: arquitetura de tolerância a falhas |
| Tarefas sempre aparecem como 'changed' mesmo sem alteração real | Uso de variáveis dinâmicas ou comandos shell sem checagem | Remova variáveis voláteis e adicione creates/removes ou use módulos idempotentes | Tarefas idempotentes: por que importa e como garantir |
| Usuário criado múltiplas vezes | Uso de shell para criar usuário em vez do módulo user | Troque shell por ansible.builtin.user | Tarefas idempotentes: por que importa e como garantir |
| Arquivo de configuração sempre sobrescrito | Template contém timestamp ou variável que muda a cada execução | Remova variáveis dinâmicas do template | Tarefas idempotentes: por que importa e como garantir |
| Arquivo de configuração gerado com variáveis não substituídas | Variável não definida no inventário ou playbook | Defina a variável corretamente antes de rodar o playbook | Templates Jinja2: gerando arquivos de configuração dinâmicos |
| Erro de sintaxe ao validar o serviço | Template Jinja2 com erro de lógica ou variável mal formatada | Revise o template e teste localmente com dados de exemplo | Templates Jinja2: gerando arquivos de configuração dinâmicos |
| Arquivo não atualizado após rodar o playbook | Conteúdo gerado é igual ao anterior, idempotência do Ansible | Verifique se as variáveis realmente mudaram | Templates Jinja2: gerando arquivos de configuração dinâmicos |
| Logs do firewall não aparecem no SIEM | Configuração incorreta do rsyslog ou firewall não está logando eventos. | Revise as regras de log do iptables/nftables e a configuração do rsyslog. | Tendências: integração com SIEM, SDN e automação baseada em |
| Script de automação não bloqueia IPs | Permissões insuficientes ou variável de IP não passada corretamente. | Garanta execução como root e teste o script manualmente com IP válido. | Tendências: integração com SIEM, SDN e automação baseada em |
| Regras não acompanham criação de containers | Falta de integração entre orquestrador e firewall. | Implemente hooks ou use plugins compatíveis com seu orquestrador. | Tendências: integração com SIEM, SDN e automação baseada em |
| Failover não ocorre após simulação | Timeouts ou prioridades mal configuradas | Revise os parâmetros de resource stickiness e timeouts no Pacemaker | Testes automatizados de failover e simulação de falhas |
| Serviço não volta após failover | Script de resource mal escrito ou dependências ausentes | Cheque logs do sistema e do Pacemaker, revise scripts de start/stop | Testes automatizados de failover e simulação de falhas |
| Fencing não isola o nó | STONITH mal configurado ou agente incompatível | Teste o agente STONITH manualmente, revise parâmetros | Testes automatizados de failover e simulação de falhas |
| Testes automatizados falham esporadicamente | Rede instável ou scripts com race conditions | Adicione delays e checagens de estado intermediárias | Testes automatizados de failover e simulação de falhas |
| Logs não mostram detalhes do failover | Loglevel baixo no Pacemaker | Ajuste o loglevel em /etc/sysconfig/pacemaker | Testes automatizados de failover e simulação de falhas |
| Erro 'docker: command not found' | Docker não está instalado ou não está no PATH | Instale o Docker e reinicie o terminal | Testes automatizados de playbooks com Molecule |
| Falha ao criar container | Imagem especificada não existe ou está incorreta | Verifique o campo 'image' no molecule.yml | Testes automatizados de playbooks com Molecule |
| Playbook falha em 'converge' | Erro de sintaxe ou dependência não instalada | Revise o playbook e as dependências da role | Testes automatizados de playbooks com Molecule |
| Interface VLAN não sobe | Módulo 8021q não carregado | Execute sudo modprobe 8021q | Topologias de rede para servidores: single-homed, multi-home |
| Bonding não funciona | Configuração incorreta do Netplan | Revise o arquivo YAML e consulte a documentação | Topologias de rede para servidores: single-homed, multi-home |
| Serviço acessível por interface errada | Configuração ListenAddress ou firewall insuficiente | Ajuste ListenAddress e as regras do firewall | Topologias de rede para servidores: single-homed, multi-home |
| Erro 'role not found' ao rodar o playbook | Role não instalada ou diretório de roles não está no caminho do Ansible. | Verifique se o caminho está correto em ansible.cfg e se a role foi instalada no local esperado. | Usando Ansible Galaxy para importar roles e collections |
| Erro de versão incompatível | Versão da role/collection não é suportada pelo seu Ansible. | Consulte a documentação da role/collection e ajuste a versão no requirements.yml. | Usando Ansible Galaxy para importar roles e collections |
| Dependência não instalada automaticamente | Dependência não declarada corretamente no meta/main.yml. | Adicione a dependência manualmente ao requirements.yml e reinstale. | Usando Ansible Galaxy para importar roles e collections |
| Usuário não consegue usar sudo | Usuário não está no grupo sudo ou não foi delegado no sudoers | Adicione o usuário ao grupo correto e revise o sudoers com visudo | Usuários, grupos e sudoers: quem manda no servidor |
| Erro de sintaxe ao salvar sudoers | Edição direta ou erro de digitação | Use sempre visudo para editar e corrigir a linha com erro | Usuários, grupos e sudoers: quem manda no servidor |
| Usuário removido ainda acessa via SSH | Chaves SSH não removidas ou sessão ativa | Remova o diretório home e encerre sessões com 'pkill -KILL -u usuario' | Usuários, grupos e sudoers: quem manda no servidor |
| Erro de parsing YAML ao rodar o playbook | Indentação incorreta ou uso de tabs | Revise o arquivo e substitua tabs por espaços; valide com 'yamllint' | YAML, Jinja2 e a estrutura dos playbooks |
| Variável não definida em template Jinja2 | Variável ausente em vars ou inventário | Inclua a variável no arquivo vars/main.yml ou no inventário | YAML, Jinja2 e a estrutura dos playbooks |
| Arquivo de configuração gerado vazio ou incompleto | Erro no loop ou condicional Jinja2 | Valide a sintaxe do template e teste com 'ansible-playbook --check' | YAML, Jinja2 e a estrutura dos playbooks |
