Interview with the developers

Hello everyone!

In the context of the new Icinga DB, I had the idea to interview the developers that have worked on the project and publish those in the form of blog posts on icinga.com in the coming weeks.

I already have a pool of questions for each concerning the project as a whole, but do you - the community - have any questions you want to ask?

Greetings,
Feu

2 Likes

Hello @theFeu,

I have technical concept questions, it also could be a good points for the upcoming discussion at Fri April 3.

  1. Concept of replacing IDO-MySQL with IcingaDB have the following goals in my understanding
  • a) Increase speed for JSON-RPC queue utilisation :white_check_mark:
  • b) Faster configuration update during deployment, e.g. adding/removing hosts & services :white_check_mark:
  • c) Reduce MySQL update/select operations for temporary data (especially host_state & service_state tables) :x:

IcingaDB MySQL schema holds host_state and service_state tables and actively update it.

My database statistics during the test with 100k services per minute show the following:

MariaDB [icingadb]> SHOW ENGINE INNODB STATUS;
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
0 read views open inside InnoDB
Process ID=11918, Main thread ID=140418679252736, state: sleeping
Number of rows inserted 1176936, updated 27526120, deleted 535381, read 247877366
0.00 inserts/s, 0.33 updates/s, 0.00 deletes/s, 0.41 reads/s
Number of system rows inserted 19, updated 0, deleted 19, read 43
0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s

We can still see here a lot of reads & updates which i expected to be handled by Redis.

  1. Concept of Icingaweb utilisation of Redis

Setting incorrect Redis master address still allow me to drill the actual info from IcingaWeb:

Password field missed which is not transparent with IcingaDB config: https://github.com/Icinga/icingadb/blob/master/config/config.go#L23

For now I can only guess what requests going from Icingaweb to Redis and i would like to see a clear schema of data/request flows, also wondering why we still have host_state and service_state tables still present in MySQL

  1. Concept of Environments
    Mentioned at https://icinga.com/docs/icingadb/latest/
Icinga DB also supports reading from multiple environments and writing into a single MySQL instance.

Could you please provide additional information and/or documentation of how to configure it and for what cases it could be useful.

P.S. Like new Redis implementation through the streams :muscle:

Hello!
I’ll forward this to our devs!
Thank you for the detailed points you brought up!

We will look into what we can present about this and how we can improve the documentation to make things clearer.

Have a wonderful day,
Feu

1 Like