Unix / Linux - registro do sistema

Neste capítulo, discutiremos em detalhes sobre o registro do sistema no Unix.

Os sistemas Unix têm um sistema de registro muito flexível e poderoso, que permite registrar quase tudo que você possa imaginar e, em seguida, manipular os registros para recuperar as informações de que necessita.

Muitas versões do Unix fornecem um recurso de registro de propósito geral chamado syslog. Programas individuais que precisam ter informações registradas, enviam as informações para o syslog.

O syslog Unix é um recurso de registro de sistema uniforme e configurável por host. O sistema usa um processo de registro de sistema centralizado que executa o programa/etc/syslogd ou /etc/syslog.

A operação do registrador do sistema é bastante direta. Os programas enviam suas entradas de registro ao syslogd , que consulta o arquivo de configuração/etc/syslogd.conf ou /etc/syslog e, quando uma correspondência for encontrada, grava a mensagem de log no arquivo de log desejado.

Existem quatro termos básicos do syslog que você deve entender -

Sr. Não. Termo e descrição
1

Facility

O identificador usado para descrever o aplicativo ou processo que enviou a mensagem de log. Por exemplo, mail, kernel e ftp.

2

Priority

Um indicador da importância da mensagem. Os níveis são definidos no syslog como diretrizes, desde informações de depuração até eventos críticos.

3

Selector

Uma combinação de uma ou mais instalações e níveis. Quando um evento de entrada corresponde a um seletor, uma ação é executada.

4

Action

O que acontece com uma mensagem de entrada que corresponde a um seletor - as ações podem gravar a mensagem em um arquivo de log, ecoar a mensagem em um console ou outro dispositivo, gravar a mensagem para um usuário conectado ou enviar a mensagem para outro servidor syslog.

Instalações Syslog

Agora vamos entender sobre as facilidades do syslog. Aqui estão as facilidades disponíveis para o seletor. Nem todas as facilidades estão presentes em todas as versões do Unix.

Instalação Descrição
1

auth

Atividade relacionada à solicitação de nome e senha (getty, su, login)

2

authpriv

O mesmo que auth, mas conectado a um arquivo que só pode ser lido por usuários selecionados

3

console

Usado para capturar mensagens que geralmente são direcionadas ao console do sistema

4

cron

Mensagens do programador do sistema cron

5

daemon

Daemon do sistema pega-tudo

6

ftp

Mensagens relacionadas ao daemon ftp

7

kern

Mensagens de kernel

8

local0.local7

Instalações locais definidas por site

9

lpr

Mensagens do sistema de impressão de linha

10

mail

Mensagens relacionadas ao sistema de correio

11

mark

Pseudo-evento usado para gerar carimbos de data / hora em arquivos de log

12

news

Mensagens relacionadas ao protocolo de notícias de rede (nntp)

13

ntp

Mensagens relacionadas ao protocolo de tempo da rede

14

user

Processos regulares do usuário

15

uucp

Subsistema UUCP

Prioridades de Syslog

As prioridades do syslog são resumidas na tabela a seguir -

Sr. Não. Prioridade e descrição
1

emerg

Condição de emergência, como uma falha iminente do sistema, geralmente transmitida a todos os usuários

2

alert

Condição que deve ser corrigida imediatamente, como um banco de dados do sistema corrompido

3

crit

Condição crítica, como um erro de hardware

4

err

Erro comum

5

Warning

Atenção

6

notice

Condição que não é um erro, mas possivelmente deve ser tratada de uma maneira especial

7

info

Mensagem informativa

8

debug

Mensagens que são usadas ao depurar programas

9

none

Pseudo nível usado para especificar não registrar mensagens

A combinação de instalações e níveis permite que você tenha discernimento sobre o que é registrado e para onde essa informação vai.

À medida que cada programa envia suas mensagens obedientemente ao logger do sistema, o logger toma decisões sobre o que manter o controle e o que descartar com base nos níveis definidos no seletor.

Quando você especifica um nível, o sistema mantém o controle de tudo naquele nível e acima.

O arquivo /etc/syslog.conf

o /etc/syslog.confcontrole de arquivo onde as mensagens são registradas. Um típicosyslog.conf arquivo pode ter a seguinte aparência -

