Icingadb wont run

After i installed icinga and did the web installation. I got this error code I’ve tried many things but nothing seems to work.

After i started icingadb i still get an error message.

Hey, maybe look into /etc/icingadb/config.yml
Have you entered the correct password there or is it still CHANGEME?

I think the host and/or port parameters for the database are not set properly in /etc/icingadb/config.yml

No i have changed the password to the database password.

What should it look like? This is how the database config looks like now

# This is the configuration file for Icinga DB.

# Connection configuration for the database to which Icinga DB synchronizes monitoring data.
# This is also the database used in Icinga DB Web to view and work with the data.
# In high availability setups, all Icinga DB instances must write to the same database.
database:
  # Database type. Either 'mysql' for MySQL or 'pgsql' for PostgreSQL.
  # Defaults to 'mysql'.
#  type: mysql

  # Database host or absolute Unix socket path.
  host: localhost

  # Database port. By default, the MySQL or PostgreSQL port, depending on the database type.
  #port:

  # Database name.
  database: icingadb

  # Database user.
  user: icingadb

  # Database password.
  password: MyDataBasePassword

  # List of low-level database options that can be set to influence some Icinga DB internal default behaviours.
  # Do not change the defaults if you don't have to!
#  options:
    # Maximum number of connections Icinga DB is allowed to open in parallel to the database.
    # By default, Icinga DB is allowed to open up to "16" connections whenever necessary.
    # Setting this to a number less than or equal to "-1" allows Icinga DB to open an unlimited number of connections.
    # However, it is not possible to set this option to "0".
#    max_connections: 16

    # Maximum number of queries allowed to connect to a single database table simultaneously.
    # By default, Icinga DB is allowed to execute up to "8" queries of any kind, e.g. INSERT,UPDATE,DELETE
    # concurrently on a given table.
    # It is not possible to set this option to a smaller number than "1".
#    max_connections_per_table: 8

    # Maximum number of placeholders Icinga DB is allowed to use for a single SQL statement.
    # By default, Icinga DB uses up to "8192" placeholders when necessary, which showed the
    # best performance in terms of execution time and parallelism in our tests.
    # It is not possible to set this option to a smaller number than "1".
#    max_placeholders_per_statement: 8192

    # Maximum number of rows Icinga DB is allowed to select, delete, update or insert in a single transaction.
    # By default, Icinga DB selects,deletes,updates,inserts up to "8192" rows in a single transaction, which showed
    # the best performance in terms of execution time and parallelism in our tests.
    # It is not possible to set this option to a smaller number than "1".
#    max_rows_per_transaction: 8192

    # Enforce Galera cluster nodes to perform strict cluster-wide causality checks before executing
    # specific SQL queries determined by the number you provided.
    # Note: You can only set this option to a number "0 - 15".
    # Defaults to 7.
    # See https://icinga.com/docs/icinga-db/latest/doc/03-Configuration/#galera-cluster
#    wsrep_sync_wait: 7

# Connection configuration for the Redis® server where Icinga 2 writes its configuration, state and history items.
# This is the same connection as configured in the 'icingadb' feature of the corresponding Icinga 2 node.
# High availability setups require a dedicated Redis® server per Icinga 2 node and
# therefore a dedicated Icinga DB instance that connects to it.
redis:
  # Host name or address, or absolute Unix socket path.
  host: localhost

  # TCP port.
  # Defaults to '6380' as the Redis® open source server provided by the 'icingadb-redis' package listens on that port.
#  port: 6380

  # Authentication password.
#  password:

# Icinga DB logs its activities at various severity levels and any errors that occur either
# on the console or in systemd's journal. The latter is used automatically when running under systemd.
# In any case, the default log level is 'info'.
#logging:
  # Default logging level. Can be set to 'fatal', 'error', 'warn', 'info' or 'debug'.
  # If not set, defaults to 'info'.
#  level: info

  # Logging output. Can be set to 'console' (stderr) or 'systemd-journald'.
  # If not set, logs to systemd-journald when running under systemd, otherwise stderr.
