Como fazer melhor sentido de arquivos de log no Linux e Mac

Quando o Linux dá errado, pode ser um pesadelo solucionar problemas. Não perca tempo no Reddit - leve as coisas para as suas próprias mãos e mergulhe nos arquivos de log do seu sistema para resolver o problema!

Quando o Linux dá errado, pode ser um pesadelo solucionar problemas.  Não perca tempo no Reddit - leve as coisas para as suas próprias mãos e mergulhe nos arquivos de log do seu sistema para resolver o problema!
Propaganda

Quando as coisas dão errado com o Linux, pode ser um pesadelo solucionar problemas. Os desafios inerentes associados a isso são duplicados quando o problema que você está enfrentando é intermitente e você não sabe o que está causando isso.

Eu suponho que você poderia gastar hora após hora lendo o Stack Overflow e pedindo ajuda ao Reddit. O Guia para Reddit O Guia do Reddit Wonder como seus amigos sempre encontram coisas legais na Internet antes de você? Eles provavelmente estão usando o Reddit, a autoproclamada "primeira página da Internet". Consulte Mais informação . Ou você pode tomar as coisas em suas próprias mãos e mergulhar nos arquivos de log do seu sistema, com o objetivo de descobrir qual é o problema.

O que são arquivos de log?

Muitos programas - sejam eles para Windows, Mac ou Linux - geram arquivos de log à medida que vão. Mesmo Android gera-los Como obter um Logcat para relatar erros no Android Como obter um Logcat para relatar erros no Android Se você já foi perguntado por um logcat, isto é como fazê-lo! Consulte Mais informação . Esses são arquivos de texto simples que contêm informações sobre como um programa está sendo executado. Cada evento será em sua própria linha, com data e hora para o segundo.

Embora isso não seja universalmente verdadeiro para todos os aplicativos, os arquivos de log normalmente tendem a ser encontrados no diretório / var / log.

varlog

Surpreendentemente, os dados nesses arquivos serão mundanos. Não será necessariamente indicativo de um problema. Será apenas atualizações sobre o que o programa estava fazendo em um determinado momento.

Mas quando há um problema, você pode garantir que as informações sobre ele estarão contidas nos arquivos de log. Essas informações podem ser usadas para remediá-las ou para fazer uma pergunta descritiva de alguém que possa saber.

Então, quando se lida com arquivos de log, como você isola as informações das quais você não gosta?

Usando utilitários padrão do Linux

Como mencionamos anteriormente, os arquivos de log não são exclusivos de nenhuma plataforma. Apesar disso, o foco deste artigo será Linux e OS X, porque esses dois sistemas operacionais são fornecidos com as ferramentas essenciais de linha de comando do UNIX Um Guia Rápido para Começar a Usar a Linha de Comandos do Linux Um Guia Rápido para Começar a Usar o Linux Linha de Comando Você pode fazer muitas coisas incríveis com comandos no Linux e não é realmente difícil de aprender. Leia mais necessário para analisá-los.

Como os arquivos de log são arquivos de texto simples, você pode usar as ferramentas que você usa para visualizar esses arquivos. Destes, o grep é provavelmente o mais difícil de aprender, mas também o mais útil. Ele permite que você pesquise frases e termos específicos em um determinado arquivo. A sintaxe para isso é grep [term] [filename] .

greperrorlog

Na sua forma mais avançada, você pode usar expressões regulares (RegEx) para pesquisar termos e itens com um foco a laser. Embora o RegEx muitas vezes se pareça com magia, é realmente muito simples de aprender.

Depois, há os comandos 'head' e 'tail'. Não há pontos para adivinhar o que isso faz. Eles mostram as dez linhas superior e inferior de um arquivo, respectivamente. Então, se você quisesse ver os itens mais recentes em um arquivo de log, você executaria “tail filename”.

Taillog

Você pode alterar o número de linhas exibidas usando o gatilho '-n'. Então, se você quisesse ver as primeiras 20 linhas de um arquivo, você executaria

cabeça -n 20 [nome do arquivo]

headlog

