O aplicativo MultiTail permite ver vários arquivos de log em seu sistema, com a criação de divisórias (uma para cada log) dentro da janela de um único console, com o uso da biblioteca ncurses.
Pode-se dizer que seja uma versão melhorada do utilitário Tail.
Desenvolvido por Folkert Vanheusden, o aplicativo é multiplataforma, com suporte a UNIX, GNU/Linux, Mac OS X e Windows (através do Cygwin).
Entre seus recursos, citam-se:
- Monitoramento de wildcards — caso um arquivo, que preencha requisitos preestabelecidos, tenha data ou hora de modificação mais atual, o programa prioriza seu monitoramento.
- Junção de duas ou mais fontes de entrada de dados.
- Por meio de expressões regulares, exibe resultados em cores na tela — o que ajuda a distinguir informações importantes.
- Filtro de linhas.
- Menus interativos para editar expressões regulares e para remover ou adicionar janelas.
- Permite usar a saída produzida por outros aplicativos ou shell scripts.
- Imita as funcionalidades de ferramentas como o watch, quando analisa a saída de algum software externo.
Nos tópicos que seguem, pretendo abordar vários aspectos do MultiTail, o que inclui técnicas de instalação, o uso básico e alguns exemplos comuns em que ele pode ser aplicado para monitorar o seu sistema.
Sinta-se à vontade para ir direto ao ponto que te interessa ou guardar o texto no menu favoritos, para usar como referência em outro momento.
Ao iniciar o Multitail (sem qualquer parâmetro), o aplicativo limpa a tela e exibe algumas teclas de atalho que você pode usar, ao lado de uma curta explicação sobre o que cada uma delas faz.
Tecle ‘F1’ ou ‘Ctrl + h’ para obter mais ajuda, dentro do aplicativo. Para finalizá-lo, tecle ‘q’, ‘x’ ou ‘Ctrl +C’.
Como instalar o MultiTail
Neste artigo, abordamos o uso do MultiTail em um sistema GNU/Linux Ubuntu 14.04 LTS. Como em qualquer outro sistema baseado no Debian, o aplicativo pode ser instalado via apt-get:
sudo apt-get install multitail
Se você usa outro sistema operacional, use o utilitário de instalação que se aplica a sua situação.
Como baixar e compilar a última versão do MultiTail
Há várias razões para querer compilar o código fonte de um aplicativo — ter em mãos uma versão mais nova e mais eficiente, são duas delas.
Se você tiver interesse em saber mais sobre como compilar seus programas no Linux, leia o artigo Como compilar código fonte.
No Ubuntu 14.04, o MultiTail está disponível na versão 6.0:
multitail -V --*- multitail 6.0 (C) 2003-2013 by folkert@vanheusden.com -*-- Thank you for using MultiTail. ...
Se você está satisfeito com a versão que tem no seu sistema, pule esta seção.
Se preferir tentar baixar e compilar o código fonte, pode se surpreender com a facilidade do processo, descrito a seguir.
Tenha o cuidado de remover a versão antiga, caso a tenha instalado, antes de trazer a nova — isto evita confusão.
A partir do site oficial é possível baixar uma versão mais nova (link ao final do texto):
wget http://www.vanheusden.com/multitail/multitail-6.4.1.tgz
Depois de baixar, descompacte o código, entre no diretório de instalação e compile:
tar xvvzf multitail-6.4.1.tgz cd multitail-6.4.1/ sudo apt-get install libncursesw5-dev sudo make install
Feito isto, o novo aplicativo já estará instalado e pronto para ser executado:
multitail
Como usar o MultiTail
O aplicativo tem um grande número de opções — todas documentadas no manual UNIX/Linux ou no sistema de ajuda do aplicativo — tecle ‘Ctrl + h’ para chegar lá, conforme destacado na imagem abaixo:
Você pode percorrer a tela de ajuda com as teclas de direcionamento e não precisa estar com o inglês “muito em dia” para entender a maior parte do texto.
Ao iniciar o MultiTail, você terá resultados mais imediatos, se já oferecer os arquivos de log que deseja monitorar.
Na figura acima, usei os arquivos de log do Apache: access.log
e error.log
:
multitail /var/log/apache2/access.log -I /var/log/apache2/error.log
Neste caso, se você tiver o Apache instalado no seu sistema, ao acessar o endereço http://localhost, perceberá alteração na tela de monitoramento.
Veja algumas opções comuns de uso do MultiTail:
--closeidle N
— permite especificar um período de inatividade de N segundos, após o qual o aplicativo fecha a janela referente ao arquivo de log ocioso.
É útil para quando se está monitorando um grande número de arquivos, mas só quer que sejam exibidos resultados daqueles que estão verdadeiramente ativos.
Seja cuidadoso com o uso desta opção — a janela não vai se reabrir, caso o arquivo seja atualizado depois de ter sido fechada.-i file
— permite declarar os nomes dos arquivos de log que se deseja acompanhar.
Normalmente, você só precisa listar os arquivos na linha de comando, um após o outro.
Preceder o nome de um arquivo com ‘-i’ permite monitorar aqueles cujos nomes começam com um traço (-) — caso contrário, o nome do arquivo será entendido como uma opção de linha de comando do MultiTail, o que pode acabar retornando um erro.--mark-interval N
— Permite que se especifique um intervalo de tempo, em N segundos, de inatividade que faz com que uma linha marcadora seja exibida na janela de resultados do MultiTail.
Por exemplo, caso não haja atividade no log do servidor web Apache, em N segundos, o programa exibe uma linha---auth.log DATE TIME---
, em queDATE TIME
é a data e hora.
Esta opção é especialmente útil para identificar os arquivos de log que não estão tendo muita atividade.--no-repeat
— evita a repetição ou redundância de mensagens ao informar apenas quantas vezes a última mensagem foi repetida: “Last message repeated N times”.
Veja o exemplo abaixo:
multitail --mark-interval 10 --no-repeat /var/log/kern.log /var/log/mysql.log
Como você já pôde perceber, o MultiTail divide a tela em partes iguais para cada arquivo de log. Você pode ampliar a janela do console se quiser… mas o fato é que as 2 últimas linhas já costumam ser suficientes para acompanhar e detectar se algo anormal está acontecendo.
Use o MultiTail para monitorar as saídas dos comandos
Há casos em que o conteúdo do que está sendo escrito em um arquivo de log não é tão importante — o administrador deseja apenas saber se ele está sendo atualizado, como consequência de algum aplicativo estar funcionando no sistema.
Um dos exemplos disto é log de acessos do Apache — cujo uso pode ser bastante intenso em alguns servidores.
O servidor web pode gerar milhares de mensagens de log em questão de minutos — cada qual contém detalhes que raramente são muito úteis.
Em casos como este, o que os administradores de sistemas realmente querem é verificar se o arquivo de log está sendo alimentado — ou, em outras palavras, que o servidor está no ar e recebendo acessos.
Manualmente, você pode acompanhar o crescimento do arquivo de log de acessos do servidor web com o comando ‘ls -l’:
ls -l /var/log/apache2/access.log-rw-r----- 1 root adm 21444 Ago 1 20:29 /var/log/apache2/access.log
Você acompanha os acessos através da repetição deste comando. Chato, não?
Para usar o MultiTail para acompanhar apenas as saídas de um programa, é necessário incluir algumas opções na linha de comando. Veja:
multitail -Rc 2 -l "ls -l /var/log/apache2/access.log"
Este é um caso em que o MultiTail mimetiza outro programa: o watch.
O aplicativo watch está presente, por padrão, na maioria das distribuições Linux.
Ele também pode ser usado para resolver o problema acima, com esta linha de comando:
watch "ls -l /var/log/apache2/access.log"
Faça a experiência.
Exemplos de uso do MultiTail
Foi dito, antes, que o MultiTail “divide a janela do console em partes iguais”. Sendo um comportamento padrão do aplicativo, há opções para dividir a tela de outras maneiras mais cômodas para você acompanhar o andamento do sistema.
O exemplo abaixo mostra a divisão da tela em 3 sessões, em que o primeiro arquivo de log monitorado ocupa um espaço maior. Veja:
multitail -s 2 /var/log/apache2/error.log /var/log/apache2/access.log /var/log/gpu-manager.log
No segundo exemplo, mostro como integrar os logs de 2 aplicativos em apenas uma janela — cada log, contudo, terá sua própria cor.
Os logs de acessos e erros de um servidor podem ser um pouco “maçantes” e conter muita informação redundante — motivo pelo qual um administrador pode optar por deixá-los juntos em uma única janela.
A diferença de cores, permite acompanhar com clareza o andamento do log de cada um:
multitail -ci green /var/log/apache2/access.log -ci red -I /var/log/apache2/error.log
Referências
Site oficial do MultiTail: http://www.vanheusden.com/multitail/
Página do desenvolvedor no GitHub: https://github.com/flok99/multitail
Artigo no Wikipedia: https://en.wikipedia.org/wiki/MultiTail
Documentação do MultiTail: http://linux.die.net/man/1/multitail