Graylog: Gerir a retenção
Como configurar a retenção de logs
👋 Bem-vindo à documentação da Stackhero!
A Stackhero oferece uma solução Graylog cloud pronta a usar que proporciona uma série de benefícios, incluindo:
- Servidor de email SMTP ilimitado e dedicado incluído.
- Atualizações sem esforço com apenas um clique.
- Nome de domínio personalizável seguro com HTTPS (por exemplo, https://logs.sua-empresa.com).
- Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.
Poupe tempo e simplifique a sua vida: são necessários apenas 5 minutos para experimentar a solução Graylog cloud hosting da Stackhero!
A retenção define o número de mensagens armazenadas na base de dados OpenSearch. Pode configurar a retenção com base no número de mensagens, numa idade máxima ou num limite de tamanho total.
Por exemplo, pode optar por manter mensagens dos últimos 365 dias, reter até 200 milhões de mensagens ou reservar um total de 400 GB de espaço de armazenamento.
Compreender os índices
Antes de definir a sua política de retenção, é importante perceber como funcionam os índices utilizados pelo Graylog e pelo OpenSearch. Pense nos índices como contentores físicos. O Graylog "abre" um contentor (um índice) e coloca as mensagens recebidas dentro dele. Quando a quota atribuída a esse contentor é excedida, o contentor é fechado, armazenado numa prateleira, e um novo contentor é iniciado para as mensagens seguintes.
Pode definir esta quota utilizando diferentes critérios:
- Um número de mensagens: "Manter 20 milhões de mensagens por contentor, depois iniciar um novo."
- Uma limitação temporal: "Utilizar um contentor durante 10 dias, depois passar para um novo."
- Uma limitação de tamanho: "Armazenar 20 GB por contentor, depois avançar para um novo."
Também é definido um número máximo de contentores que podem ser armazenados na prateleira. Se esse número for excedido, os contentores mais antigos são automaticamente eliminados. Por exemplo, se definir um máximo de 20 contentores e tiver 22 na prateleira, os 2 mais antigos serão removidos.
Nesta analogia, os contentores representam os índices, a prateleira é o OpenSearch e o número máximo representa o número permitido de índices.
Escolher uma estratégia de rotação
O Graylog disponibiliza três estratégias de retenção:
- "Index time" define a duração máxima durante a qual as mensagens são mantidas em cada índice, por exemplo, 14 dias por índice.
- "Index message count" define o número máximo de mensagens por índice, por exemplo, 20 milhões de mensagens por índice.
- "Index size" limita o tamanho máximo de um índice, por exemplo, 40 GB por índice.
Pode selecionar uma destas estratégias de acordo com os seus requisitos específicos. Por exemplo, ao escolher "Index time" garante que terá sempre logs dos últimos X dias.
Certifique-se de estimar corretamente as suas necessidades de armazenamento em disco.
Por exemplo, se armazenar 1 GB de logs por dia e decidir manter logs dos últimos 365 dias, irá necessitar de 365 GB de espaço em disco. Lembre-se de reservar também espaço adicional para funcionamento (ver abaixo).
Definir os parâmetros de retenção
Por predefinição, o Graylog limita o número de índices a 20. Pode ajustar este valor conforme necessário. Por exemplo, se quiser armazenar logs dos últimos 365 dias, pode distribuir a retenção pelos índices dividindo 365 dias por 20 índices, o que resulta em cerca de 19 dias por índice.
Pode fazer cálculos semelhantes para as outras estratégias:
- Para a estratégia "Index message count": se quiser manter 200 milhões de mensagens com um máximo de 20 índices, então 200 milhões de mensagens dividido por 20 índices dá 10 milhões de mensagens por índice.
- Para a estratégia "Index size": se quiser manter 400 GB de logs com um máximo de 10 índices, então 400 GB dividido por 10 índices dá 40 GB por índice.
Recomendamos que mantenha sempre pelo menos 15 GB de espaço livre em disco para logs, o journal do Graylog e os dados do MongoDB.
Se o espaço livre em disco se esgotar, o OpenSearch irá bloquear as suas operações e poderá ser necessário atualizar para uma instância maior.
Configurar a política de retenção
Para configurar a política de retenção, aceda à interface do Graylog. No menu "System" selecione "Indices" e clique no botão "Edit" em "Default index set".
No exemplo abaixo, a configuração define um máximo de 27 índices, com cada índice a reter 14 dias de logs. Esta configuração permite manter logs durante aproximadamente um ano (378 dias).
Não recomendamos manter mais de 14 dias de mensagens por índice.
Configuração de retenção para manter logs durante um ano
Ao escolher "Index time" como política de rotação, deve definir a duração utilizando o padrão ISO8601 Duration.
Por exemplo, "P7D" significa 7 dias, "P14D" significa 14 dias, e assim sucessivamente.
Para saber mais
Se quiser aprofundar o tema dos índices, recomendamos vivamente a leitura da documentação oficial.
Gerir erros relacionados com índices OpenSearch em modo só de leitura
Por vezes, o OpenSearch pode passar para modo só de leitura e poderá encontrar erros como:
- "Flood stage disk watermark exceeded, all indices on this node will be marked read-only"
- "FORBIDDEN/12/index read-only / allow delete (api)"
Estes erros ocorrem como parte do mecanismo de proteção do OpenSearch quando o espaço em disco atinge níveis críticos. Quando o espaço disponível desce abaixo dos 7 GB, o OpenSearch coloca os índices em modo só de leitura como medida de precaução para evitar corrupção de dados.
Se encontrar estes erros, tem duas opções:
- Reconfigure a sua política de retenção para manter menos logs. Após ajustar a política, elimine o índice mais antigo para libertar espaço em disco e permitir que o OpenSearch volte ao modo de leitura e escrita. Tenha em atenção que ao eliminar um índice, todos os dados desse índice serão perdidos.
- Atualize a sua instância para uma com mais espaço em disco. Com um único clique no seu dashboard Stackhero, a instância será reiniciada com espaço adicional e o OpenSearch voltará automaticamente ao modo de leitura e escrita.