Qual é a melhor maneira de armazenar relatórios de uso ao longo do tempo?
Pergunta
Atualmente, tenho alguns relatórios de servidor que retornam estatísticas de uso sempre que executados. Os dados são coletados de várias fontes diferentes (principalmente arquivos de log), portanto não estão em um banco de dados para começar.
Os dados retornados são listas simples, por exemplo, detalhando quanto espaço em disco um usuário está usando (user => space) porcentagem de memória média que eles usaram para o mês (usuário => memória), tempo da CPU AVG etc.
Algumas das informações são um total em execução (como o uso do disco) e outras são médias de instantâneos tirados ao longo do mês.
Executar esses relatórios e olhar para os resultados funciona perfeitamente, mas eu gostaria de começar a armazenar esses resultados para analisar as tendências de longo prazo.
Qual seria a melhor maneira de fazer isso?
Solução
Cacti é muito útil e altamente configurável. Utiliza a ferramenta RRD.
A ferramenta RRD é ótima, b/c armazena dados em formato circular e resume -os. Quando o RRD cria um arquivo de dados, ele o cria com todos os pontos de dados que ele armazenará, para que nunca fique maior. Você não precisa se preocupar com os arquivos de log ficando muito grandes. A chave é configurá -la para resumir em períodos de tempo, por exemplo, diariamente, mensalmente, anualmente. A desvantagem é que, no próximo ano, talvez você não consiga conhecer o uso da CPU pelo período de cinco minutos a partir de 1º de janeiro deste ano. Mas quem realmente precisa disso?