abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 13:55 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice zveřejnila čtyřiapadesátistránkovou výroční zprávu za rok 2019. K dispozici je v nízkém (6,4 MB) i vysokém (53,2 MB) rozlišení. Nadace také publikovala statistiky související s LibreOffice 7.0. Před týdnem vydaná verze byla z oficiálních stránek stažena již 423 tisíckrát.

Ladislav Hagara | Komentářů: 0
včera 13:33 | Zajímavý článek

Když se řekne „jmenný prostor“ hodně lidí si představí xmlns v XML nebo balíčky v Javě odvozené od internetových domén. Jmenné prostory jsou ale obecný koncept se kterým se setkáme prakticky všude a odvozovat je můžeme i jinak. Článek Jména a jmenné prostory dává toto téma do souvislostí a ukazuje různé způsoby tvorby jmenných prostorů. Nahlédneme i do zajímavého světa RDF a ukážeme si, jak vytvářet URI, která budou globálně unikátní jednou provždy.

xkucf03 | Komentářů: 0
včera 08:00 | Nová verze

Po více než čtyřech měsících vývoje od vydání verze 5.4 byla vydána nová verze 5.5 svobodného open source redakčního systému WordPress. Kódové označení Eckstine bylo vybráno na počest amerického jazzového zpěváka Billy Eckstine.

Ladislav Hagara | Komentářů: 0
včera 07:00 | Nová verze

Po půl roce vývoje od vydání verze 1.14 byla vydána nová verze 1.15 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
včera 01:10 | Nová verze
Vyšla nová verzia Firefox 79.0.3 pre android. Prináša zmenené rozhranie (práca s taby, vytváranie kolekcií stránok a možnosť mať hlavnú lištu už aj dole na obrazovke). V backhand zaujme používateľa, že odsek vie zalamovať podľa šírky obrazovky. (viac)
debian+ | Komentářů: 13
11.8. 18:00 | Komunita

Mitchell Baker v příspěvku Changing World, Changing Mozilla na blogu Mozilly píše o měnícím se světě a měnící se Mozille aneb výrazné restrukturalizaci společnosti Mozilla Corporation. Propuštěno bude 250 zaměstnanců.

Ladislav Hagara | Komentářů: 42
11.8. 17:00 | Zajímavý článek

O novince Swap na ZRAM, jež se objeví ve Fedoře 33, píše Vojtěch Trefný na MojeFedora.cz. Ve výchozí instalaci Fedory bude swap, neboli odkládací prostor, vytvořen již pouze na ZRAM, neboli komprimován v paměti.

Ladislav Hagara | Komentářů: 13
11.8. 16:00 | Nová verze

Po více než 6 letech byla vydána nová verze 2.4.0 open source 2D fyzikálního enginu Box2D (Wikipedie). Videopředstavení na YouTube.

Ladislav Hagara | Komentářů: 2
11.8. 09:00 | Bezpečnostní upozornění

Příspěvek na blogu společnosti Check Point Software Technologies informuje o více než 400 zranitelnostech v SoC Snapdragon od společnosti Qualcomm. Detailněji v přednášce na YouTube z letošní konference DEF CON.

Ladislav Hagara | Komentářů: 9
11.8. 08:00 | Nová verze

Projekt KDE neon poskytuje oficiální sestavení prostředí Plasma a aplikací pro uživatele nebo vývojáře, testery aj. Základem systému je Ubuntu s dlouhodobou podporou, nově 20.04 „Focal Fossa“. Povýšení z předchozího 18.04 je možné. Jelikož obsahuje nejnovější vydání z upstreamu, závisí také na novější verzi knihoven Qt, což může v některých případech vést ke konfliktům s balíčky aplikací z repozitářů Ubuntu; např. Plasma 5.19 závisí na Qt 5.14 namísto verze 5.12 dostupné v Ubuntu.

Fluttershy, yay! | Komentářů: 0
Dokážete si představit, že by váš hlavní počítač (desktop, notebook) byl v současné době založen na architektuře jiné než x86 (x86_64)? Například ARM, POWER, RISC-V,…
 (13%)
 (12%)
 (55%)
 (14%)
 (5%)
Celkem 244 hlasů
 Komentářů: 14, poslední 10.8. 19:58
Rozcestník

Dotaz: Efektivní parsování logu

13.9.2019 10:42 Jirka
Efektivní parsování logu
Přečteno: 452×
Dobrý den.
Hledám možnost, jakou bych efektivně mohl parsovat logy za nějaké konkrétní časové období.
Existuje nějaký "jednoduchý" způsob, jak z logu vysypat všechno, např. ze dne 01.09.2019 v čase 09:00 - 10:15 ?

