Erinevus lehekülje "Logi" redaktsioonide vahel

Allikas: Kuutõrvaja
(teenuste logimine läbi syslog'i)
2. rida: 2. rida:
  
 
logimist korraldab serveris tarkvara nimega syslog levinud on ka täiustatud logimootor nimega syslog-ng
 
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
+
Antud tekstis tegeleme keskse logimisega logiserverisse mille ip'ks on näiteks 192.168.1.10.
serveri mahavõtmist või purunemist saaks jälgida mis on toimunud. Ühes kohas statistika genereerimiseks jne
+
 
 +
Vajalik võib see olla näiteks ,et peale
 +
serveri mahavõtmist või purunemist saaks jälgida mis on toimunud. Tsentraalse statistika genereerimiseks jne
  
  

Redaktsioon: 11. juuni 2007, kell 19:55

sissejuhatus

logimist korraldab serveris tarkvara nimega syslog levinud on ka täiustatud logimootor nimega syslog-ng Antud tekstis tegeleme keskse logimisega logiserverisse mille ip'ks on näiteks 192.168.1.10.

Vajalik võib see olla näiteks ,et peale serveri mahavõtmist või purunemist saaks jälgida mis on toimunud. Tsentraalse 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); };

Serveris 192.168.1.10 kuhu logi saadetakse peame aga konfiguratsiooni selleks ,et info vastuvõetaks ja test faili lisataks kirjutama

destination test {
   file("/log/serverid/$FULLHOST/test.log"
  owner(root) group(wheel) perm(0600) dir_perm(0700) create_dirs(yes));
};


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));
};