Advanced options

Display only public traffic

Starting with the 2019.10.0 release, you can configure Fleio to display only public traffic for instances. To do that, add the following code in the settings.py file:

# instance traffic to display when collecting traffic data. Available options are 'public' and 'all'
INSTANCE_TRAFFIC_DISPLAY = 'public'

After editing settings.py file, press Y when asked to restart Fleio.

Change page size when syncing traffic resources

Starting with Fleio version 2026.07.1, you can configure page size while syncing traffic resources.

During traffic collection, resources are synced from OpenStack via Gnocchi with a default page size of 100. If you want to sync the data faster, you may increase the page size by adding the following setting to the end of the settings.py file and specify the new page size value:

TRAFFIC_RESOURCE_LIST_PAGE_SIZE = 100

Split collect traffic tasks by batches of instance port resources

Collect traffic data tasks are split by region. If you want to further split the tasks by batches of port resources, you can add the following setting to the end of the settings.py file:

COLLECT_TRAFFIC_RESOURCE_BATCH_SIZE = 1000

This will further split the collect by region tasks into more tasks depending on how many resources you have.

Using the above example which uses batches of 1000, if a region has 5000 instances each with one port, five tasks will be started for the region. One batch will process all the ports for an instance, meaning that the batch size may be exceeded when the last instance processed in that batch has more ports than the defined batch size.

Removing the setting or setting batch size to 0 (zero) will revert the functionality to the default one (collect traffic tasks being split only by region).

If splitting traffic tasks by port resource batches results in too many tasks that take too much time, we recommend adding a separate celery container dedicated to processing only traffic related tasks as defined below.

Custom celery container for traffic

With the 2026.07.1 release, you can define a custom celery container that processes only collect traffic related tasks.

Warning

The following configuration works only starting with Fleio release 2026.07.1

To create the custom container(s), we’ll have to override the docker-compose.override.yml file, more on that here: Adding or changing files in Fleio Docker images.

In the docker-compose.override.yml, extend the base celery service with a new one. We’ll name it celery_traffic. Before creating the new celery container, make sure you have enough resources on your server to handle the new container(s).

services:
  celery_traffic:
    extends:
      file: docker-compose.yml
      service: celery
    deploy:
      replicas: 1
    environment:
      - FLEIO_CELERY_QUEUE=traffic_processing

Notice that we override the “FLEIO_CELERY_QUEUE” environment variable with the value defined for traffic tasks.

You can also create multiple celery containers for traffic by increasing the “replicas” value, but beware of resource consumption.

Now build and apply the customization:

# make sure you're in the directory where Docker Compose files are
cd /home/fleio/compose

# build your image
docker compose build

# apply your changes to the running frontend
docker compose up -d

You should now be able to see the newly created container:

docker logs fleio-celery_traffic-1

After adding the container(s), define which tasks should be processed by the “traffic_processing” queue. For this, add the following code to the settings.py file:

# define tasks that should go into queue
CELERY_TASK_ROUTES = {
    '*Collect traffic*': {
        'queue': 'traffic_processing',
    },
}

After saving the settings and restarting Fleio, any task (including periodic tasks) that contains ‘Collect traffic’ in its name will be handled only by the celery instance(s) that handles the “traffic_processing” queue. The initial celery containers will be processing only the default “celery” queue.