before running pulumi up build the images : docker build -f odoo.Dockerfile -t odoo_custom . docker build -f backup.Dockerfile -t exporter_custom . docker build -f exporter.Dockerfile -t exporter_custom . after running the pulumi up in the postgres container terminal do that : TO CONFIGURE DATABASE pg_stat_statements : psql -h admin -U admin -d admin CREATE EXTENSION pg_stat_statements; exit apt-get update && apt-get install nano -y nano /var/lib/postgresql/data/postgresql.conf shared_preload_libraries = 'pg_stat_statements' compute_query_id = on pg_stat_statements.max = 10000 pg_stat_statements.track = all restart TO TEST pg_stat_statements : psql -h admin -U admin -d admin SELECT * FROM pg_stat_statements; SELECT query, calls, total_exec_time, rows, 100.0 * shared_blks_hit / nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent FROM pg_stat_statements ORDER BY total_exec_time DESC LIMIT 5; TO TEST PROMETHEUS SCRAPING : visit http://localhost:9090/targets FOR GRAFANA : DISPLAY SELECT QUERIES PER TIME : sum(increase(postgresql_query_calls{query=~"SELECT.*"}[5m]))