Hello Jabriel.
Dne sreda 09 marec 2005 11:36 je Jabriel Tezser napisal(a):
> Hi,
> I've a problem to getting byte-in and byte-out when processing accounting to
> database on freeradius.
> Anybody have experience on this?
I use this to log bytes-in/out and packets-in/out + other data to the
MySQL database:
CREATE TABLE ACCOUNTING (
`User-Name` varchar(100) NOT NULL default '',
`Calling-Station-Id` varchar(100) NOT NULL default '',
`Client-IP-Address` varchar(100) NOT NULL default '',
`Called-Station-Id` varchar(100) NOT NULL default '',
`NAS-Port` int(10) unsigned NOT NULL default '0',
`Timestamp Start` datetime NOT NULL default '0000-00-00 00:00:00',
`Timestamp Dhcp` datetime NOT NULL default '0000-00-00 00:00:00',
`Timestamp Stop` datetime NOT NULL default '0000-00-00 00:00:00',
`Acct-Unique-Session-Id` varchar(100) NOT NULL default '',
`Acct-Session-Time` int(10) unsigned NOT NULL default '0',
`Acct-Input-Octets` int(10) unsigned NOT NULL default '0',
`Acct-Output-Octets` int(10) unsigned NOT NULL default '0',
`Acct-Input-Packets` int(10) unsigned NOT NULL default '0',
`Acct-Output-Packets` int(10) unsigned NOT NULL default '0',
`Acct-Terminate-Cause` varchar(100) NOT NULL default ''
) TYPE=MyISAM;
Of course you will need to check your NAS and see the actual
attribute names. These are for the Cisco AP12xx.
sql.conf:
sql {
driver = "rlm_sql_mysql"
server = "localhost"
login = "<mysql user>"
password = "<mysql password>"
radius_db = "radius"
accounting_start_query = "INSERT into ACCOUNTING SET\
`User-Name` = '%{User-Name}',\
`Calling-Station-Id` = '%{Calling-Station-Id}',\
`Called-Station-Id` = '%{Called-Station-Id}',\
`NAS-Port` = %{NAS-Port},\
`Timestamp Start` = NOW(),\
`Acct-Unique-Session-Id` = '%{Acct-Unique-Session-Id}'
"
accounting_update_query = "UPDATE ACCOUNTING SET\
`Acct-Session-Time` = '%{Acct-Session-Time}',\
`Acct-Input-Octets` = '%{Acct-Input-Octets}',\
`Acct-Output-Octets` = '%{Acct-Output-Octets}',\
`Acct-Input-Packets` = '%{Acct-Input-Packets}',\
`Acct-Output-Packets` = '%{Acct-Output-Packets}'\
WHERE `Acct-Unique-Session-Id` = '%{Acct-Unique-Session-Id}'\
LIMIT 1
"
accounting_stop_query = "UPDATE ACCOUNTING SET\
`Timestamp Stop` = NOW(),\
`Acct-Session-Time` = '%{Acct-Session-Time}',\
`Acct-Input-Octets` = '%{Acct-Input-Octets}',\
`Acct-Output-Octets` = '%{Acct-Output-Octets}',\
`Acct-Input-Packets` = '%{Acct-Input-Packets}',\
`Acct-Output-Packets` = '%{Acct-Output-Packets}',\
`Acct-Terminate-Cause` = '%{Acct-Terminate-Cause}'\
WHERE `Acct-Unique-Session-Id` = '%{Acct-Unique-Session-Id}'\
LIMIT 1
"
}
--
lep pozdrav,
Rok Papež.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html