Skip to main content

A Python script designed to read output from pmacct daemons, to process it and to store it into ElasticSearch.

Project description


pmacct-to-elasticsearch is a python script designed to read output from pmacct daemons, to process it and to store it into ElasticSearch. It works with both memory and print plugins and, optionally, it can perform manipulations on data (such as to add fields on the basis of other values).

  1. pmacct daemons collect IP accounting data and process them with their plugins;
  2. data are stored into in-memory-tables (memory plugins), JSON or CSV files (print plugins);
  3. crontab jobs (memory plugins) or trigger scripts (print plugins) are invoked to execute pmacct-to-elasticsearch;
  4. pmacct’s output records are finally processed by pmacct-to-elasticsearch, which reads them from stdin (memory plugins) or directly from file.

Optionally, some data transformations can be configured, to allow pmacct-to-elasticsearch to add or remove fields to/from the output documents that are sent to ElasticSearch for indexing. These additional fields may be useful to enhance graphs and reports legibility, or to add a further level of aggregation or filtering.


Install the program using pip:

pip install pmacct-to-elasticsearch

Then clone the repository and run the ./install script to setup your system:

cd /usr/local/src/
git clone
cd pmacct-to-elasticsearch/


Please refer to the file. The file contains details about data transformations configuration.

A simple tutorial on pmacct integration with ElasticSearch/Kibana using pmacct-to-elasticsearch can be found at

Future work

  • Add support of more pmacct output formats (Apache Avro, …).


Pier Carlo Chiodi -

Blog: Twitter: @pierky



  • CSV output support.

    The InputFormat option in the plugin configuration file can be used to instruct pmacct-to-elasticsearch to parse CSV output from pmacct.


  • Multithreading support.

    The ReaderThreads option in the plugin configuration file sets the number of threads used to process pmacct’s output.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pmacct-to-elasticsearch, version 0.3.0a2
Filename, size File type Python version Upload date Hashes
Filename, size pmacct-to-elasticsearch-0.3.0a2.tar.gz (10.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page