How to have Grafana connect to config database running on 2-node PostgreSQL cluster?

Hi,

We’re using a standalone instance of PostgreSQL as Grafana Config database. Given it’s a single node instance, it prone to cause un-schedule Grafana outages, whenever the databases is being patched (once a month). So we’re planning to move the config database to a PostgreSQL 2-node cluster (ex. patroni).

Q. Can we have some Grafana.ini support connecting to a PostgreSQL cluster using a “cluster aware connection string”, basically where we can specific a list of cluster hosts in Grafana.ini config file. Like examples below

Using libpq:

postgresql:// pgclx0001.acme.com,pgclx0002.acme.com/?target_session_attrs=read-write

When using the URL connection string we cannot get Grafana to startup all the way. Fails with below error

Jul 12 10:25:00 xxxx telegraf: 2021-07-12T15:25:00Z E! [inputs.prometheus]: Error in plugin: error making HTTP request to https://localhost/metrics: Get https://localhost/metrics: dial tcp [::1]:443: connect: connection refused

Hi @varundhawan I’m afraid I don’t know the answer to your actual question. But I just wanted to note that the logs you pasted are Telegraf logs, not Grafana logs. And from what I can tell the error is nothing to do with Grafana’s Postgres config. Could you share what error (if any) Grafana gives you?

  • JDBC url = postgres://measure_grafana_dev:secret@server01.acme.com:5432/measure_grafana_dev
  • When we switch to JDBC URL ^^ to connect to Postgres Cluster (Patroni) - we get below in the logs

