Re: [lms] statystyki klienta - freeradius
Witam
Fajny pomysł, chętnie pomogę. Tylko jak zmusić radius'a do zapytań co 10 min o stan sessi pppoe na MT
pozdrawiam bleblas
Tak wiem, że są gotowce jednak z ich modyfikacją nie mogę sobie poradzić. Już poniżej pisałem swoje wypociny odnośnie zapytania do bazy. Ktoś pomoże je dorobić?
.................. pozdrawiam Mb
*From:*lms [mailto:lms-bounces@lists.lms.org.pl] *On Behalf Of *Marcin *Sent:* Monday, April 13, 2015 4:38 PM *To:* lista użytkowników LMS *Subject:* Re: [lms] statystyki klienta - freeradius
W radiusie masz "gotowce" acct, wystarczy je lekko zmodyfikować.
Witam
Chciałbym aby przy aktualizacji danych Klienta przez freeradiusa do bazy lmsa była również aktualizowana tabela stats odpowiedzialna za statystyki łącza jak i klientów (ilość pobranych danych ostatnia godzina/ dzien/tydzień/miesiąc)
Czyli co 10min mikrotiki wysyłają dane o ilości pobranych bajtów przez klientów i radius zapisuje do tabeli:
·Id komputera
·czas wpisu
·Upload
·Download
·Id sesji
Może ktoś pomóc jak ma wygalać odpowiedni wpis?
Takie moje wypociny poniżej;
$utsfmt = "UNIX_TIMESTAMP()"; $ipaddr = '%{Framed-IP-Address}' my $dbq = $dbase->prepare("SELECT id, inet_ntoa(ipaddr) AS ipaddr FROM nodes");
stats = "INSERT into stats \ (nodeid, dt, upload, download, nodesessionid) \ VALUES ($ipaddr, $utsfmt, '%{Acct-Input-Octets}', '%{Acct-Output-Octets}','%{Acct-Session-Id}')
.................. pozdrawiam
MB
Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ ochrona avast! Antivirus http://www.avast.com/ jest aktywna.
lms mailing list lms@lists.lms.org.pl mailto:lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ ochrona avast! Antivirus http://www.avast.com/ jest aktywna.
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
18 kwi 2015 09:35 "Łukasz Łuczak" lukasz@maxnet.66.pl napisał(a):
Witam
Fajny pomysł, chętnie pomogę. Tylko jak zmusić radius'a do zapytań co 10
min o stan sessi pppoe na MT
Interim-update = 600
pozdrawiam bleblas
Tak wiem, że są gotowce jednak z ich modyfikacją nie mogę sobie
poradzić. Już poniżej pisałem swoje wypociny odnośnie zapytania do bazy. Ktoś pomoże je dorobić?
.................. pozdrawiam Mb
From: lms [mailto:lms-bounces@lists.lms.org.pl] On Behalf Of Marcin Sent: Monday, April 13, 2015 4:38 PM To: lista użytkowników LMS Subject: Re: [lms] statystyki klienta - freeradius
W radiusie masz "gotowce" acct, wystarczy je lekko zmodyfikować.
Witam
Chciałbym aby przy aktualizacji danych Klienta przez freeradiusa do bazy
lmsa była również aktualizowana tabela stats odpowiedzialna za statystyki łącza jak i klientów (ilość pobranych danych ostatnia godzina/ dzien/tydzień/miesiąc)
Czyli co 10min mikrotiki wysyłają dane o ilości pobranych bajtów przez
klientów i radius zapisuje do tabeli:
· Id komputera
· czas wpisu
· Upload
· Download
· Id sesji
Może ktoś pomóc jak ma wygalać odpowiedni wpis?
Takie moje wypociny poniżej;
$utsfmt = "UNIX_TIMESTAMP()"; $ipaddr = '%{Framed-IP-Address}' my $dbq = $dbase->prepare("SELECT id, inet_ntoa(ipaddr) AS ipaddr FROM
nodes");
stats = "INSERT into stats \ (nodeid, dt, upload, download, nodesessionid) \ VALUES ($ipaddr, $utsfmt, '%{Acct-Input-Octets}',
'%{Acct-Output-Octets}','%{Acct-Session-Id}')
.................. pozdrawiam
MB
Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania,
ponieważ ochrona avast! Antivirus jest aktywna.
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania,
ponieważ ochrona avast! Antivirus jest aktywna.
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
--
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
witam zmieniełem ten paramet na MT
ppp/aaa/
ale dalej niema w bazie informacji o sesji aktualnie nawiozanej, tylko o zakonczonych
Interim-update = 600
nie na MT (choć tego nie testowałem) ale radius musi przy acct odpowiedzieć parametreme Interim-Update, wówczas serwer PPPoE będzie co zadany czas robił accounting do radiusa. Zmiana parametru na MT podczas już nawiązanych sesji niczego nie da, dopiero dla nowo tworzonych połączeń.
w radiusie w sql odpowiada za to parametre acct-update (piszę z pamięci), jest jescze acct-start i acct-stop mówiące same za siebie.
W dniu 18 kwietnia 2015 09:47 użytkownik Łukasz Łuczak lukasz@maxnet.66.pl napisał:
witam zmieniełem ten paramet na MT
ppp/aaa/
ale dalej niema w bazie informacji o sesji aktualnie nawiozanej, tylko o zakonczonych
Interim-update = 600
--
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Re
Samego parametru Interim-Update nie moge znaleść w konfigach od freeradiusa
acct-update mam w sql.conf od zawsze, ale nie wydać w bazie w radacct nigdy aktualnych sessji tylko zawsze zamknięte. sql.conf mam zrobionego na podstawie radius-lms.conf
accounting_update_query = "UPDATE ${acct_table1} \ SET FramedIPAddress = '%{Framed-IP-Address}', \ AcctSessionTime = '%{Acct-Session-Time}', \ AcctInputOctets = '%{Acct-Input-Octets}', \ AcctOutputOctets = '%{Acct-Output-Octets}' \ WHERE AcctSessionId = '%{Acct-Session-Id}' \ AND UserName = '%{SQL-User-Name}' \ AND NASIPAddress= '%{NAS-IP-Address}'"
accounting_update_query_alt = "INSERT into ${acct_table1} (AcctSessionId, AcctU niqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctSess ionTime, AcctAuthentic, ConnectInfo_start, AcctInputOctets, AcctOutputOctets, CalledSta tionId, CallingStationId, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay) values('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm }', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', DATE_SUB('%S',INTERVAL (%{A cct-Session-Time:-0} + %{Acct-Delay-Time:-0}) SECOND), '%{Acct-Session-Time}', '%{Acct- Authentic}', '', '%{Acct-Input-Octets}', '%{Acct-Output-Octets}', '%{Called-Station-Id} ', '%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Addre ss}', '0')"
nie na MT (choć tego nie testowałem) ale radius musi przy acct odpowiedzieć parametreme Interim-Update, wówczas serwer PPPoE będzie co zadany czas robił accounting do radiusa. Zmiana parametru na MT podczas już nawiązanych sesji niczego nie da, dopiero dla nowo tworzonych połączeń.
w radiusie w sql odpowiada za to parametre acct-update (piszę z pamięci), jest jescze acct-start i acct-stop mówiące same za siebie.
W dniu 18 kwietnia 2015 09:47 użytkownik Łukasz Łuczak <lukasz@maxnet.66.pl mailto:lukasz@maxnet.66.pl> napisał:
witam zmieniełem ten paramet na MT ppp/aaa/ ale dalej niema w bazie informacji o sesji aktualnie nawiozanej, tylko o zakonczonych
Interim-update = 600
-- *<http://www.maxnet.66.pl/>* _______________________________________________ lms mailing list lms@lists.lms.org.pl <mailto:lms@lists.lms.org.pl> http://lists.lms.org.pl/mailman/listinfo/lms
-- Pozdrawiam Marcin / nicraM
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Coś masz kolego nie tak. Parametr Interim-Update konfiguruje się na mikrotiku(koncentratorze). Wpisy dotyczące aktualizacji danych powinny wyglądać tak:
accounting_onoff_query = "UPDATE ${acct_table1} \
SET AcctStopTime='%S', \
AcctSessionTime=unix_timestamp('%S') - unix_timestamp(AcctStartTime), \
AcctTerminateCause='%{Acct-Terminate-Cause}', \
AcctStopDelay = '%{Acct-Delay-Time}' \
WHERE AcctSessionTime=0 \
AND AcctStopTime=0 \
AND NASIPAddress= '%{NAS-IP-Address}' AND AcctStartTime <= '%S'"
accounting_update_query = "UPDATE ${acct_table1} \
SET FramedIPAddress = '%{Framed-IP-Address}', \
AcctSessionTime = '%{Acct-Session-Time}', \
AcctInputOctets = '%{Acct-Input-Octets}', \
AcctOutputOctets = '%{Acct-Output-Octets}' \
WHERE AcctSessionId = '%{Acct-Session-Id}' \
AND UserName = '%{SQL-User-Name}' \
AND NASIPAddress= '%{NAS-IP-Address}'"
accounting_start_query = "INSERT into ${acct_table1} \
(AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, \
NASPortType, AcctStartTime, AcctStopTime, AcctSessionTime, AcctAuthentic, \
ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, \
CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, \
FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay) \
VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', \
'%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', \
'%S', '0', '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', \
'%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', \
'%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Acct-Delay-Time}', '0')"
accounting_stop_query = "UPDATE ${acct_table2} \
SET AcctStopTime = '%S', AcctSessionTime = '%{Acct-Session-Time}', \
AcctInputOctets = '%{Acct-Input-Octets}', AcctOutputOctets = '%{Acct-Output-Octets}', \
AcctTerminateCause = '%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time}', \
ConnectInfo_stop = '%{Connect-Info}' \
WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' \
AND NASIPAddress = '%{NAS-IP-Address}';\
UPDATE nodes SET lastonline = unix_timestamp() WHERE name='%{User-Name}'"
.................. pozdrawiam Mb
From: lms [mailto:lms-bounces@lists.lms.org.pl] On Behalf Of Łukasz Łuczak Sent: Monday, April 20, 2015 9:18 AM To: lista użytkowników LMS Subject: Re: [lms] statystyki klienta - freeradius
Re
Samego parametru Interim-Update nie moge znaleść w konfigach od freeradiusa
acct-update mam w sql.conf od zawsze, ale nie wydać w bazie w radacct nigdy aktualnych sessji tylko zawsze zamknięte. sql.conf mam zrobionego na podstawie radius-lms.conf
accounting_update_query = "UPDATE ${acct_table1} \ SET FramedIPAddress = '%{Framed-IP-Address}', \ AcctSessionTime = '%{Acct-Session-Time}', \ AcctInputOctets = '%{Acct-Input-Octets}', \ AcctOutputOctets = '%{Acct-Output-Octets}' \ WHERE AcctSessionId = '%{Acct-Session-Id}' \ AND UserName = '%{SQL-User-Name}' \ AND NASIPAddress= '%{NAS-IP-Address}'"
accounting_update_query_alt = "INSERT into ${acct_table1} (AcctSessionId, AcctU niqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctSess ionTime, AcctAuthentic, ConnectInfo_start, AcctInputOctets, AcctOutputOctets, CalledSta tionId, CallingStationId, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay) values('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm }', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', DATE_SUB('%S',INTERVAL (%{A cct-Session-Time:-0} + %{Acct-Delay-Time:-0}) SECOND), '%{Acct-Session-Time}', '%{Acct- Authentic}', '', '%{Acct-Input-Octets}', '%{Acct-Output-Octets}', '%{Called-Station-Id} ', '%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Addre ss}', '0')"
nie na MT (choć tego nie testowałem) ale radius musi przy acct odpowiedzieć parametreme Interim-Update, wówczas serwer PPPoE będzie co zadany czas robił accounting do radiusa.
Zmiana parametru na MT podczas już nawiązanych sesji niczego nie da, dopiero dla nowo tworzonych połączeń.
w radiusie w sql odpowiada za to parametre acct-update (piszę z pamięci), jest jescze acct-start i acct-stop mówiące same za siebie.
W dniu 18 kwietnia 2015 09:47 użytkownik Łukasz Łuczak lukasz@maxnet.66.pl napisał:
witam zmieniełem ten paramet na MT
ppp/aaa/
ale dalej niema w bazie informacji o sesji aktualnie nawiozanej, tylko o zakonczonych
Interim-update = 600
uczestnicy (3)
-
Marcin
-
Michał Bochniak
-
Łukasz Łuczak