Updates
authoraland <aland>
Tue, 19 Jul 2005 23:05:46 +0000 (23:05 +0000)
committeraland <aland>
Tue, 19 Jul 2005 23:05:46 +0000 (23:05 +0000)
man/man5/rlm_sql_log.5

index c9b9f76..29cf77d 100644 (file)
@@ -3,13 +3,36 @@
 rlm_sql_log \- FreeRADIUS Module
 .SH DESCRIPTION
 The \fBrlm_sql_log\fP module appends the SQL queries in a log file
-which is read later by the radsqlrelay program.
+which is read later by the scripts/radsqlrelay Perl program.
 .PP
+The purpose of this module is to de-couple the storage of long-term
+accounting data in SQL from "live" information needed by the RADIUS
+server as it's running.  If you are not using SQL for simultaneous
+login restrictions (i.e. "sql" is not listed in the "session" section
+of "radiusd.conf"), then this module allows you to log SQL queries to
+a file, and then process them at your leisure.
+.PP
+The benefit of this approach is that for a busy server, the overhead
+of performing SQL qeuries may be significant.  Also, if the SQL
+databases are large (as is typical for ones storing months of data),
+the INSERTs and UPDATEs may take a relatively long time.  Rather than
+slowing down the RADIUS server by having it interact with a database,
+you can just log the queries to a file, and then run those queries on
+another machine, or at a time when the RADIUS server is typically
+lightly loaded.
+.PP
+If the "sql" module is listed in the "session" section of
+"radiusd.conf", then a similar system can still be used.  In that
+case, one database would be used to maintain "live" session
+information.  That database would be small, fast, and information
+would be deleted from it when a user logs out.  A second database
+would store long-term accounting information, as described above.
+.SH LIMITATIONS
 This module only performs the dynamic expansion of the variables found
 in the SQL statements. No operation is executed on the database server.
-(this could be done later by an external program) That means the module
+(this would be done later by an external program) That means the module
 is useful only with non-"SELECT" statements.
-.PP
+.SH CONFIGURATION
 The main configuration items to be aware of are the path of the log
 file and the different SQL queries.
 .IP "path"
@@ -19,14 +42,16 @@ expansion, and can include FreeRADIUS variables to create a dynamic
 filename)
 .IP "Accounting queries"
 When a accounting record is processed, the module searches a config
-entry named like the Acct-Status-Type attribut present in the
-packet. For example, if a SQL query has to be run on an accounting
-start, the entry must be named "Start". Other usual values for
-Acct-Status-Type are "Stop", "Alive", "Accounting-On", etc.
+entry keyed by the Acct-Status-Type attribute present in the
+packet. For example, the SQL to be run on an accounting start must be
+named "Start" in the configuration for the module. Other usual values
+for Acct-Status-Type are "Stop", "Alive", "Accounting-On", etc.  See
+the VALUEs for Acct-Status-Type in the dictionary.rfc2866 file.
 .IP "Post-Auth query"
 An entry named "Post-Auth" sets the query to run during the
-post-authentication stage.
-.SH CONFIGURATION
+post-authentication stage.  This query is mainly used to log sessions
+where there may not be a later accounting packet.
+.PP
 .DS
 modules {
   ...