From: Giacomo C. <gia...@ya...> - 2005-09-12 10:11:05
|
ciao a tutti. Ho finalmente fatto qualche prova sulla gestione delle connessioni tcp da syslog ed i risultati mi sembrano promettenti. Una premessa importante e' che, come probabilmente gia' sapete, syslog-ng permette di definire sorgenti e destinazioni multiple e di combinarle a piacere associando dei filtri. Questo significa che posso selezionare tutti i messaggi prodotti da un certo programma e/o contenenti una certa stringa e redirigere solo quelli. Tenendo presente come avviene di solito il logging su db locale, ovvero: $ mkfifo /var/log/mysql.pipe $ mysql -u syslogadmin --password=$pwadmin syslog < /var/log/mysql.pipe ho fatto alcune prove per inviare messaggi ad un host remoto ed inserirli su un db mysql in esecuzione su quell'host. La cosa interessante e' chi riceve questi messaggi sull'host remoto. Mi sono venute in mente tre soluzioni: 1) Da syslog-ng1 (macchina locale) a syslog-ng2 (con source tcp su macchina remota). syslog-ng2 invia poi a destination mysql 2) Da syslog-ng1 a client netcat su macchina remota in pipe su mysql 3) Da syslog-ng1 a client/servizio su macchina remota Si definisce un servizio inet sulla macchina remota che in questo modo viene avviato solo all'occorrenza. Il servizio si occupa di redirigere i dati verso syslog_mysql.sh o simili. Lo scenario 1) permette di comportarsi come se tutto avvenisse localmente, lasciando ai due syslog-ng il compito di gestire il transito dei messaggi da un host all'altro. Il secondo d'altra parte sembra funzionare molto bene nonostante la sua semplicita'. Ho fatto alcune prove di resistenza :) hostremoto> while true; do echo "restarting ..."; nc -l -p 3022 | mysql -u syslogadmin --password=syslogadmin syslog; done Avvio e kill del processo mysql: restarting ... Terminated restarting ... Avvio e kill del processo nc: restarting ... restarting ... In entrambi i messaggi vengono correttamente loggati sul db remoto. Sull'host locale syslog-ng logga messaggi di questo tipo: Sep 09 15:44:16 gurky syslog-ng[21710]: Connection broken to AF_INET(hostremoto:3022), reopening in 60 seconds Giacomo --- Luca De Santis <des...@ks...> wrote: > Ciao Giacomo e ciao Andrea, > > >> ... Si tratta di un sistema, > >> che, come sappiamo, logga con un trasporto non affidabile (UDP) su rete. > > > > Per fortuna syslog-ng supporta svariate sorgenti/destinazioni tra le quali > > anche i socket tcp. > > Confermo: > cfr. > http://www.balabit.com/products/syslog_ng/reference-2.0/syslog-ng.html/index > .html#id2525640 > > Quindi sicuramente dovremo configurare il logging per andare su TCP/IP. > > > Come avviene il logging su syslog da OpenPEC? > > Viene utilizzato il modulo Unix::Syslog od altro? > > Sì, la gestione dei log è affidata al modulo Opec::Log che a sua volta usa > Unix::Syslog. > > >> In una architettura distribuita si avrebbe quindi un logging su un > >> sistema non controllabile (nell'ipotesi che il db di logging sia > >> su un server separato per ridondanza e performances). > > > > In effetti se ricordo bene nella chat di martedi non se ne e' parlato. > > E' previsto che il logging su db possa essere su una macchina separata? > > Credo che il tutto possa essere risolto tramite una configurazione di > syslog-ng. Quindi questo potrà essere fatto o meno, così come il DB potrà > esserci oppure no. I log "ufficiali" da ruotare saranno quelli riportati sui > file: il DB faciliterà invece le analisi statistiche e i controlli. > > In realtà il modo con cui syslog-ng parla con i DB mi sembra un po' debole. > In pratica utilizza una pipe che viene poi letta dai programmi "client" che > dialogano con i db (es. mysql, sqlplus, etc.). Quindi il DB può risiedere su > una qualsiasi macchina, purché sia raggiungibile con i tradizionali > applicativi client da quella su cui gira il syslog-ng. > > Altre info si possono trovare qui: http://vermeer.org/docs/1 > > Ultima info di servizio per tutti: noi di Ksol mancheremo fino al 22/8, > compreso Flazan-Sensei. Non stupitevi di eventuali nostri silenzi. > > Salutoni, a presto > Dex > > -- > Luca De Santis > Ksolutions spa, Gruppo KATAWEB > via Lenin 132/26 > 56017 S. Martino Ulmiano (PI) - ITALY > tel.: +39 050 898 563 (direct) > mobile: +39 335 7376 153 > fax: +39 050 861 200 > email: des...@ks... > web: http://www.ksolutions.it > > ______________________________________________________ Yahoo! for Good Donate to the Hurricane Katrina relief effort. http://store.yahoo.com/redcross-donate3/ |