Kā pārvaldīt Linux failu žurnālus, izmantojot Achieve

Linux izplatīšana ir ideāli piemērota jebkura veida korporatīvajai videi, pateicoties spējai pielāgoties jaunām funkcijām un jaunām lomām, un, vislabāk, bez maksas, pateicoties atvērtam kodam.

Mums ir tūkstošiem lietojumprogrammu vai utilītu, kas paredzētas visu sistēmas aspektu centralizētai kontrolei, un šādā veidā kā administratori vai IT darbinieki ar pārliecību zina, kad rodas kļūme, un zina, kā to novērst.

Šajā plašajā iespēju klāstā mēs atrodam Logrotate, kas ir izplatīšanas lietderība, un tā funkcija ir žurnālfailu rotācija un saspiešana.

Šis uzdevums ir svarīgs, jo, neveicot nekādas darbības ar šiem failiem, var tikt ietekmēta vieta cietajā diskā, izraisot cita veida vispārējas kļūdas.

Šajā gadījumā mēs izmantosim Ubuntu 17.10, un Logrotate ir instalēts pēc noklusējuma, un tas jau ir konfigurēts, lai pārvaldītu žurnālu rotācijas uzdevumus visām instalētajām pakotnēm, ieskaitot rsyslog, noklusējuma sistēmas žurnāla procesoru.

Tālāk mēs redzēsim, kā instalēt un izmantot šo vērtīgo utilītu.

1. Identificējiet Logrotate instalētās Linux versiju


Pirmais solis, kas jādara, ir detalizēti zināt, kura Logrotate versija mums ir šajā gadījumā Ubuntu 17.10. Lai to izdarītu, mēs izpildām šādu komandu:
 logrotate -versija
Rezultāts būs šāds:

PALIELINĀT

Ja Logrotate nav instalēts, mēs saņemsim kļūdu. Mēs varam instalēt rīku, izmantojot izmantotās Linux izplatīšanas pakotņu pārvaldnieku.

Ja Logrotate ir instalēts, bet versijas numurs ievērojami atšķiras, mums var rasties problēmas ar dažiem utilītas iestatījumiem. Mēs varam iepazīties ar konkrētās Logrotate versijas dokumentāciju tieši tās rokasgrāmatā:

 vīrietis logrotēt
Mēs varam redzēt Logrotate noklusējuma konfigurācijas struktūru Linux izplatījumā:

PALIELINĀT

2. Logrotate Linux konfigurācija


Logrotate konfigurācijas informāciju parasti var atrast divās vietās Ubuntu gadījumā:

etc / logrotate.confŠis fails satur dažus noklusējuma iestatījumus un nosaka rotāciju dažiem žurnāliem, kas nepieder nevienai sistēmas pakotnei. Tas arī izmanto iekļaušanas paziņojumu, lai iegūtu iestatījumus no jebkura kataloga /etc/logrotate.d faila.

/etc/logrotate.d/Šajā direktorijā tiks ievietota Logrotate konfigurācija jebkurai pakotnei, kuru mēs instalēsim un kurai būs nepieciešama palīdzība žurnāla rotācijā. Standarta instalācijā failiem šeit jau vajadzētu būt pamata sistēmas rīkiem, piemēram, apt, dpkg, rsyslog utt.

Pēc noklusējuma logrotate.conf konfigurēs iknedēļas žurnālu rotācijas (katru nedēļu) ar žurnāla failiem, kas pieder saknes lietotājam un sistēmas žurnāla grupai (su root syslog), ar četriem žurnāla failiem, kas tiek saglabāti (pagriezt 4) un jauni faili tiek izveidoti tukši ieraksti. izveidots pēc strāvas pagriešanas (izveidot).

Mēs varam piekļūt paketes Logrotate konfigurācijas failam vietnē /etc/logrotate.d, izmantojot utilītu cat:

 kaķis /etc/logrotate.d/apt

PALIELINĀT

Šis fails satur konfigurācijas blokus diviem dažādiem žurnāla failiem / var / log / apt / direktorijā: term.log un history.log. Abiem ir vienādas iespējas.

