Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: judovana 30. 10. 2013, 12:09:46

Název: Ideální místo pro logování
Přispěvatel: judovana 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.

Název: Re:idealni logova destinace
Přispěvatel: Jozef 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&) &

Název: Re:idealni logova destinace
Přispěvatel: judovana 30. 10. 2013, 14:28:04
Vubec bych se nebranil to posilat pres UDP komukoliv :)) Jen nevim komu a kde to pak skonci....
Název: Re:idealni logova destinace
Přispěvatel: Jozef 30. 10. 2013, 14:49:42
To zalezi od konkretnej infrastruktury, kazdopadne to cele moze bezat na jednom stroji...
Název: Re:Ideální místo pro logování
Přispěvatel: judovana 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
Název: Re:Ideální místo pro logování
Přispěvatel: nextsux 30. 10. 2013, 20:11:24
a jeproboha nejaky duvod, proc nepouzit klasicky syslog-ng?
Název: Re:Ideální místo pro logování
Přispěvatel: judovana 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 :(
Název: Re:Ideální místo pro logování
Přispěvatel: Rhinox 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...
Název: Re:Ideální místo pro logování
Přispěvatel: judovana 31. 10. 2013, 15:54:32
hm.. vysledne soubory ale zase budou mit  read permission jen pro roota ne?
Název: Re:Ideální místo pro logování
Přispěvatel: m 31. 10. 2013, 16:27:26
v syslog-ng sa da dastavit pod akym uzivatelom, skupinou a s akymi pravami sa log subory ulozia.
Název: Re:Ideální místo pro logování
Přispěvatel: iwtu 31. 10. 2013, 18:29:44
mozes vyskusat http://logentries.com (http://logentries.com) (zalozil to jeden Cech a Ir) a tam mozes dat pristup vsetkym adminom. Ty chlapci si na logy vazne experti.
Název: Re:Ideální místo pro logování
Přispěvatel: Palo M. 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.
Název: Re:Ideální místo pro logování
Přispěvatel: judovana 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.
Název: Re:Ideální místo pro logování
Přispěvatel: Ivan 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.
Název: Re:Ideální místo pro logování
Přispěvatel: judovana 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 ?  "
Název: Re:Ideální místo pro logování
Přispěvatel: bydga 03. 11. 2013, 16:40:40
koukni na logstash/kibana - bezi to pod elasticsearchem, vizualizuje to data do grafů a milion dalších věcí