#  output:

  # Interval for periodic logging defined as duration string.
  # A duration string is a sequence of decimal numbers and a unit suffix, such as "20s".
  # Valid units are "ms", "s", "m", "h".
  # Defaults to "20s".
#  interval: 20s

  # Map of component-logging level pairs to define a different log level than the default value for each component.
#  options:
#    config-sync:
#    database:
#    dump-signals:
#    heartbeat:
#    high-availability:
#    history-sync:
#    overdue-sync:
#    redis:
#    retention:
#    runtime-updates:
#    telemetry:

# Retention is an optional feature to limit the number of days that historical data is available,
# as no historical data is deleted by default.
#retention:
  # Number of days to retain full historical data. By default, historical data is retained forever.
#  history-days:

  # Number of days to retain historical data for SLA reporting. By default, it is retained forever.
#  sla-days:

  # Interval for periodically cleaning up the historical data, defined as a duration string.
  # A duration string is a sequence of decimal numbers and a unit suffix, such as "20s".
  # Valid units are "ms", "s", "m", "h".
  # Defaults to "1h".
#  interval: 1h

  # Number of old historical entries a single query can delete in a "DELETE FROM ... LIMIT count" manner.
  # By default, this is limited to 5000 entries.
#  count: 5000

  # Map of history category to number of days to retain its data in order to
  # enable retention only for specific categories or to
  # override the number that has been configured in history-days.
#  options:
#    acknowledgement:
#    comment:
#    downtime:
#    flapping:
#    notification:
#    state:

@Luke ,
could you please use some of the formatting options provided by the forum software?
The config is close to unreadable right now.

# This is the configuration file for Icinga DB.

# Connection configuration for the database to which Icinga DB synchronizes monitoring data.
# This is also the database used in Icinga DB Web to view and work with the data.
# In high availability setups, all Icinga DB instances must write to the same database.
database:
  # Database type. Either 'mysql' for MySQL or 'pgsql' for PostgreSQL.
  # Defaults to 'mysql'.
#  type: mysql

  # Database host or absolute Unix socket path.
  host: localhost

  # Database port. By default, the MySQL or PostgreSQL port, depending on the database type.
  #port:

  # Database name.
  database: icingadb

  # Database user.
  user: icingadb

  # Database password.
  password: MyDataBasePassword

  # List of low-level database options that can be set to influence some Icinga DB internal default behaviours.
  # Do not change the defaults if you don't have to!
#  options:
    # Maximum number of connections Icinga DB is allowed to open in parallel to the database.
    # By default, Icinga DB is allowed to open up to "16" connections whenever necessary.
    # Setting this to a number less than or equal to "-1" allows Icinga DB to open an unlimited number of connections.
    # However, it is not possible to set this option to "0".
#    max_connections: 16

    # Maximum number of queries allowed to connect to a single database table simultaneously.
    # By default, Icinga DB is allowed to execute up to "8" queries of any kind, e.g. INSERT,UPDATE,DELETE
    # concurrently on a given table.
    # It is not possible to set this option to a smaller number than "1".
#    max_connections_per_table: 8

    # Maximum number of placeholders Icinga DB is allowed to use for a single SQL statement.
    # By default, Icinga DB uses up to "8192" placeholders when necessary, which showed the
    # best performance in terms of execution time and parallelism in our tests.
    # It is not possible to set this option to a smaller number than "1".
#    max_placeholders_per_statement: 8192

    # Maximum number of rows Icinga DB is allowed to select, delete, update or insert in a single transaction.
    # By default, Icinga DB selects,deletes,updates,inserts up to "8192" rows in a single transaction, which showed
    # the best performance in terms of execution time and parallelism in our tests.
    # It is not possible to set this option to a smaller number than "1".