Jebkura opcija, kas nav iestatīta šajos konfigurācijas blokos, mantos noklusējuma vērtības vai tās, kas iestatītas failā /etc/logrotate.conf. Piemērotiem žurnāliem ir konfigurētas šādas iespējas:

pagriezt 12Saglabā divpadsmit vecus žurnālfailus.

Katru mēnesiPagrieziet reizi mēnesī.

SaspiestTas rūpējas par saspiesto failu saspiešanu. Tas pēc noklusējuma izmanto gzip, un rezultātā faili beidzas ar .gz paplašinājumu. Kompresijas komandu var mainīt, izmantojot opciju compresscmd.

missingokJa žurnāla faila trūkst, tas neraksta kļūdas ziņojumu.

notifemptyTas nepagriež žurnāla failu, ja tas ir tukšs.

Ir pieejamas vēl daudzas konfigurācijas iespējas.

3. Konfigurējiet Linux Logrotate pakalpojumu un pievienojiet konfigurāciju /etc/logrotate.d/


Tālāk mēs konfigurēsim konfigurācijas failu, lai tas apstrādātu mūsu izveidotā pakalpojuma žurnālus.

Lai pārvaldītu žurnālu failus lietojumprogrammām, kas nav fasēti un iepriekš konfigurēti sistēmas pakalpojumi, mums ir divas iespējas:

  • Izveidojiet jaunu Logrotate konfigurācijas failu un ievietojiet to ceļā /etc/logrotate.d/. Tas darbosies katru dienu kā saknes lietotājs kopā ar visiem citiem standarta Logrotate darbiem.
  • Izveidojiet jaunu konfigurācijas failu un palaidiet to ārpus Ubuntu noklusējuma Logrotate konfigurācijas. Tas ir nepieciešams tikai tad, ja mums ir jāpalaiž Logrotate kā lietotājs, kas nav root lietotājs, vai arī vēlaties pagriezt žurnālus biežāk nekā katru dienu (stundas iestatījums /etc/logrotate.d/ nebūtu efektīvs, jo sistēmas Logrotate iestatījums kursē tikai vienu reizi dienā).

Šajā gadījumā mēs vēlamies konfigurēt žurnāla rotāciju tīmekļa serverim, kas ceļā / var / log / solvetic-app / ievieto ierakstu access.log un error.log. Tas darbosies kā www-datu lietotājs un grupa.

Lai /etc/logrotate.d/ pievienotu kādu konfigurāciju, vispirms ir jāatver jauns fails šādi:

 sudo nano /etc/logrotate.d/solvetic-app
tur mēs pievienosim šādas rindas:
 /var/log/solvetic-app/ ****

PALIELINĀT

Mēs varam saglabāt izmaiņas, izmantojot taustiņu kombināciju Ctrl + O, un mēs izejam no redaktora, izmantojot Ctrl + X.

Dažas no jaunajām konfigurācijas direktīvām šajā failā ir šādas:

izveidot 0640 www-dati www-datiŠis parametrs pēc rotācijas izveido jaunu tukšu žurnāla failu ar norādītajām atļaujām (0640), īpašnieku (www-data) un grupu (arī www-data).

kopīgi rakstiŠis karogs norāda, ka konfigurācijai pievienotie skripti tiek izpildīti tikai vienu reizi, nevis katram pagrieztam failam.

pēc rotācijas līdz galīgajam tekstamŠajā blokā ir skripts, kas jāpalaiž pēc žurnāla faila pagriešanas. Šajā gadījumā mēs varam atkārtoti ielādēt mūsu solvetic-app. Dažreiz tas ir nepieciešams, lai lietojumprogramma pārslēgtos uz jaunizveidoto žurnālfailu.

Pirms žurnālu pārbaudes mums jāatskaitās par izpildēm pēc rotācijas. Saspiešana var aizņemt ilgu laiku, un programmatūrai nekavējoties jāpārslēdzas uz jauno žurnālfailu. Uzdevumiem, kas jāizpilda pēc ierakstu saspiešanas, izmantojiet bloķēšanas bloku.

