Estou migrando nossos servidores Amazon Linux 2 para o Amazon Linux 2023. Uma das mudanças é que o AL2023 agora usa o journald para seus registros. Preciso ter todos os registros no AWS CloudWatch.
Já habilitei o agente CloudWatch normal para métricas e alguns arquivos de log. Está funcionando conforme o esperado.
Para o journald, verifiquei várias opções e decidi implementar journald-cloudwatch-logs , pois parecia o mais promissor. Configurei, mas tenho um problema:
- O serviço inicia com sucesso, mas simplesmente não vejo nenhum registro no CloudWatch.
Esta é a configuração:
aws_region = "eu-central-1"
ec2_instance_id = "i-xxxxxxxxxx"
log_group = "LogGroup"
log_stream = "server01-systemctl"
state_file = "/var/lib/journald-cloudwatch-logs/state"
log_priority = "INFO"
Verifiquei o journalctl, mas não encontrei erros ou qualquer outra indicação de que algo esteja errado. Além disso, como o agente CloudWatch normal registra com sucesso em outro fluxo de log, sei que as permissões do IAM estão corretas.
Minhas perguntas:
- Como posso fazer com que o journald-cloudwatch-logs realmente registre no CloudWatch?
Qualquer ajuda é muito apreciada.
Editar: Também estou aberto a outras abordagens para registrar mensagens do journald no CloudWatch
Responderei à minha pergunta, pois também estou aberto a outras soluções. Descobri que a melhor maneira é usar o Vector :
sudo systemctl restart vector
Primeiro, vamos solucionar problemas de configuração do journald-cloudwatch-logs:
Verifique se o serviço está sendo executado corretamente:
Tente habilitar o modo de depuração na sua configuração:
Em seguida, verifique os logs:
Verifique também as permissões:
OU, alternativamente, você pode achar mais simples usar o suporte integrado ao journald do agente do CloudWatch. Como você já tem o agente trabalhando com métricas, basta atualizar a configuração do agente:
Em seguida reinicie:
Se você quiser limitar quais serviços serão registrados:
Espero que isso ajude na sua migração.