Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.
Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.
Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).
Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."
Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.
Zdravim
Extrémisty, kteří se odhodlali vyzkoušet můj měřící soft pro iGW NetCount jiste vyděsil způsob ukládání dat. Nebudu to moc pitvat, je to strašné.
Rozhodl jsem se to přestavět na client-server řešení s použitím MySQL databáze. Měření bude možné na vícero iGW a zobrazovat se to bude na centrálním serveru. Data se budou po síti posílat přímo do databáze.
Potřeboval bych ovšem trochu poradit s návrhem databázové struktury. Data jsou měřena v 5 minutových intervalech a vždy při měření se čítač resetuje. Tohle řešení lze změnit, ale nenapadá mě jak změnit k lepšímu.
V současnosti se vždy po naměření sady hodnot aktuální data přičtou k datům pro dny, týdny, měsíce a roky a ty prvotní 5 minutová data se ještě uloží do RRD souboru, kde visí prakticky navěky.
Na ukládání dnů, týdnů, měsíců a roků zvlášt netrvám. Naopak si myslím že by bylo lepší tohle zrušit a počítat to až při konečném požadavku na zobrazení dat.
Napadlo mě tedy do databáze ukládat pouze ty 5 minutové přírůstky. Tedy takhle:
ip data-in data-out timestamt igw 10.193.120.14 4564 234 10-07-2006 14:25 1
Co je ip, data-in a data-out je jasne. Timestamp je taky jasny, jen by asi bylo vhodne zvolit nejaky typ timestampu, ktery se uvnitr mysql lepe zpracovava (bude velice potreba, viz nize). No a cislo iGW uz slouzi jen pro identifikaci pri zobrazeni dat. Vpodstate tam neni potreba. Tuto informaci si podle ip muzu vytahnout z jine tabulky (v mem pripade). Tatu funkcionalita tam však bude pro jiné uživatele.
Zobrazování dat by pak probíhalo způsobem, že bych stvořil dotaz, ve kterém bych chtěl součty data-in a data-out od-do určitých timestampů. Takže program by vlastně jen generoval potřebné timestampy od-do a databáze by dodala součet dat v tomto rozmezí.
Při zobrazování dat to sice bude vcelku dost počítání pro databázi, ale zase naopak ukládání dat je absolutně primitivní a to se provádí přecijen řádově častěji.
Takže o co mi vlastně jde: Chtěl bych znát váš názor, zda je to dobrý nápad to takhle udělat a nebo jestli to mám udělat jinak (jak).
Až to bude hotové, tak to bude myslím si soft co bude vcelku užitečný, protože žádný co jsem našel nebyl stavěný pro přímé měření více iGW v jedné síti najednou.
Takže díky všem.
Zdeněk
Tiskni
Sdílej:
A teze, že se jí ujme skupina a bude tuto MySQL verzi udržovat považuji předem za nemístnou utopii.
Tak úplně nemístná utopie to není, třeba InterBase tohle štěstí měla. Ale také to nebylo úplně bez problémů a svou roli hrála i skutečnost, že se na tom podílela podstatná část klíčových vývojářů. V každém případě souhlasím, že to rozhodně nelze považovat za automatické a bezproblémové.
Na druhou stranu bych nebyl tak skeptický k životaschopnosti GPL-forku MySQL. Přeci jen je dost firem, které mají nad MySQL postavené své projekty (i když ten software je obvykle pouze pro vlastní potřebu a nikam se nešíří). Tyto firmy by asi byly ochotny udržení GPL-forku při životě podporovat. Souhlasím ale s názorem, že otázka dalšího vývoje by v takovém případě byla více než sporná.
a nebude vobec zalezat na tom, kto a kde si to chce ulozit, jedine, co bude musiet autor specifikovat, je vstup, ktory dostanu tie programceky.
<source>:<timestamp>:<name>:<value>\nkde:
tym padom vzniknu tabulky:
source id int (autoincrement/serial/ ...) name text name id int name text log id int source int references source on delete cascade, timestamp int name int references source on delete cascade, value int8/double
ip (inet) | data (bigint) | packets (bigint) | direction (BOOL/NUMERIC(1)) | timestamp (NUMERIC(11))
direction urcuje jestli jsou ty data prichozi ci odchozi. Nad tabulkou s hodinovymi soucty mam udelany pohled, ktery mi spoji prichozi a odchozi data k dane IP v danem case do jednoho radku. Nad timto pohledem mam pak vystavene generovani statistik.
Z nasbiranych 5ti minutovych souctu nacpu data do rrd databaze a z te pak pri pozadavku na informace o dane IP nageneruji graf.
typ numeric na timestamp asi nebude uplne idelani a nejspis snizuje vykon... No snad se dostanu k tomu to zmenit na neco rozumnejsiho.
DjAARA
ip (inet) | name (varchar(30))
postgresql:
create function get_user_id (cidr) returns int immutable language 'sql' 'select id from user_ip where ip = $1'; insert into log (time, uid, value) values ($1, get_user_id($2), $3)50 userov/200 ip, 3000 insertov/s na prvy milion
Zpusob groupovani/ukladani do databaze si kazdy predstavuje trochu jinak.Ano, zalezi na pozadavcich co z toho budu potrebovat, k cemu to ma slouzit atp..
Ale i to co pisete ma neco do sebe. Nicmene rozhrani z ktereho to jde z logu StarOSu nejspis nepoznam.Logy StarOSu neznam. Kazdopadne kdyz jsem se o nej zajimal meli tam hezky backdoor, ktery snad uz odstranili nebo premistili jinam :) Jako interface jsem spis myslel logicky interface, ktery mam popsany ip adresou + mac adresou (v pripade, ze ji k necemu budu chtit pouzit).
A paterni router, ktery to pak posila na 2 ruzne linky do internetu je hlidany (monitorovany) samostatne.Pod monitoringem serveru/routeru si predstavuju spis trochu jine veci nez hlidani prutoku dat od jednotlivych uzivatelu.
Ja osobne potrebuji vedet ktera IP je v ramci HFN nejaktivnejsi a na pripadne zlobily pustit shaping.Melo by stacit znat ip daneho klienta a data in/out (pripadne pocty paketu). Bylo by mozne to jeste rozdelit na traffic uvnitr site, ven a podle nejakych pravidel vypocitat zda uz prekrocil hranici na to aby se jemu zapnul shapping. Pokud chci vedet s kym komunikoval tak uz holt potrebuju o cilovou ip navic cimz neumerne narusta pocet zaznamu.
No to je 1000dotazu/5 min na _jednu_ IP z vnitrni site, kdyz budete mit v siti 1000 IP (dobre my mame kolem 55 lidi on-line za den, ve spickach kolem 80-90 IP, celkem vedeme 237 IP), tak uz jsme na milionu dotazu za 5 min. Ne ze by to bylo nejak extremne mnoho.No neni potreba delat takove mnozstvi dotazu na kazdou ip. Jelikoz uz vlastnim log tak si jej preparsuju do svych struktur jak potrebuji, vyberu si z nej vsechny ip a aplikovat filtr, ktery me rika zda je to interni ip, externi[venkovni internetove] (muze pracovat v podstate na znalosti podsiti, ktere jsou uvnitr pouzivany), necht se stanou unikatnimi, provedu jeden dotaz do db, kterym vyberu idcka jim odpovidajci, nahradim ipcka u sebe jejich idckama, jednim/nekolika dotazy to ulozim. (pomerne rychle reseni, melo by to jit resit i na urovni sql dotazu[s trochu jinym prubehem], ale sql zas na tolik neumim :)) takze ve vysledku mam 1 select + 1 nebo nekolik insertu (je rychlejsi ukladat vice hodnot najednou)
CREATE TABLE `prenosy` ( `ip` int(11) unsigned NOT NULL default '0', `upload` bigint(20) unsigned default '0', `download` bigint(20) unsigned default '0', `cas` bigint(20) unsigned NOT NULL default '0', `sonda` tinyint(4) unsigned NOT NULL default '0', KEY `ip` (`ip`), KEY `sonda` (`sonda`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;Přičemž ip adresy ukládám ve formátu, který tvoří ip2long().
Divné, když jsem dělal redakční systém, tak mi tu všichni doporučovali ať s tím skončím, že tu každý webdesigner dělá svůj vlastní radakční systém. Dnes zas asi každý dělá tenhle měřící systém.Sice je to pravda, ze si to dnes pise skoro kazdy jelikoz nic pouzitelneho a nolne dostupneho neexistuje, ale jak taky ty projekty dopadaji... Vetsinou dalsi kus toho sameho nepouzitelneho software..
Přičemž ip adresy ukládám ve formátu, který tvoří ip2long().
Jinak řečeno je konvertujete zpět do jejich skutečné podoby… :-)
libiptc
) a parsováním výstupu příkazu iptables
? Je jasné, že první varianta bude rychlejší, ale zajímalo by mne, jestli to stojí za to.