Confused about migrating from Monitoring-IDO to icingadb and icingadb-redis

I had a previous installation of icinga2 2.9.1 and monitoring with IDO
I had some difficulties migrating to icinga2 2.12.1 but I finally have that working using Monitoring and IDO.

The installation of icingadb did not create an icingadb database and it isn’t clear to me if it should have.

I have these tables in my mysql database (MariaDB 10.3.14)

+--------------------+
| Database           |
+--------------------+
| director           |
| grafana            |
| graphite           |
| icinga             |
| icingaweb2         |
| information_schema |
| mysql              |
| performance_schema |
| reporting          |
| sys                |
| test               |
+--------------------+
11 rows in set (0.000 sec)

I have been through the icinga DB docs and searched the forums but I am unable to figure out what went wrong.

Should an icindadb database been create or should icingadb use the icinga database?

This is what I see in the log from trying to start icingadb

Jan 16 06:49:54 systemd: Starting Icinga DB...
Jan 16 06:49:55 icingadb: Starting Icinga DB
Jan 16 06:49:55 icingadb: Connecting to database at 'localhost:0'
Jan 16 06:49:55 systemd: Started Icinga DB.
Jan 16 06:49:55 icingadb: Error 1146 (42S02): Table 'icinga.icingadb_schema' doesn't exist#012can't check database schema version#012github.com/icinga/icingadb/pkg/icingadb.(*DB).CheckSchema#012#011github.com/icinga/icingadb/pkg/icingadb/db.go:106#012main.run#012#011github.com/icinga/icingadb/cmd/icingadb/main.go:77#012main.main#012#011github.com/icinga/icingadb/cmd/icingadb/main.go:36#012runtime.main#012#011runtime/proc.go:250#012runtime.goexit#012#011runtime/asm_amd64.s:1598
Jan 16 06:49:55 systemd: icingadb.service: main process exited, code=exited, status=1/FAILURE
Jan 16 06:49:55 systemd: Unit icingadb.service entered failed state.
Jan 16 06:49:55 systemd: icingadb.service failed.
  • Icinga DB Web version (System - About):

  • Icinga Web 2 version (System - About):

Icinga Web 2 Version	2.12.1
Git commit	cd2daeb2cb8537c633d343a29eb76c54cd2ebbf2
PHP Version	7.3.33
Git commit date	2023-11-15
Get Icinga Support
Icinga Community
Report a bug
Icinga Documentation
Loaded Libraries
icinga/icinga-php-library	0.13.1
icinga/icinga-php-thirdparty	0.12.1
Loaded Modules
doc		2.12.1	Configure
monitoring		2.12.1	Configure
setup		2.12.1	Configure

  • Web browser:
Chrome is up to date
Version 120.0.6099.217 (Official Build) (64-bit)
  • Icinga 2 version (icinga2 --version):
icinga2 --version
icinga2 - The Icinga 2 network monitoring daemon (version: r2.14.1-1)

Copyright (c) 2012-2024 Icinga GmbH (https://icinga.com/)
License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/gpl2.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

System information:
  Platform: CentOS Linux
  Platform version: 7 (Core)
  Kernel: Linux
  Kernel version: 3.10.0-1160.42.2.el7.x86_64
  Architecture: x86_64

Build information:
  Compiler: GNU 11.2.1
  Build host: runner-hh8q3bz2-project-575-concurrent-0
  OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017

Application information:

General paths:
  Config directory: /etc/icinga2
  Data directory: /var/lib/icinga2
  Log directory: /var/log/icinga2
  Cache directory: /var/cache/icinga2
  Spool directory: /var/spool/icinga2
  Run directory: /run/icinga2

Old paths (deprecated):
  Installation root: /usr
  Sysconf directory: /etc
  Run directory (base): /run
  Local state directory: /var

Internal paths:
  Package data directory: /usr/share/icinga2
  State path: /var/lib/icinga2/icinga2.state
  Modified attributes path: /var/lib/icinga2/modified-attributes.conf
  Objects path: /var/cache/icinga2/icinga2.debug
  Vars path: /var/cache/icinga2/icinga2.vars
  PID path: /run/icinga2/icinga2.pid
  • Icinga DB version (icingadb --version):
icingadb --version
Icinga DB version: v1.1.1

Build information:
  Go version: go1.20.7 (linux, amd64)
  Git commit: 6c8b52f2033cd94466863c92d3df632e3c87743c

System information:
  Platform: CentOS Linux
  Platform version: 7 (Core)
  • PHP version used (php --version):
/opt/rh/rh-php73/root/bin/php --version
PHP 7.3.33 (cli) (built: Jul 25 2022 11:32:44) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
  • Server operating system and version:
cat /etc/system-release
CentOS Linux release 7.9.2009 (Core)
Linux  3.10.0-1160.42.2.el7.x86_64 #1 SMP Tue Sep 7 14:49:57 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

In your case you need an icingadb mariadb database like described here:
https://icinga.com/docs/icinga-db/latest/doc/02-Installation/04-RHEL/#setting-up-a-mysql-or-mariadb-database
then you need to configure icingadb like described here:
https://icinga.com/docs/icinga-db/latest/doc/03-Configuration/

then you need to enable the icingadb feature like described here:
https://icinga.com/docs/icinga-2/latest/doc/09-object-types/#icingadb

after that your icingadb should work and you can continue to configure icingadb-web and / or use the ido migration command

1 Like