Permita que os desenvolvedores resolvam problemas de produção de vez em quando. Isso fará maravilhas para o seu registro. :)
Ler arquivos de log pode ser bastante frustrante, pois, por natureza, o conteúdo deles diz muito sobre o desenvolvedor que os escreveu como o problema em si.
Você tem dicas de propósito geral para interpretar os registros de erros (por exemplo: "google é seu amigo" ou "algum erro codes ocorrem mais que outros "ou" lembram que avisos e erros são muito diferentes ")?
Permita que os desenvolvedores resolvam problemas de produção de vez em quando. Isso fará maravilhas para o seu registro. :)
Sobre uma situação comum específica quando você tem tudo isso ao mesmo tempo: (1) um problema em um ambiente distribuído (2) uma pilha enorme de informações de depuração espalhadas por servidores cooperativos e diferentes arquivos de log (3) não documentação para interpretar os logs (4) nada no google (5) nenhum indício (6) jogadores de pingue-pongue em vez de suporte do fornecedor.
Meu hábito com os registros do servidor é: revise-os regularmente e investigue / resolva os problemas que encontrar. Eu faço isso de forma proativa - não esperando até que os usuários estejam uivando sobre uma interrupção do sistema. A principal razão pela qual isso é eficaz, realmente se resume a alguns ditados antigos:
Um ponto no tempo economiza nove. Obviamente, se você está resolvendo problemas enquanto eles são pequenos, você está à frente da curva, e os usuários / administradores terão menos razões para gritar com você; isso é bom.
A prática leva à perfeição. Eu acho que esta é a maior vantagem para o administrador de sistema. Ao entrar lá regularmente e ler proativamente os registros, você está ganhando experiência e familiaridade. Você está aprendendo o que significam essas mensagens de log crípticas - e quais são triviais, e quais são um grande negócio. O processo de investigar mensagens que você não compreende imediatamente (que em princípio serão muitas delas!) Ensina muito sobre o funcionamento do sistema operacional e dos aplicativos executados nele.
Normalmente, quando eu obtenho um novo sistema para gerenciar, ele terá alguns erros no log, muitos deles recorrendo regularmente. O administrador anterior, muitas vezes dá de ombros com algo para o efeito de "não tenho certeza do que se trata, mas os usuários nunca se queixaram, então eu não considerei quebrado o suficiente para corrigir!"
Meu objetivo com esses sistemas é revisitar os logs semanalmente até que eu tenha resolvido ou entendido cada novo erro que surge; em seguida, relaxe minhas revisões de registros para mensais. Logs limpos são mais fáceis de ler!
Um bom programa suporta níveis de registro . E geralmente os logs são inúteis sem timestamps.
A maioria das distribuições de linux vem com uma ferramenta de logwatch; aprenda a usá-lo e configure suas configurações de ignorar. O truque é definir o limite de dor adequadamente, de modo que nada crítico seja ignorado, mas não tão spam que os administradores escrevam regras de e-mail para arquivar e ignorar o correio do logwatch.
Eu não acredito que qualquer sugestão de propósito geral possa ser feita para interpretar os registros de erros, exceto que você deve pesquisar cada erro caso a caso, por exemplo. com o Google ou lendo fonte, para compreendê-lo.
Para manipular algo como syslog, especialmente ao agregar muitas máquinas, uma sugestão de propósito geral pode ser feita. Mantenha uma lista de padrões para ignorar e uma lista de padrões para alertar imediatamente. Gere um relatório diário que exclua as mensagens "ignorar". (Ou até mesmo assistir o arquivo de log em tempo real, excluindo as mensagens ignoráveis). Use este relatório para adicionar à lista de ignorados e à lista de alertas. Para padrões identificados como erros reais, envie um alerta para administradores em tempo real. Idealmente, sua lista de ignorados deve ser minuciosa o suficiente para que você possa ler as mensagens que estão por vir, e sua lista de alertas deve ser simples o suficiente para que você possa investigar cada um dos quais você está sendo alertado. Ser capaz de lidar com inundações de alertas de um sistema quebrado que você não pode corrigir imediatamente. Vale a pena manter dois níveis adicionais de padrões - aqueles que valem a pena serem analisados, mas que provavelmente não serão um problema, e aqueles que valham a pena alertar, mas não atrapalhar alguém.
Não fazer isso em um ambiente Unix é provavelmente a única supervisão mais significativa (onerosa e prejudicial).
Consulte a documentação sobre os arquivos de log que os desenvolvedores entregaram junto com o aplicativo.
O que? Não há documentação? Hora de uma AttitudeAdjustmentTool
Mais seriamente, documentar arquivos de log e como interpretá-los precisa ser uma das tarefas dos desenvolvedores. O trabalho deles não é feito quando o código é feito, quando as pessoas da operação podem executar o aplicativo e mantê-lo em execução, e isso significa documentação, reuniões de entrega, design para gerenciamento etc.
Não faça suposições sobre arquivos de log.
Os formatos de campo precisam ser verificados. Por exemplo: são datas dd / mm / aa ou mm / dd / aa? são campos numéricos decimal, hexadecimal, octal ou outra coisa? Os timestamps são consistentes (outros mencionaram a importância de sincronizar o tempo entre os dispositivos: verifique se ele foi sincronizado ou se sabe qual seria a origem de um timestamp e corrija-o)?
Todos os dispositivos / processos são registrados no mesmo nível de log e para onde você esperaria?
O registro é consistente entre diferentes revisões do mesmo software? (verificar se as saídas de log são consistentes com as versões anteriores e a documentação deve estar na lista para testar novas revisões de software, mas pode ser ignorada)