Error: Icinga DB by icingadb UNKNOWN

Hi folks. I’m very new to Icinga, so please bear with me.

I’m getting the following error in my Health panel and my google-fu has failed me.
“Icinga DB by icingadb is UNKNOWN” along with a red banner at the bottom of the (every) screen that reads: “It seems that Icinga DB is not running. Make sure Icinga DB is running and writing into the database.”

I’ve been struggling with this for a week now and I could really use some help from those who know this system better than I do please.

I came across this post which gave me some hope but now I’m confused about versions. My GUI shows this for versions in the about screen:

But my CLI shows this:
Screenshot from 2025-09-16 12-35-25

My environment:

  • Version used (icinga2 --version)
    See above

  • Operating System and version
    Ubuntu Server 24.04 LTS

  • Enabled features (icinga2 feature list)
    Disabled features: compatlog debuglog elasticsearch gelf influxdb influxdb2 journald livestatus
    opentsdb perfdata syslog

    Enabled features: api checker command graphite icingadb ido-pgsql mainlog notification

  • Icinga Web 2 version and modules (System - About)
    See above.

  • Config validation (icinga2 daemon -C)
    [2025-09-16 14:35:51 -0400] information/cli: Icinga application loader (version: r2.15.0-1)
    [2025-09-16 14:35:51 -0400] information/cli: Loading configuration file(s).
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Committing config item(s).
    [2025-09-16 14:35:51 -0400] information/ApiListener: My API identity: chillbilly
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 13 Notifications.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 2 NotificationCommands.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 IcingaApplication.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 2 HostGroups.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 350 Hosts.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 Downtime.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 7 Comments.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 IcingaDB.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 FileLogger.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 3 Zones.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 CheckerComponent.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 IdoPgsqlConnection.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 ExternalCommandListener.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 Endpoint.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 2 ApiUsers.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 ApiListener.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 NotificationComponent.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 248 CheckCommands.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 GraphiteWriter.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 User.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 UserGroup.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 3 ServiceGroups.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 3 TimePeriods.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 361 Services.
    [2025-09-16 14:35:51 -0400] information/ConfigItem: Instantiated 1 ScheduledDowntime.
    [2025-09-16 14:35:51 -0400] information/ScriptGlobal: Dumping variables to file ‘/var/cache/icinga2/icinga2.vars’
    [2025-09-16 14:35:51 -0400] information/cli: Finished validating the configuration file(s).

  • If you run multiple Icinga 2 instances, the zones.conf file (or icinga2 object list --type Endpoint and icinga2 object list --type Zone) from all affected nodes
    N/A

what is the output of:

systemctl status icingadb

Hello, and thanks for reading my question.
The output of systemctl status icingadb looks like this:

I checked the config.yml file to which it made reference but it looks ok to my (admittedly novice) eyes.

And just to follow on, here is the (redacted) yml file. I did double and triple check the usernames/passwords before redacting them. Everything else in the file is commented out.


I think you need to disable redis auth which is a different file:
you can do that manually or with this sed command:

sed -i 's/protected-mode yes/protected-mode no/' /etc/icingadb-redis/icingadb-redis.conf
systemctl restart icingadb-redis-server
systemctl restart icingadb

Thank you. With what you suggested I seem to have made some progress but I’m not there yet.
I had to do a bit of tweaking to the yml file since it started hating the username/password combo but eventually I go this:

ok now your postgres user/password are not valid in the /etc/icingadb/config.yml

Now I’m getting confused again. The way I got to this point was to comment out a password in the yml file.

This is what the database and redis sections of my yml file look like (there are no other uncommented lines). This results in the password authentication errors shown in my last post.


If I uncomment the password like this:

I get this error again:

Is there anywhere else that I should be changing / adding / removing username and password credentials or authorization options?

ok so you added a redis user password too? I missed that.

I use the redis server without user password auth, since it is only reachable locally.

Now your redis server rejects your redis credentials, and i can’t help much here.

how did you setup the redis user / password?

First, hello and welcome to the Icinga community! Thanks for asking your questions.

Seconding @moreamazingnick, there is no authentication for Redis by default as the daemon’s port is bound to the localhost.

Are you using the icingadb-redis service? And is it installed on the same host as the Icinga DB daemon? Have you changed its configuration?
Please also paste the output of systemctl status icingadb-redis.

You can manually verify the login credentials for both Redis and PostgreSQL as follows:

# Redis w/o auth
$ redis-cli -p 6380
# Redis w/ password authentication
$ redis-cli -p 6380 -a PASSWORD
# Redis w/ username and password
$ redis-cli -p 6830 --user USERNAME --pass PASSWORD

# PostgreSQL (password will be asked)
$ psql -U icingadb icingadb

Please note, you do not have to change all configuration values in the Icinga DB configuration file. For example, when using no authentication in Redis, these configuration entries can be kept commented out.

The following would be a complete and valid configuration file for a local PostgreSQL database and a local Redis w/o authentication.

database:
  type: pgsql
  host: localhost
  database: icingadb
  user: icingadb
  password: CHANGEME

redis:
  host: localhost

On another note, have you configured a PostgreSQL database/user and imported the schema as stated in the installation docs, https://icinga.com/docs/icinga-db/latest/doc/02-Installation/Debian/#setting-up-the-database?