Base de Coñecemento Instrucións sinxelas para traballar co servizo Profitserver
Páxina Base de Coñecemento Como ler os rexistros de Linux e onde atopalo

Como ler os rexistros de Linux e onde atopalo


Cando teñas algún problema co rendemento do teu servidor, o primeiro que queres facer é facelo verifique os seus rexistros de Linux. No rexistro do sistema, podes atopar algunhas mensaxes de diagnóstico útiles de diferentes compoñentes do sistema operativo como o núcleo ou varios servizos, polo que é probable que atopes alí a causa do fallo.

Cada mensaxe do rexistro xérase como resultado de certos eventos no sistema operativo: do usuario, autorización para o peche do servizo ou fallo da aplicación. Estes eventos teñen diferentes prioridades dependendo da súa importancia. Hai os seguintes tipos de eventos en Linux:

  1. emerg - fracaso, máxima prioridade;
  2. alert - aviso urxente;
  3. crit - suceso crítico;
  4. err - erro común;
  5. warn - aviso ordinario;
  6. notice - notificación;
  7. info - mensaxe de información;
  8. debug - información de depuración;

Polo momento, os principais servizos de recollida de rexistros en Linux son rsyslog systemd-journald. Van coa maioría dos paquetes de distribución modernos e funcionan de forma independente.

rsyslog

Os rexistros deste servizo atópanse en "/ var / log /" cartafol en forma de ficheiros de texto comúns. As mensaxes de rexistro colócanse en ficheiros diferentes dependendo do tipo de evento. Por exemplo, "/var/log/auth.log” contén información sobre a autorización dos usuarios no sistema e “/var/log/kern.log" contén mensaxes do núcleo. Os nomes dos ficheiros poden diferir entre os paquetes de distribución, así que imos dar unha ollada ao ficheiro de configuración para facernos unha idea de onde está "/etc/rsyslog.d/50-default.conf".

Сбор логов Linux утилитой rsyslog

Estas regras mostran que ficheiro contén cada tipo de mensaxes de rexistro. A parte esquerda mostra o tipo de mensaxe no seguinte formulario "[Fonte].[Prioridade]" e a parte dereita mostra o nome do ficheiro de rexistro. Mentres se escribe o tipo de mensaxe "*Pódese engadir o carácter ". Significa un valor baleiro ou "ningún” que o elimina da lista.. Vexamos máis de cerca as dúas primeiras regras.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

A primeira regra significa que todas as mensaxes recibidas do mecanismo de autorización rexistraranse en "/var/log/auth.log". Todos os intentos de autorización (tanto exitosos como non) rexistraranse neste ficheiro. A segunda regra indica que todas as mensaxes, excepto as relacionadas coa autorización, rexistraranse en "/ var / log / syslog". Estes dous ficheiros adoitan ser os máis populares. As seguintes regras definen o camiño para almacenar os rexistros do núcleo "kern.*" e rexistros do servizo de correo "correo.*"

Os ficheiros de rexistro pódense abrir coa axuda de calquera editor de texto, como menos, gato, cola. Imos abrir o "/var/log/auth.log” arquivo

less /var/log/auth.log
Запись в лог-файле Линукс о неудачной попытке авторизации SSH

Cada liña do ficheiro é unha mensaxe separada recibida da aplicación ou servizo. Todas as mensaxes, independentemente da súa orixe, teñen un formato e constan de 5 partes. Tomemos a mensaxe destacada na captura de pantalla como exemplo.

  1. Marca de tempo da mensaxe: "12 de febreiro ás 06:18:33"
  2. Nome do ordenador que enviou a mensaxe - "vds"
  3. Nome da aplicación ou servizo que enviou a mensaxe: "sshd"
  4. ID de proceso - [653]
  5. Texto da mensaxe: "Contrasinal aceptado para mihail do porto 188.19.42.165 ssh2849 2"

Este foi un exemplo dunha conexión exitosa a SSH.

E así é como se ve un intento de inicio de sesión non exitoso:

Usar Linux

Este ficheiro tamén rexistra comandos con permisos avanzados

Cómo usar Linux en Linux

Imos abrir o / var / log / syslog arquivo

Unha mensaxe destacada na captura de pantalla é a mensaxe sobre o peche da interface de rede.

Утилита logorotate

Para buscar información a través de ficheiros de texto longos use grep utilidade. Podes atopar todas as mensaxes recibidas de pptpd servizo no "/ var / log / syslog” arquivo.

grep 'pptpd' /var/log/syslog
файл "/etc/logrotate.d/rsyslog"

Durante o diagnóstico pode usar cola utilidade que pode mostrar varias últimas liñas de ficheiros. Comando "tail -f / var / log / syslog” permitirache ver rexistros gravados en tempo real.

