Erinevus lehekülje "Logi" redaktsioonide vahel
(→teenuste logimine läbi syslog'i) |
(→teenuste logimine läbi syslog'i) |
||
49. rida: | 49. rida: | ||
'''Näide logimisest skriptis''' | '''Näide logimisest skriptis''' | ||
+ | Soovime näiteks teha või meil on juba serveris skript mille teateid soovime saada läbi syslog'i kuhugi faili | ||
+ | ning samas kirjutada ka logiserverisse. Logifail kuhu soovime ,et kirjutataks infot on /var/log/katse | ||
+ | |||
+ | Kirjutame syslog.conf'i read | ||
destination katse { file("/var/log/katse"); }; | destination katse { file("/var/log/katse"); }; | ||
54. rida: | 58. rida: | ||
− | ning nüüd anname käsu | + | ning nüüd anname käsu testiks shell'is |
/usr/bin/logger -p local4.info "this is a test message" | /usr/bin/logger -p local4.info "this is a test message" | ||
62. rida: | 66. rida: | ||
Jun 11 19:46:50 hostname kasutaja: this is a test message | Jun 11 19:46:50 hostname kasutaja: this is a test message | ||
+ | |||
+ | |||
+ | Nüüd kui soovime ,et teated läheksid ka logi serverisse on vaja syslog konfi lisada vaid read | ||
+ | |||
+ | destination loghost { udp("192.168.1.10"); }; | ||
+ | log { source(src); filter(f_local4); destination(loghost); }; | ||
Redaktsioon: 11. juuni 2007, kell 19:52
Sisukord
sissejuhatus
logimist korraldab serveris tarkvara nimega syslog levinud on ka täiustatud logimootor nimega syslog-ng Antud tekstis tegeleme keskse logimisega kesksesse logiserverisse. Vajalik võib see olla näiteks ,et peale serveri mahavõtmist või purunemist saaks jälgida mis on toimunud. Ühes kohas statistika genereerimiseks jne
logikliendi seadistus
syslog.conf'is näiteks kui on rida
auth,authpriv.* /var/log/auth.log
siis võib tekitada kõrvale
auth,authpriv.* @192.168.1.10
ja rohkem polegi vaja lihtsaks logimiseks
peale seda saadetakse juba auth ja authpriv teated kõik masinale 192.168.1.10
tavalise syslog'i puhul näiteks freebsd's võime /etc/syslog.conf'i kirjutada
*.notice;kern.debug;lpr.info;mail.crit @192.168.1.10 auth.info;authpriv.info @192.168.1.10 mail.info @192.168.1.10
ehk siis messages, auth ja mail antud näites
syslog-ng kasutamisel oleks analoogne seadistus
destination loghost { udp("192.168.1.10"); }; log { source(src); filter(f_mail); destination(loghost); }; log { source(src); filter(f_authpriv); destination(loghost); }; log { source(src); filter(f_messages); destination(loghost); };
teenuste logimine läbi syslog'i
Osa tarkvara ei kasuta logimiseks sysloq'i vaid eelistavad ise tegeleda logi kirjutamiega näit apache nende tarkvaradega tuleb rohkem vaeva näha
Näide logimisest skriptis
Soovime näiteks teha või meil on juba serveris skript mille teateid soovime saada läbi syslog'i kuhugi faili ning samas kirjutada ka logiserverisse. Logifail kuhu soovime ,et kirjutataks infot on /var/log/katse
Kirjutame syslog.conf'i read
destination katse { file("/var/log/katse"); }; log { source(src); filter(f_local4); destination(katse); };
ning nüüd anname käsu testiks shell'is
/usr/bin/logger -p local4.info "this is a test message"
faili /var/log/katse peaks tekkima rida
Jun 11 19:46:50 hostname kasutaja: this is a test message
Nüüd kui soovime ,et teated läheksid ka logi serverisse on vaja syslog konfi lisada vaid read
destination loghost { udp("192.168.1.10"); }; log { source(src); filter(f_local4); destination(loghost); };
Apache logimine
Programmi apache syslog'i läbi logimina saame selliselt
asendame rea
ErrorLog /var/log/httpd/error.log
reaga
ErrorLog syslog:local4
ja access log'i jaoks
CustomLog "|/usr/bin/logger -p local5.info" combined
syslog.conf muudatused tulevad
destination loghost { udp("192.168.1.10"); }; destination http_error { file("/var/log/httpd/error.log"); }; destination http_access { file("/var/log/httpd/access.log"); }; log { source(src); filter(f_local4); destination(loghost); }; log { source(src); filter(f_local4); destination(http_error); }; log { source(src); filter(f_local5); destination(loghost); }; log { source(src); filter(f_local5); destination(http_access); };
logiserveri seadistus
Serveripoolel soovitaks kasutada rohkemate võimaluste poolest kui võimalik syslog-ng tarkvara
vaikimisi üritab syslog kirjutada logifailid ühte defineeritud faili kokku.
Esimese tööna tuleb defineerida failid kuhu mis tüüpi logi kirjutatakse.
Kasutame muutujat $FULLHOST radadepuhul. See annab meile võimaluse ,et logiserveris tekivad kaustad ja failid
tekitatakse automaatselt sellise struktuuriga
/log/serverid/mail.server.ee/messages /log/serverid/mail.server.ee/mail.log /log/serverid/mail.server.ee/auth.log /log/serverid/www.server.ee/messages /log/serverid/www.server.ee/mail.log /log/serverid/www.server.ee/auth.log /log/serverid/www.server.ee/http_error.log /log/serverid/www.server.ee/http_access.log
konfifail ise
source net { udp(); }; destination remote { file("/log/serverid/$FULLHOST/messages.log" owner(root) group(wheel) perm(0600) dir_perm(0700) create_dirs(yes)); }; destination remote_auth { file("/log/serverid/$FULLHOST/auth.log" owner(root) group(wheel) perm(0600) dir_perm(0700) create_dirs(yes)); }; destination remote_mail { file("/log/serverid/$FULLHOST/mail.log" owner(root) group(wheel) perm(0600) dir_perm(0700) create_dirs(yes)); }; destination remote_http_error { file("/log/serverid/$FULLHOST/http_error.log" owner(root) group(wheel) perm(0600) dir_perm(0700) create_dirs(yes)); }; destination remote_http_access { file("/log/serverid/$FULLHOST/http_access.log" owner(root) group(wheel) perm(0600) dir_perm(0700) create_dirs(yes)); };