Skip to main content

Analytics

Analytics installs Metabase beside the shared cluster and keeps it matched to this server: a read-only data source per Odoo database, and an account for every console user that sees exactly the instances the console assigns them.

It is the Analytics tab under PostgreSQL > Local, between Scaling and Upgrade.

Nobody signs in by hand​

The Analytics entry opens Metabase already signed in, as you. There is no second set of credentials to hand out, and no second place to remember to remove somebody from.

The console remains the one place where access is decided, and the sync keeps Metabase in step with it.

What the console decidesWhat Metabase gets
Which instances a user may seeExactly those, and no others
A user removed from the consoleThe matching account loses its access
A new Odoo databaseA new read-only data source

Whether an instance's operators may write native SQL is a switch on that instance's Configuration tab.

It reads the replica when there is one​

Each data source is read-only, and read through the read replica whenever one is streaming. A reporting query that someone writes badly then lands on the standby rather than on the cluster your instances are serving from.

With no replica, it reads the primary directly.

The analytics database is a system database​

Like master and postgres: it wears the system badge, has no delete action, cannot be restored over, and is refused by every delete path down to the host agent.

Ports​

Once installed, analytics listens on two new host ports: 5511 (HTTP) and 5512 (HTTPS, using the management certificate).

Open a firewall for these only where people should reach Metabase

They are not opened for you, and they should not be opened to the internet by reflex. Metabase is a window onto every database on this server.

Memory​

Metabase runs in a container capped at its memory ceiling, 2 GiB unless you set another (1.5 GiB is the floor: Metabase does not start in less). It is only installed and started when the host has that ceiling plus 1 GiB free for the rest of the server; after a restart onto a host with less, it is held, and started again once there is room. A host short of memory loses processes to the kernel across the whole machine, so the check protects your Odoo and PostgreSQL, not only the reports.

Start even when the host is short of memory, under the ceilings, switches that check off: a shortfall becomes a warning in the job's log and the server's, and the service runs anyway. Use it only on a host you know - if memory then does run out, the kernel may stop Odoo or PostgreSQL rather than Metabase.

From the command line​

Remote or localagainst pelmo
$ ohm server analytics status --server pelmo
Remote or localagainst pelmo
$ ohm server analytics install --server pelmo
Remote or localagainst pelmo
$ ohm server analytics sync --server pelmo
Remote or localagainst pelmo
$ ohm instance analytics --instance fanes --server pelmo

When the license stops covering it​

The container is stopped rather than removed, and the next covering license starts it again. Your questions, dashboards and collections are still there.

Removing analytics, and the sync that keeps its access in step with this console, are never restricted - an unlicensed server must always be able to take it off and to stop granting access it can no longer manage.

The License page lists the held service with everything else the license switched off. See When the license changes.