Turning system accounting data into money

Polytropon freebsd at edvax.de
Tue Oct 11 14:06:20 UTC 2011

This is _not_ a spam message trying to sell something
stupid to the list. I'm just searching for a solution
to turn consumed computing resources into a number and
a currency symbol. :-)

Reason: A growing amount of (my) customers seems to
like this concept: They speed a low fee for access to
systems and applications, and they want to pay according
to what they did with that system. The access fee covers
access and some basic services (backup & quota), and for
anything "more advanced" they want to be charged per
"units" used, or per "consumed resources". This can be dialog
time (SSH), disk I/O, disk occupied, pages printed (can happen)
or pages required to print on exceptional specific forms
(can happen once or twice a year and is charged with an
additional fee for fold, staple & mutilate).

Sounds stupid? I have _real_ customers intendedly
requesting that payment model (instead of "just pay
amount n Euro a month and do whatever you like").

Accidentally, I remembered history.

So I thought: This funcitonality has been present on
UNIX systems for many decades. But _how_ to use it? I
know there's the command set for accounting, for example
the "ac" command. But what does its output "total 7264.15"
mean? There also are "acct" (process accounting), "sa"
(for system accounting) and "pac" (for printer accounting,
just dooesn't seem to work with CUPS).

I'd also like to use the /etc/csh.logout resp. ~/.logout
mechanism. When a user logs in, he will be presented the
program he uses (or a menu, in case he uses different ones).
This can also be a regular "remote desktop" session. When
he logs out, a message should be displayed that informs
him how much will be charged for the session. At the end
of the month, he should get an invoice with the proper
accumulated amount.

For example, if a user wishes to issue a "make a backup
_now_, because I intendedly want _this_ current state
backed up _now_", this will be seen as additional I/O
load and disk occupation (because it's handled aside of
the regular backup runs that should be part of the
"basic package" charged with the "conneciton fee").
Or as I said, he issues printing for stuff he cannot
print at home, so he will be charged for 500 pages.
And in case he transfers 10 GB data in, and 10 GB data
out, he will be charged for that traffic, as well as
for the I/O.

The sessions in questions will be SSH sessions (text mode)
as well as SSH/X sessions (remote desktops).

Maybe someone already uses something similar he wants
to share? Suggestions and inspirations are welcome.

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list