Ideální místo pro logování

judovana

Ideální místo pro logování
« kdy: 30. 10. 2013, 12:09:46 »
Zdravim!

Mejme aplikaci, rikejme ji treba icedtea-web... Ta ma nativniho klienta jako NPAPI  plugin v C++, a dalsiho klienta v jave. Prunik funkci klientu je 0, a casto to funguje tak ze dokonce C++ cast pousti tu javovskou, komunikace prez pajpy,  a  javovska casto bezi sama. Logovani celeho projektu je hruza, ale pracuje se na tom :)

Rad bych do toho dodelal linux-like logovacy backend, aby kazdy linuxak, kdyz mu to spadne, a on koukne "do loguu", aby tam ty chybycky mel. Priapdne kdyz pisne adminovy ze mu to nejede, tak aby i admin se nekam mohl kouknout a ty chyby videt (muze mit nastavenou globalni politiku).

Kdyz jsem nad ficurkou zacal dumat, zjistil jsem, ze vlastne ani nevim kam by to logovat melo. Puvodne jsem si to predstavoval jako soubory ve /varl/log/icedtea-web/$USER/konkretni-rotovnay-log-soubor(y) - tam by se mohl kouknout admin i (pouze opravneny) uzivatel. Ohledne tohodle pristupu uz jen tolik ze nevim jak do nej zapsat spravne (z obou java i C casti). Ohledne fylozofie... nekolik lidi me zdrbalo ze takhle se to nedela. Tak shanim nazory jak se to teda DNES :o) dela.

« Poslední změna: 30. 10. 2013, 15:02:36 od Petr Krčmář »


Jozef

Re:idealni logova destinace
« Odpověď #1 kdy: 30. 10. 2013, 13:29:25 »
A co tak to posielat cez sietove rozhranie a logovat to pomocou tretej aplikacie? Standardne sa to myslim robi cez UDP port 514.
Na odposluch ti potom staci nieco ako:
 (nc -l -p 514 -u >/var/log/app.log&) &


judovana

Re:idealni logova destinace
« Odpověď #2 kdy: 30. 10. 2013, 14:28:04 »
Vubec bych se nebranil to posilat pres UDP komukoliv :)) Jen nevim komu a kde to pak skonci....

Jozef

Re:idealni logova destinace
« Odpověď #3 kdy: 30. 10. 2013, 14:49:42 »
To zalezi od konkretnej infrastruktury, kazdopadne to cele moze bezat na jednom stroji...

judovana

Re:Ideální místo pro logování
« Odpověď #4 kdy: 30. 10. 2013, 18:42:05 »
Ted nevim jestli si rozumime. Ja bych nerad tu "aplikaci treti strany" psal. To to rovnou muzu hazet do souboru do houmu :(. To nema linux by default nejaky logovaci backend??? /me confused


nextsux

Re:Ideální místo pro logování
« Odpověď #5 kdy: 30. 10. 2013, 20:11:24 »
a jeproboha nejaky duvod, proc nepouzit klasicky syslog-ng?

judovana

Re:Ideální místo pro logování
« Odpověď #6 kdy: 31. 10. 2013, 11:42:58 »
syslog-ng priznam se neznam, ale duvod proc nepouzit syslogd, byl ze nezvladal logovani "podle uzivatele". Anebo tomu proste nerozumima pujdu se zase zakopat do sveta javy adoufat ze log4j udela vsecko za mne :(

Rhinox

Re:Ideální místo pro logování
« Odpověď #7 kdy: 31. 10. 2013, 12:32:00 »
Rekl bych, ze syslog-ng toho zvladne daleko vic. Umi filtrovat logy dle vseho, na co si jen spomenes...

judovana

Re:Ideální místo pro logování
« Odpověď #8 kdy: 31. 10. 2013, 15:54:32 »
hm.. vysledne soubory ale zase budou mit  read permission jen pro roota ne?

m

Re:Ideální místo pro logování
« Odpověď #9 kdy: 31. 10. 2013, 16:27:26 »
v syslog-ng sa da dastavit pod akym uzivatelom, skupinou a s akymi pravami sa log subory ulozia.

iwtu

Re:Ideální místo pro logování
« Odpověď #10 kdy: 31. 10. 2013, 18:29:44 »
mozes vyskusat http://logentries.com (zalozil to jeden Cech a Ir) a tam mozes dat pristup vsetkym adminom. Ty chlapci si na logy vazne experti.

Palo M.

Re:Ideální místo pro logování
« Odpověď #11 kdy: 01. 11. 2013, 07:53:33 »
Pre co najflexibilnejsie logovanie odporucam logovat do syslogu.
"man 3 syslog" pre C/C++ a https://en.wikipedia.org/wiki/Java_logging_frameworks pre Javu
Syslog demona potom nakonfigurovat podla potreby (napriklad rsyslog vie logovat do suborov, do MySQL databazy, ci posielat na iny stroj)... to uz v aplikacii nemusis riesit, z aplikacie len posielas spravy do syslogu a nechas na konfiguraciu syslog demona, co s tym potom spravi.
Pripadne je mozne konfiguraciou urcit, ci sa ma logovat do syslogu, do lokalneho suboru, do stderr, alebo vobec (napriklad snmpd ma taketo moznosti logovania), ale ten syslog z toho vychadza najuniverzalnejsie.

judovana

Re:Ideální místo pro logování
« Odpověď #12 kdy: 01. 11. 2013, 13:19:20 »
Vetsinu toho co pises uz icedtea-web umi (dokonce hodne presne tak jak to pises:) ). A prave se resi (krom stdout/err, file) ten treti - systemovy...

syslog - bylo by to nejlepsi  reseni(neb je prakticky vsude), ale nekolik veci (podle me) neumi:
  - logovat do souboru /var/log/icedtea-web/usernam , kde navic soubor/adresar username bude vlastnen uzivatelem a bude 6(7)00
 -  nekolika radkove logmessages

c, i java api syslogu znam.

Ivan

Re:Ideální místo pro logování
« Odpověď #13 kdy: 01. 11. 2013, 13:40:14 »
syslog - bylo by to nejlepsi  reseni(neb je prakticky vsude), ale nekolik veci (podle me) neumi:
  - logovat do souboru /var/log/icedtea-web/usernam , kde navic soubor/adresar username bude vlastnen uzivatelem a bude 6(7)00
 -  nekolika radkove logmessages

Opravdu potrebujes, aby logy mohl mazat i uzivatel a neches to nechat na adminovi?
Nestacilo by aby uzivetele mohli cist loge pres sudo?

Popr. muzes udelat adresare /var/log/icedtea-web/username/ s suid bitem na skupine a logovat do souboru v tom adresari.
Pak ten log soubor muze mit prava 440 a stejne si uzivatele nebudou moct cist logu soubory navzajem.

judovana

Re:Ideální místo pro logování
« Odpověď #14 kdy: 03. 11. 2013, 13:41:22 »
Asi jsem se zeptal spatne a melo to byt spis:

"kde, jakozto pokrocili uzivatele, hledate logy od aplikace (desktopove, klientske.. ci jak se tomu ted rika) ktera najednou zacla padat ?  "