O servizo rsyslog é moi flexible e potente. Pódese usar para recoller rexistros en sistemas locais, así como a nivel empresarial. Podes atopar a documentación completa no sitio web oficial https://www.rsyslog.com/

Rotación de rexistros en Linux

A gravación do rexistro está a suceder continuamente, polo que o tamaño dos ficheiros crece constantemente. O mecanismo de rotación garante o arquivo automático dos rexistros antigos e a creación de novos ficheiros. Dependendo das regras, pode ocorrer diariamente, semanalmente, mensualmente ou por límite de tamaño. A medida que se crean novos rexistros, os antigos pódense eliminar ou enviar por correo electrónico. A rotación dos rexistros realízase por acadado utilidade. Podes atopar a configuración principal en "/etc/logrotate.conf". O contido dos ficheiros tamén se procesa en "/etc/logrotate.d/”Cartafol

Pódense rexistrar novas regras no ficheiro de configuración principal. Non obstante, é mellor crear un ficheiro separado en "/etc/logrotate.d/". Por defecto, hai algúns ficheiros neste directorio

Настраиваем ротацию логов в Линукс

Vexamos o ficheiro "/etc/logrotate.d/rsyslog" que contén regras de rotación para rexistros do rsyslog servizo.

Пример вывода всех ошибок pptpd в лог-файлах

En primeiro lugar, a regra debe conter o camiño ao ficheiro de rexistro e despois ir todas as pautas entre corchetes.

  • xirar 7 - número de ficheiros a manter - 7
  • diario - crea un ficheiro novo todos os días
  • comprimir - comprimir e arquivar ficheiros antigos
Учимся читать логи Линукс

Podes ver na captura de pantalla que no "/ var / log /" cartafol hai o rexistro principal "syslog” e 7 arquivos, o que se corresponde coas regras do ficheiro de configuración.

Podes atopar unha descrición máis detallada de logrotate no manual, executando o "home logrotate” comando

Recopilación de rexistros de Linux - journald

Servizo de recolección de troncos systemd-journald forma parte do sistema de inicialización systemd. Os ficheiros de rexistro de Linux gárdanse en "/var/log/journal/” nun formato especial e pódese abrir coa axuda de diarioctl utilidade. O formato dos rexistros é exactamente o mesmo que en rsyslog.

Mando diarioctl sen atributos mostra todos os rexistros pero non é adecuado para rexistros máis grandes. Vexamos algunhas opcións desta utilidade.

  • journalctl -b - mostrar todos os rexistros desde o último inicio
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - Mostrar o rexistro nun período de tempo determinado
  • journalctl -u pptpd - mostrar rexistros dun determinado servizo
  • journalctl -k - mostrar mensaxes do núcleo
  • journalctl -p err - mostrar mensaxes de certa prioridade, mensaxes de maior prioridade neste caso (crito, alerta, emerg)
  • journalctl -f - mostrar mensaxes en tempo real

Para unha mellor flexibilidade, pode combinar estas opcións. Imos mostrar todos os erros do pptpd servizo

journalctl -u pptpd -p err
утилита último

Se especifica a ruta do ficheiro executable como atributo, a utilidade mostrará todas as mensaxes enviadas por este ficheiro. Imos mostrar todas as mensaxes enviadas polo ficheiro "/usr/bin/sudo” dende as 04:15 do 18 de febreiro de 2020. De feito, mostrará todos os comandos executados con permisos superiores.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой lastb

Para saber canto espazo en disco ocupan os ficheiros de rexistro para executar o seguinte comando

journalctl --disk-usage

Para limitar o ficheiro de rexistro a 1 Gb, execute o seguinte comando

journalctl --vacuum-size=1G

Apertura de ficheiros binarios

Agora vexamos algúns ficheiros especiais no "/ var / log /” cartafol onde se almacenan todos os intentos de inicio de sesión. Estes ficheiros son binarios e só se poden abrir con programas especiais.

/var/log/wtmp contén información sobre intentos de inicio de sesión exitosos. Use a última utilidade para abrilo.

утилита lastlog

/var/log/btmp - contén todos os intentos fallidos de inicio de sesión. Pódese abrir con lastb con permisos avanzados. Atributo -n define o número de liñas que se mostran desde o final do ficheiro.

/var/log/lastlog - contén a hora da última acción de inicio de sesión para cada rexistro de conta. Pódese abrir con último rexistro

❮ Artigo anterior Como configurar interfaces de rede en CentOS
Próximo artigo ❯ Editores de texto Linux

Pregúntanos por VPS

Sempre estamos preparados para responder ás súas preguntas a calquera hora do día ou da noite.