Quan us trobeu amb qualsevol problema amb el rendiment del vostre servidor, el primer que voleu fer és fer-ho comproveu els vostres registres de Linux. Al registre del sistema, podeu trobar alguns missatges de diagnòstic útils de diferents components del sistema operatiu com el nucli o diversos serveis, de manera que probablement hi trobareu la causa de la fallada.
Cada missatge del registre es genera com a resultat de determinats esdeveniments del sistema operatiu: des de l'usuari, autorització per a l'aturada del servei o fallada de l'aplicació. Aquests esdeveniments tenen prioritats diferents depenent de com siguin crítics. Hi ha els següents tipus d'esdeveniments a Linux:
emerg- fracàs, màxima prioritat;alert- avís urgent;crit- esdeveniment crític;err- error ordinari;warn- avís ordinari;notice- notificació;info- missatge d'informació;debug- informació de depuració;
Actualment, els principals serveis de recollida de registres a Linux són rsyslog i systemd-journald. Van amb la majoria dels paquets de distribució moderns i funcionen de manera independent.
rsyslog
Els registres d'aquest servei es troben a "/ Var / log /" en forma de fitxers de text normals. Els missatges de registre es col·loquen en fitxers diferents segons el tipus d'esdeveniment. Per exemple, "/var/log/auth.log” conté informació sobre l'autorització dels usuaris al sistema, i “/var/log/kern.log" conté missatges del nucli. Els noms dels fitxers poden diferir entre els paquets de distribució, així que donem una ullada al fitxer de configuració per fer-nos una idea d'on és "/etc/rsyslog.d/50-default.conf".
Aquestes regles mostren quin fitxer conté cada tipus de missatges de registre. La part esquerra mostra el tipus de missatge en la forma següent "[Font].[Prioritat]" i la part dreta mostra el nom del fitxer de registre. Mentre s'escriu el tipus de missatge "*Es pot afegir el caràcter ". Significa valor buit o "cap” que l'elimina de la llista. Fem una ullada més de prop a les dues primeres regles.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
La primera regla significa que tots els missatges rebuts del mecanisme d'autorització s'enregistraran a "/var/log/auth.log". Tots els intents d'autorització (tant amb èxit com no) es registraran en aquest fitxer. La segona regla indica que tots els missatges excepte els relacionats amb l'autorització s'enregistraran a "/ var / log / syslog". Aquests dos fitxers solen ser els més populars. Les regles següents defineixen el camí per emmagatzemar els registres del nucli "kern.*" i registres del servei de correu "correu.*"
Els fitxers de registre es poden obrir amb l'ajuda de qualsevol editor de text, com ara menys, gat, cua. Obrim el "/var/log/auth.log" dossier
less /var/log/auth.log
Cada línia del fitxer és un missatge independent rebut de l'aplicació o servei. Tots els missatges, independentment de la seva font, tenen un format i consten de 5 parts. Prenem com a exemple el missatge destacat de la captura de pantalla.
- Marca de temps del missatge: "12 de febrer 06:18:33"
- Nom de l'ordinador que ha enviat el missatge: "vds"
- Nom de l'aplicació o servei que ha enviat el missatge: "sshd"
- Identificador de procés - [653]
- Text del missatge: "Contrasenya acceptada per a mihail del port 188.19.42.165 ssh2849 2"
Aquest va ser un exemple d'una connexió correcta a SSH.
I així és com es veu un intent d'inici de sessió sense èxit:
Aquest fitxer també enregistra ordres amb permisos avançats
Obrim el / var / log / syslog file
Un missatge destacat a la captura de pantalla és el missatge sobre l'aturada de la interfície de xarxa.
Per cercar informació mitjançant fitxers de text llargs, utilitzeu grep utilitat. Podeu trobar tots els missatges rebuts de pptpd servei a la "/ var / log / syslog" dossier.
grep 'pptpd' /var/log/syslog
Durant el diagnòstic es pot utilitzar cua utilitat que pot mostrar les darreres línies de fitxers. Comandament "cua -f / var / log / syslog” us permetrà veure els registres enregistrats en temps real.
El servei rsyslog és molt flexible i potent. Es pot utilitzar per a la recol·lecció de troncs en sistemes locals i a nivell empresarial. Podeu trobar la documentació completa al lloc web oficial https://www.rsyslog.com/
Rotació de registres a Linux
L'enregistrament del registre es fa contínuament, de manera que la mida dels fitxers creix constantment. El mecanisme de rotació garanteix l'arxivament automàtic dels registres antics i la creació de nous fitxers. Segons les normes, pot passar diàriament, setmanalment, mensualment o per límit de mida. A mesura que es creen registres nous, els antics es poden suprimir o enviar per correu electrònic. La rotació de registres es realitza per logrotat utilitat. Podeu trobar la configuració principal a “/etc/logrotate.conf". El contingut dels fitxers també es processa a "/etc/logrotate.d/”Carpeta
Les noves regles es poden iniciar sessió al fitxer de configuració principal. Tanmateix, el millor és crear un fitxer separat a “/etc/logrotate.d/” Per defecte, hi ha uns quants fitxers en aquest directori
Fem una ullada al fitxer "/etc/logrotate.d/rsyslog" que conté regles de rotació per als registres del rsyslog servei.
En primer lloc, la regla hauria de contenir el camí al fitxer de registre i després anar totes les directrius entre claudàtors.
- rotate juliol - nombre de fitxers a conservar - 7
- diari - Creeu un fitxer nou cada dia
- comprimir - comprimir i arxivar fitxers antics
Podeu veure a la captura de pantalla que a la "/ Var / log /” carpeta hi ha el registre principal “syslog” i 7 arxius, que correspon a les regles del fitxer de configuració.
Podeu trobar una descripció més detallada de logrotate al manual, executant el "home logrotate” ordre
Recollida de registres de Linux - journald
Servei de recol·lecció de troncs systemd-journald forma part del sistema d'inicialització systemd. Els fitxers de registre de Linux s'emmagatzemen a "/var/log/journal/” en un format especial i es pot obrir amb l'ajuda de diarictl utilitat. El format dels registres és exactament el mateix que a rsyslog.
Comando diarictl sense atributs mostra tots els registres, però no és adequat per a registres més grans. Fem una ullada a algunes opcions d'aquesta utilitat.
journalctl -b- Mostra tots els registres des de l'últim inicijournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- Mostra el registre en un període de temps determinatjournalctl -u pptpd- mostrar registres d'un determinat serveijournalctl -k- Mostra missatges del nuclijournalctl -p err- mostrar missatges de certa prioritat, missatges de prioritat més alta en aquest cas (crit, alerta, emerg)journalctl -f- Mostra missatges en temps real
Per a una millor flexibilitat, podeu combinar aquestes opcions. Mostrem tots els errors del pptpd servei
journalctl -u pptpd -p err
Si especifiqueu la ruta del fitxer executable com a atribut, la utilitat mostrarà tots els missatges enviats per aquest fitxer. Mostrem tots els missatges enviats pel fitxer "/usr/bin/sudo” des de les 04:15 del 18 de febrer de 2020. De fet, mostrarà totes les ordres executades amb permisos superiors.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
Per saber quant espai de disc ocupen els fitxers de registre per executar l'ordre següent
journalctl --disk-usage
Per limitar el fitxer de registre a 1 Gb, executeu l'ordre següent
journalctl --vacuum-size=1G
Obertura de fitxers binaris
Ara donem un cop d'ull a alguns fitxers especials al "/ Var / log /” carpeta on s'emmagatzemen tots els intents d'inici de sessió. Aquests fitxers són binaris i només es poden obrir amb programes especials.
/var/log/wtmp conté informació sobre els intents d'inici de sessió amb èxit. Utilitzeu l'última utilitat per obrir-la.
/var/log/btmp - conté tots els intents fallits d'inici de sessió. Es pot obrir amb lastb amb permisos avançats. Atribut -n defineix el nombre de línies que es mostren des del final del fitxer.
/var/log/lastlog - conté l'hora de l'última acció d'inici de sessió per a cada registre del compte. Es pot obrir amb darrer registre