Vzorový řádek z logu
194.xxx.17x.yyy - - [13/Sep/2019:09:51:27 +0200] "GET /nejaky-obsah-bla-bla-bla/ HTTP/2.0" 301 275 "https://www.domena.cz/nejaky-obsah-bla-bla-bla" "Mozilla/5.0 (Linux; Android 6.0.1; Redmi 3S Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.132 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/238.0.0.41.116;]"

Děkuji.

Odpovědi

13.9.2019 11:17 Peter Golis | skóre: 60 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Pre tento typ prípadu je ideál to mať v DB, a dáta vyťahovať selectom.
13.9.2019 11:22 Jirka
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Že bych jako syslog nebo nginx logy ukládal do DB ?
...to fakt ne ;-)


Děkuji.
13.9.2019 12:42 rich
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Ale moznost to je...
https://www.rsyslog.com/doc/v8-stable/tutorials/database.html
Jinak opravdu "jednoduchy" zpusob je awk, grep atd.
13.9.2019 13:24 Peter Golis | skóre: 60 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Problém je ale ako potom zložiť dopyt typu SELECT blah FROM SystemEvents WHERE FromHost=:hostname AND DeviceReportedTime between "...:..." AND "...:..." .
13.9.2019 23:41 Miloslav Ponkrác
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Na některých pomalejších strojích, kde je málo požadavků mám log v databázi, a nemohu si to vynachválit.

Je rozložen do několika tabulek, aby to bylo kratší.

Například je tabulka hodnot UserStringů a v logu je jenom id. Po několika letech provozu mám asi 1000 různých UserStringů a už to nepřibývá. Log je díky tomu velice malý.

Tam kde to lítá, je samozřejmě log v databázi skoro nesmysl.
13.9.2019 11:31 Ivan
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Tohle dela Splunk anebo ELK. Tezko rict jak "jednoduchy" je takovy tool zacit pouzivat.

wamba avatar 13.9.2019 13:52 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Efektivní parsování logu

Vždycky si můžeš napsat script v nějakým jazyce. Např. v Perlu 6

use v6.c;
constant %months = %(<Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec> Z=> 1..12);

sub tag-by-DateTime ($log-line) {
    $log-line
    andthen .match: rx{
        '[' $<day>= \d **2
        '/' $<month-string>= \w **3
        '/' $<year>= \d **4
        ':' $<hour>= \d **2
        ':' $<minute>= \d **2
        ':' $<sec>= \d **2
        ' '<[+-]> \d ** 4
        ']'
    }
    andthen %(.hash, "month" => %months{$<month-string>})
    andthen DateTime.new: |$_
}

sub MAIN (
    :$file = '/var/log/httpd/access_log',
    :$from = DateTime.now.earlier(:1day).Str,
    :$to   = DateTime.now.Str,
) {
    my @log = lines $file.IO;

    @log
    andthen .map: {tag-by-DateTime($_) => $_}\
    andthen .grep: {.key ~~ DateTime.new($from) .. DateTime.new($to)}\
    andthen .map: *.value.put
}
a pak
perl6 ./read-log-by-date-abc.p6 -file=/var/log/httpd/access_log  -from=2016-08-21T12:50:00 -to=2016-08-21T13:37:00

Pár poznámek:

  • je to napsáno jen tak narychlo,
  • nejvíce kódu zabírá parsování data a času je lepší si najít knihovnu, která to udělá za tebe. (tz ignoruji)
  • nepředpokládá, že řádky jsou seřazeny podle data, tedy na velkých souborech to bude zbytečně pomalé.
  • například následující: :$to = DateTime.now.Str, je hodně neelegantní atp.
This would have been so hard to fix when you don't know that there is in fact an easy fix.
13.9.2019 14:48 OldFrog {Ondra Nemecek} | skóre: 33 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Pokud používáte systemd, tak něco umí journalctl:
journalctl --since= --until= ...
To logování do databáze taky nemusí být špatný nápad, jsou i specializované řešení pro tento účel.
-- OldFrog
13.9.2019 23:37 Miloslav Ponkrác
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Program nebo skript, který by provedl požadované bych napsal za pár minut. Rozhodně rychlejší než hledat nějaký nástroj.

Možná bych si to během programování předvysypal grepem na řetězec [01/Jun/2019:
14.9.2019 13:04 Kit | skóre: 44 | Brno
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Pro tyto účely používám AWK. Umí filtrovat a parsovat vstup i formátovat výstup. Když je třeba, zvládne porovnat záznamy mezi sebou i agregovat data.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
14.9.2019 15:51 MP
Rozbalit Rozbalit vše Re: Efektivní parsování logu
Graylog + logy v jsonu a na nejaky awk apod si ani nevzpomenete pro bezne pouziti.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.