*.err;kern.debug;auth.notice /dev/console
daemon,auth.notice           /var/log/messages
lpr.info                     /var/log/lpr.log
mail.*                       /var/log/mail.log
ftp.*                        /var/log/ftp.log
auth.*                       @prep.ai.mit.edu
auth.*                       root,amrood
netinfo.err                  /var/log/netinfo.log
install.*                    /var/log/install.log
*.emerg                      *
*.alert                      |program_name
mark.*                       /dev/console

Cada linha do arquivo contém duas partes -

  • UMA message selectorque especifica quais tipos de mensagens registrar. Por exemplo, todas as mensagens de erro ou todas as mensagens de depuração do kernel.

  • A action fieldisso diz o que deve ser feito com a mensagem. Por exemplo, coloque-o em um arquivo ou envie a mensagem para o terminal de um usuário.

A seguir estão os pontos notáveis ​​para a configuração acima -

  • Os seletores de mensagens têm duas partes: a facility e a priority. Por exemplo, kern.debug seleciona todas as mensagens de depuração (a prioridade) geradas pelo kernel (o recurso).

  • O seletor de mensagens kern.debug seleciona todas as prioridades maiores que a depuração.

  • Um asterisco no lugar da instalação ou da prioridade indica "todos". Por exemplo,*.debug significa todas as mensagens de depuração, enquanto kern.* significa todas as mensagens geradas pelo kernel.

  • Você também pode usar vírgulas para especificar várias instalações. Dois ou mais seletores podem ser agrupados usando um ponto-e-vírgula.

Ações de registro

O campo de ação especifica uma das cinco ações -

  • Registre a mensagem em um arquivo ou dispositivo. Por exemplo,/var/log/lpr.log ou /dev/console.

  • Envie uma mensagem a um usuário. Você pode especificar vários nomes de usuário, separando-os com vírgulas; por exemplo, root, amrood.

  • Envie uma mensagem a todos os usuários. Nesse caso, o campo de ação consiste em um asterisco; por exemplo, *.

  • Canalize a mensagem para um programa. Nesse caso, o programa é especificado após o símbolo de barra do Unix (|).

  • Envie a mensagem para o syslog em outro host. Nesse caso, o campo de ação consiste em um nome de host, precedido por uma arroba; por exemplo, @ tutorialspoint.com.

O comando logger

Unix fornece o loggercomando, que é um comando extremamente útil para lidar com o registro do sistema. ologger O comando envia mensagens de registro para o daemon syslogd e, conseqüentemente, provoca o registro do sistema.

Isso significa que podemos verificar na linha de comando a qualquer momento o syslogddaemon e sua configuração. O comando logger fornece um método para adicionar entradas de uma linha ao arquivo de log do sistema a partir da linha de comando.

O formato do comando é -

logger [-i] [-f file] [-p priority] [-t tag] [message]...

Aqui está o detalhe dos parâmetros -

Sr. Não. Opção e descrição
1

-f filename

Usa o conteúdo do arquivo filename como a mensagem a registrar.

2

-i

Registra o ID do processo do processo logger com cada linha.

3

-p priority

Entra na mensagem com a prioridade especificada (entrada do seletor especificada); a prioridade da mensagem pode ser especificada numericamente ou como um par facilidade.prioridade. A prioridade padrão é user.notice.

4

-t tag

Marca cada linha adicionada ao log com a tag especificada.

5

message

Os argumentos de string cujos conteúdos são concatenados na ordem especificada, separados por um espaço.

Você pode usar a Ajuda da página de manual para verificar a sintaxe completa desse comando.

Rotação de Log

Os arquivos de log têm a tendência de crescer muito rápido e consumir grandes quantidades de espaço em disco. Para permitir rotações de log, a maioria das distribuições usa ferramentas comonewsyslog ou logrotate.

Essas ferramentas devem ser chamadas em um intervalo de tempo frequente usando o cron daemon. Verifique as páginas de manual de newsyslog ou logrotate para obter mais detalhes.

Locais de registro importantes

Todos os aplicativos do sistema criam seus arquivos de log em /var/loge seus subdiretórios. Aqui estão alguns aplicativos importantes e seus diretórios de registro correspondentes -

Inscrição Diretório
httpd / var / log / httpd
samba / var / log / samba
cron / var / log /
enviar / var / log /
mysql / var / log /