#    max_rows_per_transaction: 8192

    # Enforce Galera cluster nodes to perform strict cluster-wide causality checks before executing
    # specific SQL queries determined by the number you provided.
    # Note: You can only set this option to a number "0 - 15".
    # Defaults to 7.
    # See https://icinga.com/docs/icinga-db/latest/doc/03-Configuration/#galera-cluster
#    wsrep_sync_wait: 7

# Connection configuration for the Redis® server where Icinga 2 writes its configuration, state and history items.
# This is the same connection as configured in the 'icingadb' feature of the corresponding Icinga 2 node.
# High availability setups require a dedicated Redis® server per Icinga 2 node and
# therefore a dedicated Icinga DB instance that connects to it.
redis:
  # Host name or address, or absolute Unix socket path.
  host: localhost

  # TCP port.
  # Defaults to '6380' as the Redis® open source server provided by the 'icingadb-redis' package listens on that port.
#  port: 6380

  # Authentication password.
#  password:

# Icinga DB logs its activities at various severity levels and any errors that occur either
# on the console or in systemd's journal. The latter is used automatically when running under systemd.
# In any case, the default log level is 'info'.
#logging:
  # Default logging level. Can be set to 'fatal', 'error', 'warn', 'info' or 'debug'.
  # If not set, defaults to 'info'.
#  level: info

  # Logging output. Can be set to 'console' (stderr) or 'systemd-journald'.
  # If not set, logs to systemd-journald when running under systemd, otherwise stderr.
#  output:

  # Interval for periodic logging defined as duration string.
  # A duration string is a sequence of decimal numbers and a unit suffix, such as "20s".
  # Valid units are "ms", "s", "m", "h".
  # Defaults to "20s".
#  interval: 20s

  # Map of component-logging level pairs to define a different log level than the default value for each component.
#  options:
#    config-sync:
#    database:
#    dump-signals:
#    heartbeat:
#    high-availability:
#    history-sync:
#    overdue-sync:
#    redis:
#    retention:
#    runtime-updates:
#    telemetry:

# Retention is an optional feature to limit the number of days that historical data is available,
# as no historical data is deleted by default.
#retention:
  # Number of days to retain full historical data. By default, historical data is retained forever.
#  history-days:

  # Number of days to retain historical data for SLA reporting. By default, it is retained forever.
#  sla-days:

  # Interval for periodically cleaning up the historical data, defined as a duration string.
  # A duration string is a sequence of decimal numbers and a unit suffix, such as "20s".
  # Valid units are "ms", "s", "m", "h".
  # Defaults to "1h".
#  interval: 1h

  # Number of old historical entries a single query can delete in a "DELETE FROM ... LIMIT count" manner.
  # By default, this is limited to 5000 entries.
#  count: 5000

  # Map of history category to number of days to retain its data in order to
  # enable retention only for specific categories or to
  # override the number that has been configured in history-days.
#  options:
#    acknowledgement:
#    comment:
#    downtime:
#    flapping:
#    notification:
#    state:

@Luke thanks.
Please uncomment the port option and set the value to 3306 (assuming this is the port of your mysql/mariadb dbms.

I don’t get the GitHub error anymore but it still cant connect to the database. Any suggestions?

When to script boot is says twice its booting icingadb.sevice but when looking in my database there only appears one.

I chanced to port to 6380 and seems to get no error now when i request an status.

But i still get the error in the web client.

Your MariaDB/Mysql is listening on port 6380?

Anyway, this message will appear if there are no new results visible in the SQL database AND the Redis cache Server.

Please verify, that your icinga2 daemon is a) active and b) has the icingadb feature activated.

icinga2 feature list
Disabled features: ...
Enabled features: ... icingadb ...

I set the port back again to 3306

I changed the host in the config file from local host to the ip of the local host

  # Database host or absolute Unix socket path.
  host: 127.0.0.1

The went to Mariadb as root and

GRANT ALL PRIVILEGES ON icingadb.* TO 'icingadb'@'127.0.0.1' IDENTIFIED BY 'MyDataBasePassword';

Then
systemctl restart icingadb

Now everything works