Projekt

Obecné

Profil

Požadavek #1031

otevřený

Logování (pro data retention) - přidat ID uživatele

Přidáno uživatelem Tomáš Dulík před více než 8 roky(ů). Aktualizováno před více než 8 roky(ů).

Stav:
Nový
Priorita:
Normální
Přiřazeno:
-
Kategorie:
Doplňkové služby
Cílová verze:
-
Začátek:
2015-11-21
Uzavřít do:
% Hotovo:

0%

Odhadovaná doba:
16:00hod

Popis

Při diskusi o implementaci data retention ve Freenetisu padl dotaz, jak máme vyřešenu situaci, kdy uživateli X smažeme IP adresu (např. při smazání zařízení) a po čase ji přidělíme uživateli Y. Pak ale předchozí provoz z té smazané adresy bude vypadat jako provoz uživatele Y.

Jednoduché řešení by bylo do logu provozu ke každému řádku přidat ID uživatele, jemuž IP adresa v dané chvíli patří.

Ale: MySQL server loggeru by obecně měl jet na jiném fyzickém stroji než DB Freenetisu, navíc kvůli výkonu není možné při ukládání řádků logu pokaždé dotazovat DB Freenetisu o to, komu daná IP adresa patří.
To bychom vyřešili tak, že 1x denně (nebo 1x za hodinu) natáhneme do DB loggeru z DB Freenetisu pomocnou temporaray tabulku "IP_adresa - ID uživatele", která by kvůli výkonu byla v RAM, tj.:

CREATE TEMPORARY TABLE neco.temp_table_memory (....) ENGINE=MEMORY;

Aktualizováno uživatelem Ondřej Fibich před více než 8 roky(ů)

Pokud budeme implementovat až pro 1.2, pak můžeme použít FreenetIS API pro získání asociativního pole IP->ID uživatele a tím udělat čistší řešení.

Pak je tu jen jedna poznámka, uživatelé jsou mazatelní, možná by bylo lepší použít ID člena.

Aktualizováno uživatelem Michal Kliment před více než 8 roky(ů)

Ahojte,

toto všechno už mám vymyšlené, akorát jsem to neměl čas to sem zapsat ;-)

Měl by vzniknout samostatný a na FreenetISu de facto skoro úplně
nezávislý balík freenetis-traffic (případně freenetis-logger) pro
logování provozu.

FreenetIS by si pak data o provozu tahal přes jeho API až na požádání,
ve FreenetiSu samotném by o provozu nebylo uložené nic.

Jednou denně by se něj akorát z FreenetISu synchronizovala aktuálně
databáze členů a jejich IP adres. Tady o u této synchronizaci přemýšlím
o nějaké samostatné mezivrstvě, protože sync členů a IP adres se řeší ve
více balících (například v Qosu).

M.

Také k dispozici: Atom PDF