Project

General

Profile

Požadavek #1031

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

Added by Tomáš Dulík over 3 years ago. Updated over 3 years ago.

Status:
Nový
Priority:
Normální
Assignee:
-
Category:
Doplňkové služby
Target version:
-
Start date:
11/21/2015
Due date:
% Done:

0%

Estimated time:
16.00 h

Description

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;

History

#1

Updated by Ondřej Fibich over 3 years ago

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.

#2

Updated by Michal Kliment over 3 years ago

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.

Also available in: Atom PDF