name mode size
doc 040000
km_doc 040000
Makefile 100644 318B
README 100644 3.86kB
flat_cmd.c 100644 5.03kB
flat_cmd.h 100644 2.37kB
flat_con.c 100644 7.03kB
flat_con.h 100644 2.62kB
flat_rpc.c 100644 1.62kB
flat_rpc.h 100644 1.1kB
flat_uri.c 100644 1.95kB
flat_uri.h 100644 1.84kB
flatstore_mod.c 100644 5.48kB
flatstore_mod.h 100644 1.4kB
km_flat_con.c 100644 3.51kB
km_flat_con.h 100644 1.69kB
km_flat_id.c 100644 1.94kB
km_flat_id.h 100644 1.34kB
km_flat_mi.c 100644 1.19kB
km_flat_mi.h 100644 1.08kB
km_flat_pool.c 100644 3.09kB
km_flat_pool.h 100644 1.39kB
km_flatstore.c 100644 4.83kB
km_flatstore.h 100644 1.75kB
km_flatstore_mod.c 100644 3.39kB
km_flatstore_mod.h 100644 1.63kB
ser-flatstore.cfg 100644 332B
todo.txt 100644 67B
1. Db_flatstore Module Jan Janak FhG FOKUS <> Copyright © 2004, 2005 FhG FOKUS __________________________________________________________________ 1.1. Overview 1.1.1. Rotating Log Files 1.2. Parameters 1.2.1. flush (integer) 1.1. Overview Db_flatstore is one of so-called SIP Router database modules. It does not export any functions executable from the configuration scripts, but it exports a subset of functions from the database API and thus other modules can use it as a database driver, instead of, for example, the Mysql module. The module does not implement all functions of the database API, it supports only one function, insert. This means that the module is limited but very fast. It is especially suitable for storing accounting information on sites with extremely high traffic. If MySQL is too slow or if you get a huge amount of accounting data then you can consider using this module. Please note that the acc module is the only module that was tested with the flastore module. The format of the files produced by this module is plain text. Each line consists of several fields, fields are separated by the "|" character (vertical bar). New information is always appended at the end of the file. Searching, deleting and updating of existing data is not supported by the module. The acc module can be configured to use db_flatstore module as database backend using the db_url_parameter: modparam("acc", "db_url", "flatstore:/var/log/acc") This configuration option tells the acc module that it should use the db_flatstore module and the db_flatstore module should create all files in the /var/log/acc directory. The directory must exist and SIP Router processes must have permissions to create files in that directory. Name of files in that directory will follow the following pattern: <table_name>_<process_name>.log For example, entries writen by the SIP Router process 8 into the acc table would be written in file acc_8.log. For each table there will be several files, one file for every SIP Router process that wrote some data into that table. The main reason why there are several files for each table is that it is much faster to have one file per process, because it does not require any locking and thus SIP Router processes will not block each other. To get the complete data for a table you can simply concatenate the contents of files with the same table name but different process id. 1.1.1. Rotating Log Files The module implements a SIP Router management interface command called flatstore.rotate. When SIP Router receives the command it will close and reopen all files used by the db_flatstore module. The rotation itself has to be done by another application (such as logrotate). Follow these steps to rotate files generated by the db_flatstore module: * Rename the files that you want to rotate: cd /var/log/acc mv acc_1.log acc_1.log.20050605 mv acc_2.log acc_2.log.20050605 mv acc_4.log acc_3.log.20050605 ... Note that at this point SIP Router will still be writing all data into the renamed files. * Send SIP Router the management command to close and reopen the renamed files: sercmd flatstore.rotate This will force SIP Router to close the renamed files and open new ones with original names, such as acc_1.log. New files will be open at the point when SIP Router has some data to write. It is normal that the files will be not created immediately if there is no traffic on the SIP server. * Move the renamed files somewhere else and process them. 1.2. Parameters 1.2.1. flush (integer) Enable or disable flushing after each write. Default value is 1.