Mercurial > hg > freeDiameter
view contrib/app_acct_tools/README @ 1327:82b386714795
Set callback data also when only setting expire callback (and not answer callback as well).
It is used when calling the expire callback, so not setting it makes no sense.
author | Thomas Klausner <tk@giga.or.at> |
---|---|
date | Mon, 27 Nov 2017 15:21:20 +0100 |
parents | e5010975da35 |
children |
line wrap: on
line source
This folder contains several tools to use and parse the data from the app_acct.fdx extension. - database.sql : An example database format for use with the scripts in this folder. - app_acct.conf : The part of app_acct.conf that is relevant to this database schema. - purge_to_file.php : This PHP script is used to take the records from the incoming table (stored by app_acct.fdx extension) and save these records in a file in SQL format. This is similar to pg_dump command, except that all the records that have been saved in the file are removed from the table. This can be used in cron jobs for example to maintain a reasonable size of the incoming table and move the data to another host for off-line processing. It can also be useful to aggregate the data from different hosts, if you are load-balancing your accounting servers for example (granted that all app_acct.fdx use identical table format on all the servers). See the top of the file for configuration parameters. - process_records.php : This PHP script processes the records pertaining to users sessions, as follow: * when a session is complete (STOP record received), it stores a session summary into the processed records table (see process_database.sql file for format). * It optionally archives the processed records into a different table, before deleting them. * It can also move records of unterminated sessions that are older than a configurable time to an orphan_records table, so that they are not re-processed every time. This orphans table must have the same structure as the "incoming" table. - display_results.php, display_self.php, display_stats.php : These scripts give a few examples of how to display the processed data. USAGE: *) Initial: create your database using database.sql file *) Configure the app_acct.fdx extension using tips from app_acct.conf The following processing can be run for example as cron jobs. 1) On each accounting server for the realm, configure the app_acct.fdx extension to dump the records in a local database (all servers must use the same database format). The table would typically be "incoming". 2) Run the purge_to_file.php script on each server regularly, then move the generated files onto a single server for processing. This server only needs the other tables. 3) Add the data from the files into the database in this server by running: psql < file.sql Each file that has been added should then be archived and removed so that it is not re-added later. 4) Run the process_records.php script on this processing server. Now, the database contains the aggregated data that can be visualized with display_*.php scripts.