Se você quiser ver todo o conteúdo de um arquivo, você pode usar o utilitário 'cat'. Isso pode ser um pouco complicado, já que os arquivos de log podem ser medidos em centenas de milhares de linhas . Uma ideia melhor seria canalizá-lo para o menor utilitário, que permitirá a visualização de uma página por vez. Para fazer isso, corra

cat [nome do arquivo] | Menos

sem gato

Alternativamente, você poderia usar sed e awk. Esses dois utilitários permitem que você escreva scripts simples que processam arquivos de texto. Nós escrevemos sobre eles no ano passado. Todo Linux Geek precisa saber Sed e Awk. Aqui está o porquê ... Todo nerd do Linux precisa saber Sed e Awk. Aqui está o porquê ... Dois dos utilitários Linux menos apreciados criminalmente são o reconhecidamente arcano Sed e Awk. Mas o que são eles? Como eles são usados? E como eles facilitam o processamento de texto? Consulte Mais informação .

Finalmente, se você está confiante com isso, você pode também querer experimentar o editor de texto vim. Os 7 principais motivos para dar ao editor de texto Vim uma chance Os principais 7 motivos para dar ao editor de texto Vim uma chance tentei um editor de texto após o outro. Você nome, eu tentei. Eu usei cada um desses editores por mais de dois meses como meu principal editor do dia-a-dia. De alguma forma, eu ... Leia mais. Isso tem um monte de comandos internos que tornam trivial analisar arquivos de log. A versão de 32 bits do vim também tem um tamanho máximo de arquivo de 2 GB, embora eu não recomende usá-lo em arquivos grandes por motivos de desempenho.

Usando o software de gerenciamento de log

Se isso soa como muito trabalho duro, ou você gosta de usar algo mais visual, você pode querer considerar o uso de um aplicativo de gerenciamento de log (muitas vezes confundido com SIEM ou Security Information and Event Management).

O que é ótimo sobre isso é que eles fazem muito do trabalho duro para você. Muitos deles podem examinar logs e identificar problemas automaticamente. Eles também podem visualizar logs em todos os tipos de gráficos e gráficos agradáveis, permitindo que você entenda melhor o desempenho confiável de um aplicativo.

Um dos programas de gerenciamento de log mais conhecidos é chamado de Splunk. Esta ferramenta de gerenciamento de log permite percorrer arquivos usando uma interface web. Ele ainda tem sua própria linguagem de processamento de pesquisa poderosa e versátil, que permite detalhar os resultados de maneira programática.

O Splunk é usado por inúmeras empresas de grande porte. Está disponível para Mac, Windows e Linux. Mas também tem uma versão gratuita, que pode ser usada por usuários domésticos e de pequenas empresas para gerenciar seus registros.

Esta versão - chamada Splunk Light - compartilha muito em comum com as versões corporativas. Ele pode procurar logs, monitorar arquivos em busca de problemas e emitir alertas quando algo estiver errado.

Dito isto, o Splunk Light tem algumas limitações, que são bastante razoáveis. Em primeiro lugar, a quantidade de dados que pode consumir é limitada a 500 MB por dia. Se isso não for suficiente, você pode atualizar para a versão paga do Splunk Light, que pode consumir 20 GB de logs por dia. Realisticamente, a maioria dos usuários não chega nem perto disso.

Também suporta apenas cinco usuários, o que não deve ser um problema para a maioria das pessoas, especialmente se estiver sendo executado apenas em servidores web e de arquivos domésticos.

O Splunk oferece uma versão em nuvem, ideal para aqueles que não desejam instalar o cliente inteiro em suas máquinas ou aqueles com vários servidores remotos. A desvantagem disso é o enorme custo envolvido. O plano mais barato do Splunk custa US $ 125, 00 por mês. #

Isso é muito dinheiro.

Como você lida com seus arquivos de log?

Então, analisamos maneiras de você poder interrogar seus arquivos de log e encontrar as informações necessárias para solucionar problemas pessoalmente ou com assistência remota. Mas você conhece algum método melhor? Você usa um software de gerenciamento de log ou os utilitários padrão do Linux?

Eu quero ouvir sobre isso. Deixe-me saber nos comentários abaixo.

In this article