t=2021-07-14T09:03:33-0500 lvl=info msg=“Starting Grafana” logger=server version=7.1.5 commit=unknown-dev branch=master compiled=2021-07-12T14:31:11-0500
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config loaded from” logger=settings file=/usr/share/grafana/conf/defaults.ini
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config loaded from” logger=settings file=/etc/grafana/grafana.ini
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.data=/var/lib/grafana”
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.logs=/var/log/grafana”
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.plugins=/var/lib/grafana/plugins”
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.provisioning=/etc/grafana/provisioning”
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Home” logger=settings path=/usr/share/grafana
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Data” logger=settings path=/var/lib/grafana/data
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Logs” logger=settings path=/var/log/grafana
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Plugins” logger=settings path=/var/lib/grafana/plugins
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Provisioning” logger=settings path=/usr/share/grafana/conf/provisioning
t=2021-07-14T09:03:33-0500 lvl=info msg=“App mode production” logger=settings
t=2021-07-14T09:03:33-0500 lvl=info msg=“Writing PID file” logger=server path=/var/run/grafana/grafana-server.pid pid=88778
t=2021-07-14T09:03:33-0500 lvl=dbug msg=“Initializing SqlStore” logger=server
t=2021-07-14T09:03:33-0500 lvl=info msg=“Starting Grafana” logger=server version=7.1.5 commit=unknown-dev branch=master compiled=2021-07-12T14:31:11-0500
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config loaded from” logger=settings file=/usr/share/grafana/conf/defaults.ini
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config loaded from” logger=settings file=/etc/grafana/grafana.ini
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.data=/var/lib/grafana”
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.logs=/var/log/grafana”
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.plugins=/var/lib/grafana/plugins”
t=2021-07-14T09:03:33-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.provisioning=/etc/grafana/provisioning”
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Home” logger=settings path=/usr/share/grafana
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Data” logger=settings path=/var/lib/grafana/data
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Logs” logger=settings path=/var/log/grafana
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Plugins” logger=settings path=/var/lib/grafana/plugins
t=2021-07-14T09:03:33-0500 lvl=info msg=“Path Provisioning” logger=settings path=/usr/share/grafana/conf/provisioning
t=2021-07-14T09:03:33-0500 lvl=info msg=“App mode production” logger=settings
t=2021-07-14T09:03:33-0500 lvl=info msg=“Writing PID file” logger=server path=/var/run/grafana/grafana-server.pid pid=88785
t=2021-07-14T09:03:33-0500 lvl=dbug msg=“Initializing SqlStore” logger=server
t=2021-07-14T09:03:34-0500 lvl=info msg=“Starting Grafana” logger=server version=7.1.5 commit=unknown-dev branch=master compiled=2021-07-12T14:31:11-0500
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config loaded from” logger=settings file=/usr/share/grafana/conf/defaults.ini
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config loaded from” logger=settings file=/etc/grafana/grafana.ini
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.data=/var/lib/grafana”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.logs=/var/log/grafana”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.plugins=/var/lib/grafana/plugins”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.provisioning=/etc/grafana/provisioning”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Home” logger=settings path=/usr/share/grafana
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Data” logger=settings path=/var/lib/grafana/data
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Logs” logger=settings path=/var/log/grafana
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Plugins” logger=settings path=/var/lib/grafana/plugins
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Provisioning” logger=settings path=/usr/share/grafana/conf/provisioning
t=2021-07-14T09:03:34-0500 lvl=info msg=“App mode production” logger=settings
t=2021-07-14T09:03:34-0500 lvl=info msg=“Writing PID file” logger=server path=/var/run/grafana/grafana-server.pid pid=88792
t=2021-07-14T09:03:34-0500 lvl=dbug msg=“Initializing SqlStore” logger=server
t=2021-07-14T09:03:34-0500 lvl=info msg=“Starting Grafana” logger=server version=7.1.5 commit=unknown-dev branch=master compiled=2021-07-12T14:31:11-0500
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config loaded from” logger=settings file=/usr/share/grafana/conf/defaults.ini
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config loaded from” logger=settings file=/etc/grafana/grafana.ini
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.data=/var/lib/grafana”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.logs=/var/log/grafana”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.plugins=/var/lib/grafana/plugins”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.provisioning=/etc/grafana/provisioning”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Home” logger=settings path=/usr/share/grafana
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Data” logger=settings path=/var/lib/grafana/data
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Logs” logger=settings path=/var/log/grafana
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Plugins” logger=settings path=/var/lib/grafana/plugins
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Provisioning” logger=settings path=/usr/share/grafana/conf/provisioning
t=2021-07-14T09:03:34-0500 lvl=info msg=“App mode production” logger=settings
t=2021-07-14T09:03:34-0500 lvl=info msg=“Writing PID file” logger=server path=/var/run/grafana/grafana-server.pid pid=88798
t=2021-07-14T09:03:34-0500 lvl=dbug msg=“Initializing SqlStore” logger=server
t=2021-07-14T09:03:34-0500 lvl=info msg=“Starting Grafana” logger=server version=7.1.5 commit=unknown-dev branch=master compiled=2021-07-12T14:31:11-0500
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config loaded from” logger=settings file=/usr/share/grafana/conf/defaults.ini
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config loaded from” logger=settings file=/etc/grafana/grafana.ini
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.data=/var/lib/grafana”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.logs=/var/log/grafana”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.plugins=/var/lib/grafana/plugins”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Config overridden from command line” logger=settings arg=“default.paths.provisioning=/etc/grafana/provisioning”
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Home” logger=settings path=/usr/share/grafana
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Data” logger=settings path=/var/lib/grafana/data
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Logs” logger=settings path=/var/log/grafana
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Plugins” logger=settings path=/var/lib/grafana/plugins
t=2021-07-14T09:03:34-0500 lvl=info msg=“Path Provisioning” logger=settings path=/usr/share/grafana/conf/provisioning
t=2021-07-14T09:03:34-0500 lvl=info msg=“App mode production” logger=settings
t=2021-07-14T09:03:34-0500 lvl=info msg=“Writing PID file” logger=server path=/var/run/grafana/grafana-server.pid pid=88804
t=2021-07-14T09:03:34-0500 lvl=dbug msg=“Initializing SqlStore” logger=server

The broader question, we’re trying to answer if that if is even possible for Grafana.ini to use JDBC connection string to connect to a PostgreSQL database (single instance) ?