Dedikuoti serveriai, VDS hostingas, debesų kompiuterija
Interneto vizija
Karjera El. paštas

Grįžti   Dedikuoti.lt forumas > Bendruomenės diskusijos > Pamokos > Monitoringas

Atsakyti
 
Temos įrankiai Ieškoti šioje temoje
  #1  
Senas 2018-02-07, 15:43
iv_vytenisg iv_vytenisg neprisijungęs
Super Moderator
 
Prisiregistravo: 2014 11
Žinutės: 60
Pagrindinis Išrašų administravimas naudojant Logrotate Ubuntu 16.04 aplinkoje



Logrotate yra sisteminis įrankis, kuris automatiškai administruoja išrašų rotaciją ir suspaudimą. Jeigu išrašai nėra rotuojami, archyvuojami bei periodiškai skaidomi, jie gali užpildyti visą serverio disko vietą. Logrotate Ubuntu 16.04 serveriuose būna įrašomas automatiškai ir turi teisę administruoti visų sistemų išrašus, įtraukiant ir rsyslog - pagrindinį išrašų procesą.

Šioje pamokoje bus peržiūrėta standartinė Logrotate konfigūracija bei atlikta konfigūracija konkrečiai aplikacijai.


0. Preliminarūs reikalavimai

* Virtualiai dedikuotas serveris naudojantis Ubuntu 16.04 operacinę sistemą.
* Rekomenduojame naudoji atskirai sukurtą naudotoją (ne root), kuris turėtų sudo teises.


1. Logrotate versijos nustatymas

Visų pirma patikrinkite ar Jūsų serveryje naudojama Logrotate. Tai galite sužinoti patikrindami Logrotate versiją:

Kodas:
logrotate --version
Pateikiamas atsakymas turėtų būti:

Kodas:
logrotate 3.8.7
Jeigu Logrotate nėra įdiegtas, tada Jums bus patiekiama klaida. Tokiu atveju galite įsidiegti Logrotate naudodami Linux distribucijos paketų tvarkyklę.

Jeigu pateikiama versija bus kita, siūlytume ją atnaujinti. Tokiu atveju išvengsite galimų problemų atliekant konfigūraciją pagal šią pamoką. Informacija, kaip tai atlikti, galite rasti dokumentacijoje:

Kodas:
man logrotate

2. Logrotate konfigūracijos nagrinėjimas

Logrotate konfigūracijos informacija Ubuntu OS gali būti pateikiama dviejose skirtingose vietose:
  • /etc/logrotate.conf: Šis failas talpina standartinius nustatymus ir nustato rotaciją tik keliems išrašams, kurie nėra susiję su sisteminiais paketais. Šis failas taip pat turi include galimybę paimti konfigūraciją iš bet kokio kito failo direktorijoje /etc/logrotate.d
  • /etc/logrotate.d/: Direktorija, kurioje talpinami visos įdiegtų paketų Logrotate konfigūracijos. Standartiškai šioje direktorijoje jau būna talpinamos konfigūracijos tokių įrankių kaip apt, dpkg, rsyslog ir pan.

Galime peržiūrėti Logrotate paketo konfigūraciją faile /etc/logrotate.d įvykdę komandą:

Kodas:
cat /etc/logrotate.d/apt
Jums bus pateikiamas atsakymas:

Kodas:
/var/log/apt/term.log {
  rotate 12
  monthly
  compress
  missingok
  notifempty
}

/var/log/apt/history.log {
  rotate 12
  monthly
  compress
  missingok
  notifempty
}
Šiame failas talpinamos dviejų skirtingų failų konfigūracijos: term.log ir history.log. Jie abu turi tokius pačius nustatymus. Visi kiti nustatymai, kurie galėtų būti, yra nustatomi standartiškai pagal failą /etc/logrotate.conf. Nustatymų reikšmės apt išrašams yra:
  • rotate 12: laikyti 12 senų išrašų failų.
  • monthly: atlikti rotaciją kartą į mėnesį.
  • compress: suspausti išrašus. Naudojamas gzip formatas. Suspaudimo komanda gali būti pakeičiamia naudojant komandą compresscmd.
  • missingok: nesukurti klaidos pranešimo, jeigu išrašo failas nerandamas,
  • notifempty: neatlikti rotacijos, jei išrašo failas yra tuščias.

