Fórum Root.cz
Hlavní témata => Software => Téma založeno: prezek 05. 12. 2016, 13:20:16
-
Zdravím.
Při vývoji programů generuji logy, ve kterých pak hledám zajímavé informace.
Dopředu nevím, co zrovna budu potřebovat, a tak do nich sypu cca 5000 řádků/minutu.
Důležité záznamy pak hledám pomocí regulárních výrazů v PSPadu. Je to ale pomalé a někdy mi chybí porovnání pořadí dějů.
Líbilo by se mi:
- barevně zvýrazněné pozice určitých textů.
- přepínat mezi vyhledanými řádky a celým souborem se zaměřením daných řádků.
- vygenerování grafu s časovou s několika řadami dat z textu
- historie hledání
Jak procházíte logy vy? Znáte nějaký user friendly sw pro Windows/Linux Mint, který by splňoval mé představy, případně měl jiné užitečné vychytávky?
Díky, Petr
-
Ukládej to do elasticsearche a prohledávej kibanou.
-
Já vim. :)
-
Řeším to takto:
cat logfile |grep -v tohlenechci |grep -v tohleTakyNechci |grep -v aniTohleNechci |less (prohlédnu a hned přidám další grep -v).
Čísla původních řádků: cat logfile |nl|grep -i error |less
Na opravdu velké logy používám perl, dokáže "grep -v" i 10x rychleji: cat logfile |perl -e 'while(<>){if ($_=~/tohlenechci/){}else{print $_}} velmi ošklivé a velmi účinné, pokud máte 2GB log, kde je 98% jedna otravná hláška.
Pořadí dějů ve více log souborech: logy jedině s timestampem, pak používám konstrukci: cat log1 log2 |sort|grep -v
-
Ukládej to do elasticsearche a prohledávej kibanou.
Jojo, a pořiď si na to rovnou i nový stroj, min. tak 16GB RAM. Případně raději rovnou cluster.
-
Ukládej to do elasticsearche a prohledávej kibanou.
Jojo, a pořiď si na to rovnou i nový stroj, min. tak 16GB RAM. Případně raději rovnou cluster.
Tak kvalita něco stojí. Můžeš to jako lopata hledat grepem, proč ne :D
-
Ano, nová kvalitní závodní jachta, například... ::)
-
cat logfile |grep -v tohlenechci |grep -v tohleTakyNechci |grep -v aniTohleNechci |less (prohlédnu a hned přidám další grep -v).[...]
btw: grep -v -e tohlenechci -e tohleTakyNechci -e aniTohleNechci logfile | less
-
Tak kvalita něco stojí. Můžeš to jako lopata hledat grepem, proč ne :D
Jiste, lopata hleda grepem, javaman hleda javovou aplikaci, co bezi na serverove farme v prilehle stodole.
-
Zdravím.
Při vývoji programů generuji logy, ve kterých pak hledám zajímavé informace.
Dopředu nevím, co zrovna budu potřebovat, a tak do nich sypu cca 5000 řádků/minutu.
Důležité záznamy pak hledám pomocí regulárních výrazů v PSPadu. Je to ale pomalé a někdy mi chybí porovnání pořadí dějů.
Líbilo by se mi:
- barevně zvýrazněné pozice určitých textů.
- přepínat mezi vyhledanými řádky a celým souborem se zaměřením daných řádků.
- vygenerování grafu s časovou s několika řadami dat z textu
- historie hledání
Jak procházíte logy vy? Znáte nějaký user friendly sw pro Windows/Linux Mint, který by splňoval mé představy, případně měl jiné užitečné vychytávky?
Díky, Petr
A proč už dávno na to nemáš svou vlastní aplikaci?
-
egrep -v "nechcem|tiez nechcem|vobec nechcem" subor.log | less
-
echo "Proc jsem si jen ty logy nerozdelil do nekolika tematickych souboru, kdyz musim logovat takove mnozstvi bordelu"; rm -rf /home/tuxik/projects; echo "Mas co jsi chtel, zajdi na pivo, zapij zal a priste to delej poradne, ted mas tri dny cas na premysleni"; sleep $((60*60*24*3)); PRPOPR="/home/tuxik/projects/prvni_poradny_projekt"; mkdir -p $PRPOPR; cd $PRPOPR; vim main.c
-
egrep -v "nechcem|tiez nechcem|vobec nechcem" subor.log | less
Jasny, trubky co v zivote prohledali dva a pul logu, se tu ted budou hecovat kdo napise nejnepraktictejsi prikaz...
-
BTW, melo by byt mozne udelat si vlastni syntax highlighting pro mcedit na to barevne zvyraznovani. Ale kdyz nekdo generuje gigabajtove logy, tak mam pochybnosti, ze by to bylo rychlejsi, nez PSPad a nejspis by to narazilo na nejakou mezni velikost souboru. Kdyz nekdo chce rychle prohrabavat takova kvanta textu, tak to aby si udelal nejakou indexovanou databazi. Jsem jeste neslysel, ze by jedinec z logu udelal big data problem. To tak jeste nejaka smirovaci agenture.
-
Řeším to takto:
cat logfile |grep -v tohlenechci |grep -v tohleTakyNechci |grep -v aniTohleNechci |less (prohlédnu a hned přidám další grep -v).
Čísla původních řádků: cat logfile |nl|grep -i error |less
Na opravdu velké logy používám perl, dokáže "grep -v" i 10x rychleji: cat logfile |perl -e 'while(<>){if ($_=~/tohlenechci/){}else{print $_}} velmi ošklivé a velmi účinné, pokud máte 2GB log, kde je 98% jedna otravná hláška.
Pořadí dějů ve více log souborech: logy jedině s timestampem, pak používám konstrukci: cat log1 log2 |sort|grep -v
Díky, timestampy mám, takže profiltrované řádky hledám v původním textu podle nich, jen jsem si představoval něco klikacího. Příkazového řádku se trochu bojím. Perl vyzkouším, díky.
A proč už dávno na to nemáš svou vlastní aplikaci?
Na grafy jsem si prográmek udělal, na zobrazování textu zvýrazňování a vyhledávání si netroufnu (zabralo by to více času, než kolik by to ušetřilo). Říkal jsem si, že to je věc, kterou potřebuje každý druhý embedded vývojář i spousta PC/web/... softwérářů. Čekal jsem, že na to existuje spousta malých ale výkonných programů plných barviček s ideálním počtem klikátek, aby se v tom dokázal zorientovat i každý začínající arduinista.
echo "Proc jsem si jen ty logy nerozdelil do nekolika tematickych souboru, kdyz musim logovat takove mnozstvi bordelu"; rm -rf /home/tuxik/projects; echo "Mas co jsi chtel, zajdi na pivo, zapij zal a priste to delej poradne, ted mas tri dny cas na premysleni"; sleep $((60*60*24*3)); PRPOPR="/home/tuxik/projects/prvni_poradny_projekt"; mkdir -p $PRPOPR; cd $PRPOPR; vim main.c
loguju většinou embedded zařízení přes sériovou linku do PC, tedy jedním streamem (někdy více zařízení najednou do více souborů). Pokud bych to pokaždé dělil na 20 souborů (nebo kolik parametrů vlastně sleduju), tak bych v tom měl imho ještě větší zmatek než teď.
Ve chvíli kompilace a spouštění programu nevím, co jsem udělal špatně a co se při tomto spuštění pokazí a tak loguju všechno, co by se pokazit mohlo (o čem vím, že už se někdy pokazilo). Ve chvíli, kdy narazím na nesprávnou funkci začnu prohrabovat log. Kontrolou jednoho logu pak trávím nejčastěji 10 minut - 2 hodiny, přijde mi tak zbytečné data sypat do nějaké databáze, ale možná by to taky bylo řešení.
-
Co sběr logů do logstashe nebo splunku?
-
http://xmodulo.com/open-source-log-monitoring-tools-linux.html
-
Zdravím.
Při vývoji programů generuji logy, ve kterých pak hledám zajímavé informace.
Dopředu nevím, co zrovna budu potřebovat, a tak do nich sypu cca 5000 řádků/minutu.
Důležité záznamy pak hledám pomocí regulárních výrazů v PSPadu. Je to ale pomalé a někdy mi chybí porovnání pořadí dějů.
V com programujes?
pre .NET je velmi pekna vec NLog - mas jednotne logovanie a len si nadefinujes targety kam to ma logy sypat - file, DB, messaging bus, priamo na UDP port.
Ak potrebujes vidiet real-time ako sa ti bezi program a co sa deje, tak Log4View ti priamo konzumuje log messages z UDP portu kam to posiela aplikacia, alebo z messaging busu (Tibco , *MQ)
Je okolo toho cela veda :-) a velmi zalezi v com robis a co potrebujes.
na to aby si videl suvislosti vies previazat log messages cez nejake correlationID ktore si nesies s behom daneho procesu a ked to mas nasypane v databaze tak podla toho to hned vies filtrovat a ostatnych 100000 messages ta nezaujima.
ako niekto spomenul - ukladat to do ElasticSearch je celkom dobre riesenie . realne mame cez 200mil log messages ,ma to asi 100GB (su tam produkcne logy asi za pol roka s tym ze Debug a Trace message mazeme po 2 tyzdnoch, zostava len Info, Warn, Error)