Dear list,
I have three questions regarding IDO DB and I hope somone here can point
me into the right direction.
a) IDO DB failover
---------------------------------------
I noticed that there is a failover of the active IDO DB writer when the
current IDO DB writer (Icinga2) is powered off.
After the timeout period of 60 seconds, another Icinga2 master starts to
write to the database.
However, when I kill MariaDB on the server where Icinga2 is currently
the IDO DB writer, there is no failover.
Instead, the Icinga2 instance (which no longer can't write to
localhost:3306) remains the active IDO DB writer.
Is this something which happens on purpose? For me, it is clear that
there is a failover when Icinga2 is stopped; but it is not clear to me
that there is no failover although Icinga2 can't no longer access the
database. Looking at the official documentation I saw no hint why
Icinga2 behaves this way.
b) Buffering during IDO DB downtime
---------------------------------------
Let's say I shutdown all database instances while Icinga2 on the masters
is still running.
Icinga2 is now not able to write to the database.
Let's say I start the database instances again after 10 minutes.
We had 10 minutes DB downtime.
- Did Icinga2 buffer/safe the history/queries/the data from the last
10 minutes?
- If yes, will Icinga2 try to write this historical data back to the
database
as soon as it is available again?
- If yes, will Icinga2 throw away obsolete data, e.g. when a fresh check
result
came in and a service state changed?
I am asking because I want to use the content of IDO DB for generating
reports.
And if Icinga2 doesn't buffer the DB writes during database downtime,
the report data will be incomplete.
I ran a couple of tests and it seems that all data from the database
downtime is missing (e.g. check results/service states which are written
to IDO DB).
c) Query queuing
---------------------------------------
- I noticed some query queuing stuff in the Icinga2 code and just wanted
to know if Icinga2
uses a queuing mechanism for the database queries.
- If yes, what happens to the content of the queue when there is a
failover of the active
IDO DB writer - will the content of the query queue get synchronized
to the new IDO DB writer?
My test setup:
---------------------------------------
- 3 x master within a master zone
- couple of satellites within satellite zones
- Each server hosting an Icinga2 master also contains one MariaDB instance.
All 3 nodes are part of a Galera cluster.
- IDO DB is activated, ofc with HA enabled (should be the default anyway).
Icinga2 has 127.0.0.1 as the IDO DB host (yes, this is on purpose, we
can't
use a floating Galera service IP here).
Beste regards
Valentin
--
Valentin Höbel
Senior Consultant IT Infrastructure
mobil 0711-95337077
open*i GmbH
Talstraße 41 70188 Stuttgart Germany
Geschäftsführer Tilo Mey
Amtsgericht Stuttgart, HRB 729287, Ust-IdNr DE264295269
Volksbank Stuttgart EG, BIC VOBADESS, IBAN DE75600901000340001003
_______________________________________________
icinga-users mailing list
icinga-users@lists.icinga.org
https://lists.icinga.org/mailman/listinfo/icinga-users