Be abejo, yra žymiai daugiau konfigūracijos nustatymų. Jeigu norite juos sužinoti, galite juos peržiūrėti įvykdę komandą:

Kodas:
man logrotate

3. Konfigūracijos pavyzdžio sukūrimas

Norint sukonfigūruoti kitas aplikacijas (turinio valdymo sistemas, pašto tarnybas ir pan.) turime du skirtingus variantus:

1. Sukurti Logrotate konfigūracijos failą ir įkelti jį į /etc/logrotate.d/.

2. Sukurti atskirą konfigūracijos failai ir paleisti jį Ubuntu standartinio Logrotate nustatymo įšorėje. Tai būna aktualu tik tokiu atveju kai reikalinga išrašų rotacija dažniau nei kartą per dieną. Šioje pamokoje nebus apžvelgtas šis metodas.


3.1. Konfigūracijos pridėjimas į /etc/logrotate.d/

Šiuo atveju mes norime sukonfigūruoti fiktyvų web servisą, kuris turi access.log ir error.log išrašų failus direktorijoje /var/log/example-app/.

Tam, kad pridėti konfigūraciją į /etc/logrotate.d/ visų pirma turite susikurti naują failą:

Kodas:
sudo nano /etc/logrotate.d/example-app
Žemiau pateikiame pavyzdį, kaip turėtų atrodyti konfigūracinis išrašų failas:

Kodas:
/var/log/example-app/*.log {
    daily
    missingok
    rotate 14
    compress
    notifempty
    create 0640 www-data www-data
    sharedscripts
    postrotate
        systemctl reload example-app
    endscript
}
Keli nauji konfigūracijų nustatymai:

  • create 0640 www-data www-data: tai sukuria naują tuščia išrašų failą prieš rotaciją su 0640 teisėmis, www-data naudotoju, ir grupe pavadinimu www-data.
  • sharedscripts: šis įrašas reiškia, kad visi skriptai pridėti prie konfigūracijos yra paleidžaimi vieną kartą paleidžiant aplikaciją.
  • postrotate ir endscript: šis blokas talpina skriptą, kuris paleidžiamas poto kai išrašo failas yra rotuojamas. Šiuo atveju mūsų aplikacija yra paleidžiama iš naujo. postrotate yra paleidžiama prieš tai kai išrašai yra suspaudžiami. Užduotims, kurios turi būti paleistos po išrašų suspaudimo naudokite lastaction bloką.

Poto kai konfigūracijos failas yra sukuriamas ir išsaugomas, galite jį patikrinti (prieš įkeldami į /etc/logrotate.d):

Kodas:
sudo logrotate /etc/logrotate.conf --debug
Tai iškviečia logrotate, nukreipia į standarinį konfiguracijos failą ir paleidžia testiniame (debug) lygmenyje.

Jums bus pateikiama informacija apie tai, kuris išrašų failas turėtų veikti ir kas yra atliekama. Jeigu viskas atrodo teisingai, tai reiškia, kad konfigūracija atlikta sėkmingai. Standartinis Logrotate bus paleistas kartą per dieną ir įtrauks naują konfigūraciją.

Norėdami peržiūrėti daugiau Logrotate galimybių siūlytume peržiūrėti dokumentaciją:

Kodas:
man logrotate
Prisegti paveikslėliai
Paspauskite paveiksliuką, jei norite padidinti

Pavadinimas:	WjcVSKH - Imgur.png‎
Peržiūros:	173
Dydis:	55.8 KB
ID:	324  
Atsakyti su citata
Atsakyti

Temos įrankiai Ieškoti šioje temoje
Ieškoti šioje temoje:

Detali paieška

Žinučių rašymo taisyklės
Jūs negalite kurti naujų temų
Jūs negalite rašyti žinučių
Jūs negalite įkelti failų
Jūs negalite redaguoti savo įrašų

BB kodas yra Įjungtas
Šypsenos yra Įjungtas
[IMG] kodas yra Įjungtas
HTML kodas yra Išjungtas

Greita navigacija


Visi laikai yra GMT +3. Šiuo metu yra 12:07.


Powered by vBulletin®
Copyright ©2000 - 2018, vBulletin Solutions, Inc.