Rsyslog: Difference between revisions
Line 62: | Line 62: | ||
=== Apache2 === | === Apache2 === | ||
Apache2 teeb juba vaikeseades logisid ja see on piisav paljudel juhtudel, kuid kui tegu on suurema veebihostiga võib vaja minna rohkem logimise viise. Näiteks soovite saata ErrorLogisid üldse kuskile teise masinasse või filtreerida logisid sissetulevate IP'de järgi. | Apache2 teeb juba vaikeseades logisid ja see on piisav paljudel juhtudel, kuid kui tegu on suurema veebihostiga võib vaja minna rohkem logimise viise. Näiteks soovite saata ErrorLogisid üldse kuskile teise masinasse või filtreerida logisid sissetulevate IP'de järgi. Süsteemilogisid on võimalik saata igale poole, selleks on ''facility''d, nii saab logid suunata näiteks FTP serverisse, saata meil või teha fail kohalikku masinasse. Meie näites kasutame kohalikku masinasse salvestust. | ||
Kui tahame salvestada ErrorLogid kuskile erladi asukohta saab teha nii. Kõigepealt avame veebilehe konfifaili ja lisame järgmise rea. | |||
<pre> | |||
ErrorLog syslog:local1 | |||
</pre> | |||
Local1 kohalik ''facility'', neid on kokku 7. Edasi tuleb teha uus rida ''rsyslog'' konfifaili. | |||
<pre> | |||
local1.crit /var/log/apache.crit | |||
</pre> | |||
''crit'' on standartne ''syslog''i sisseehitatud tõsiduse aste (neid on teisigi). Edaspidi logitakse "kriitilised" ja tõsisemad errorid faili /var/log/apache2.crit. | |||
Kahjuks on ''access log''idega rohkem vaeva vaja näha. | |||
== Viited == | == Viited == |
Revision as of 22:23, 26 May 2012
Autor
Robert Pärn, A21
Sissejuhatus
Rsyslog võimaldab süsteemi logimist sarnaselt Linuxi/Unixi utiliidile syslog, kuid lisab palju rohkem funktsionaalsust. Mõningad olulised lisafunktsioonid, mida rsyslog pakub on näiteks täpsete kriteeriumite põhjal filtreerimine, sh. ka sisupõhine filtreerimine. Samuti on võimalik rsyslogiga võimalik logifaile vastavalt soovile IP võrgus liigutada. Tänu rsyslog'i võimekusele ja kasutusmugavusele on ta muudetud enamikes Linuxi distrotes standardiks.
Eeldused
Uusim rsyslog versioon on 6.3.8. See juhend eeldab, et ka teil on uusim versioon. Versioonid 0-4 on tänaseks vananenud, kuid on kasutus on suuresti sarnane uutematega. Nagu mainitud on uutemates Linuxites kohe rsyslog installitud ning on võimalik installida vanematele, millel see ei tule Operatsioonisüsteemiga kaasa. Suure tõenäosusega ei ole teil selle rakenduse kasutamiseks vaja mitte midagi juurde installida, kui kasutate uuemat Linuxit.
Basic kasutamise õpetus
Et rsyslog oleks täielikult mõistetav, demonstreerin tema põhilisi omadusi. Lühidalt öeldes on sellega võimalik kõike logida. Selleks, et logida erinevaid asju on rsyslogil propertyd. Propertyd "püüavad" süsteemi sõnumeid kinni stringidena ning neid on hiljem võimalik oma tahtmise järgi manipuleerida. Kõikvõimalikud propertyd on nähtavad siin: http://www.rsyslog.com/doc/property_replacer.html.
Teeme demo'ks ühe lihtsa logi, vaatame, mis süsteemi sõnumid liiguvad, kui teeme restardi teenusele rsyslog. Kõigepealt veendume, et oleme root kasutajaõigustes:
sudo -i
Järgmiseks veendume meil on rsyslog installitud.
apt-get update apt-get install rsyslog
Avame rsyslog konfifaili.
nano /etc/rsyslog.conf
Edasi defineerime uue templiidi faili lõppu. Templiidi alustel põhineb terve rsyslogi töö. Siin saab kasutatada erinevaid propertyd ja stringi manipulatsioone ning defineerida kuhu faili logi kirjutatakse.
$template testikas, "Silt: '%syslogtag%', systeemis6num: '%msg%'\n" *.* /var/log/testing123.log;testikas
Mida see kõik tähendab? $template defineerib templiidi, selle järgi saab rsyslog aru, et seal on eraldi reeglitel põhinev logimine ning oskab seda rakendada. Mina defineerisin enda templiidinimeks "testikas". Pärast koma järgneb see mida väljastatakse. Nagu näha siis on seal "Silt: " ning sellele järgneb property "%syslogtag%" jne. Lõpus on "\n", mis peaks olema tuttav neile, kes skriptimise või programmeerimisega tegelevad, antud märk vahetab rida (muidu kirjutataks kogu tekst üksteise otsa).
Salvesta fail ning testi seda mingi käsuga. Mina tegin rsyslogile restardi, aga nüüdsest püüab see logi kinni paljud süsteemi käsud.
service rsyslog restart
less /var/log/testing123.log
Minu väljastus:
Silt: 'kernel:', systeemis6num: 'imklog 5.8.1, log source = /proc/kmsg started.' Silt: 'rsyslogd:', systeemis6num: ' [origin software="rsyslogd" swVersion="5.8.1" x-pid="1372" x-info="http://www.rsyslog.com"] start' Silt: 'rsyslogd:', systeemis6num: 'rsyslogd's groupid changed to 103' Silt: 'rsyslogd:', systeemis6num: 'rsyslogd's userid changed to 101'
Kui teil on tõsine soov hakata rsyslogi kasutama, siis soovitan tungivalt katsetada igasuguste erinevate propertytega ning regexiga (JAH ka seda on võimalik kasutada logifailide koostamisel). Võimalusi mida antud rakendus pakub on väga palju ning ilmselt aitaks lahendada ka paljude süsteemiadminnide muresid katkiste teenustega ja muuga.
Mõned rsyslog kasutuse näited
Kuna rsyslog on väga paindlik ja võimalik kasutada koos paljude programmide ja teenustega, siis olen toonud mõne näite teenustega, mida kasutatakse tihti.
Apache2
Apache2 teeb juba vaikeseades logisid ja see on piisav paljudel juhtudel, kuid kui tegu on suurema veebihostiga võib vaja minna rohkem logimise viise. Näiteks soovite saata ErrorLogisid üldse kuskile teise masinasse või filtreerida logisid sissetulevate IP'de järgi. Süsteemilogisid on võimalik saata igale poole, selleks on facilityd, nii saab logid suunata näiteks FTP serverisse, saata meil või teha fail kohalikku masinasse. Meie näites kasutame kohalikku masinasse salvestust.
Kui tahame salvestada ErrorLogid kuskile erladi asukohta saab teha nii. Kõigepealt avame veebilehe konfifaili ja lisame järgmise rea.
ErrorLog syslog:local1
Local1 kohalik facility, neid on kokku 7. Edasi tuleb teha uus rida rsyslog konfifaili.
local1.crit /var/log/apache.crit
crit on standartne syslogi sisseehitatud tõsiduse aste (neid on teisigi). Edaspidi logitakse "kriitilised" ja tõsisemad errorid faili /var/log/apache2.crit.
Kahjuks on access logidega rohkem vaeva vaja näha.
Viited
http://www.rsyslog.com/article354/
http://wiki.rsyslog.com/index.php/Working_Apache_and_Rsyslog_configuration
http://www.kiwisyslog.com/help/syslog/index.html?protocol_facilities.htm