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 | 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 / |