IP Accounting

From Alpine Linux
This material is work-in-progress ...

Do not follow instructions here until this notice is removed.
(Last edited by Nergal on 13 Jan 2022.)

This document will show how to configure pmacct for IP accounting. Pmacct will be configured as NetFlow and sFlow collector using PostgreSQL as DB backend.

The following software have been used at the time of writing of this document:

* pmacct-0.12.4-r3
* postgresql 8.4

Install and Configure pmacct

apk add pmacct pmacct-doc

On postgreSQL server launch the following scripts found in /usr/share/doc/pmacct/sql (make sure to change the default password for user "pmacct" in pmacct-create-db.pgsql):

postgres$ psql -d template1 -f pmacct-create-db.pgsql
postgres$ psql -d pmacct -f pmacct-create-table_v1.pgsql

NetFlow Collector Daemon

Edit /etc/nfmacctd.conf, changing "<HOSTNAME>" and "<PASSWORD>" to correct values:

daemonize: true
pidfile: /var/run/nfacctd.pid
syslog: daemon

sql_host: <HOSTNAME>
sql_passwd: <PASSWORD>
sql_table_version: 1

plugins: pgsql

sql_optimize_clauses: true
sql_history: 1m
sql_history_roundoff: m
sql_dont_try_update: true

aggregate: src_host,dst_host,src_port,dst_port,proto

nfacctd_sql_log: true

For explanation of the keywords above and full list of options supported by pmacct see here.