Pēc konfigurācijas pielāgošanas, kas vislabāk atbilst mūsu vajadzībām un ir saglabāta mapē /etc/logrotate.d, mēs to varam pārbaudīt, izpildot šādu rindu.

 sudo logrotate /etc/logrotate.conf -debug
Tas izsauc logrotate, norāda uz standarta konfigurācijas failu un aktivizē atkļūdošanas režīmu:

PALIELINĀT

Tiks izdrukāta informācija par to, kurus žurnālfailus Logrotate apstrādā un kas tiek izpildīts. Ja viss izskatās labi, mēs esam pabeiguši. Logrotate standarta darbs tiks veikts vienu reizi dienā, un tajā tiks iekļauti jaunie iestatījumi.

4. Kā izveidot savrupu reģistrēšanas konfigurācijas žurnālu Linux


Pirmkārt, mēs savā mājas direktorijā izveidosim konfigurācijas failu. Mēs varam to atvērt, izmantojot teksta redaktoru:
 sudo nano /home/solvetic/logrotate.conf
Jaunajā failā mēs ielīmēsim:
 /home/solvetic/logs/*.log {stundā pazudis pagriezt 24 saspiest izveidot}

PALIELINĀT

Mēs varam saglabāt izmaiņas un iziet no faila.

Šis iestatījums pagriezīs failus katru stundu, saspiežot un saglabājot divdesmit četrus vecos ierakstus un izveidojot jaunu žurnālfailu, lai aizstātu pagriezto failu. Lai pārbaudītu, vai tas darbojas pareizi, mēs varam izveidot žurnāla failu, izpildot šādas rindas:

 cd ~ sudo mkdir žurnāli sudo touch logs / access.log

PALIELINĀT

Tagad, kad mums ir tukšs žurnāla fails pareizajā vietā, mēs izpildīsim komandu logrotate.
Mēs izpildīsim sekojošo:

 logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate -state -verbose

PALIELINĀT

Parametrs --verbose izdrukās detalizētu informāciju par to, ko mēs izmantojam ar Logrotate. Šajā gadījumā mēs redzēsim, ka nekas negriežas. Šī ir pirmā reize, kad Logrotate redz šo žurnālfailu, un, kā mēs zinām, fails ir nulles stundas vecs, un to nevajadzētu pagriezt.

Ja paskatāmies statusa failu, mēs redzēsim, ka Logrotate ierakstīja noteiktu informāciju par mūsu veikto izpildi:

 kaķis / mājas / solvētisks / logrotate stāvoklis
Mēs redzēsim sekojošo:

PALIELINĀT

Logrotate atzīmēja analizētos ierakstus un pēdējo reizi, kad tos izskatīja rotācijai. Ja mēs izpildīsim šo pašu komandu stundu vēlāk, ieraksts tiks pagriezts, kā paredzēts. Ja vēlaties piespiest Logrotate pagriezt žurnāla failu, ja citādi nevajadzētu, mēs varam izmantot --force karogu:

 sudo logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate -state -verbose -force

5. Plānotā uzdevuma izveide, lai sasniegtu Linux


Visbeidzot, mums ir jākonfigurē cron darbs, lai palaistu Logrotate katru stundu. Lai to izdarītu, mēs atveram lietotāja crontab, izpildot šādas darbības:
 crontab -e
Atvērtajā failā mēs pievienosim šādu rindu:
 14 * * * * / usr / sbin / logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate-state

PALIELINĀT

Šis uzdevums tiks veikts katras stundas 14. minūtē katru dienu. Tas pamatā darbojas ar to pašu komandu logrotate, kuru izpildījām agrāk, lai gan mēs paplašinājām logrotate līdz pilnam / usr / sbin / logrotate ceļam. Mēs varam saglabāt failu, izmantojot taustiņu kombināciju Ctrl + O, un iziet no tā, izmantojot Ctrl + X.

Tādējādi mēs esam redzējuši, kā Logrotate ir vienkārša, bet efektīva lietderība, pārvaldot un kontrolējot ierakstus jebkurā Linux izplatīšanā.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave