Acknowledge/Downtime from Master > Satellite doesn't work properly

Hi all! :slight_smile:

I’m using Icinga2 distributed with 1 Master and 2 Satellites with Top Down Config Sync method and I’m trying to figure out about behaviour of ack, downtimes, etc. from Master to Satellites replicate.

I have a master node with this configurations:

/etc/icinga2/zones.conf

object Endpoint "monitor1.XXXX" {
}

object Endpoint "monitor3.XXXX" {
        host = "monitor3.XXXX"
}
object Endpoint "monitor2.XXXX" {
        host = "monitor2.XXXX"
}
object Zone "master" {
        endpoints = [ "monitor1.XXXX" ]
}

object Zone "satelite" {
        endpoints = [ "monitor2.XXXX", "monitor3.XXXX" ]
        parent = "master"
}

object Zone "global-templates" {
        global = true
}

object Zone "director-global" {
        global = true
}

/etc/icinga2/features-enabled/api.conf

object ApiListener "api" {
  bind_host = "0.0.0.0"
  bind_port = 5665

  accept_config = true
  accept_commands = true

  ticket_salt = TicketSalt
}

And all the configuration for hosts inside /etc/icinga2/zones.d/satelite/hosts and services inside /etc/icinga2/zones.d/global-templates.

Now satellites configs:

monitor2.XXXX /etc/icinga2/features-enabled/api.conf

object ApiListener "api" {
  accept_config = true
  accept_commands = true

}

monitor2.XXXX /etc/icinga2/zones.conf

object Endpoint "monitor1.XXXX" {
        host = "monitor1.XXXX"
}

object Zone "master" {
        endpoints = [ "monitor1.XXXX" ]
}

object Endpoint "monitor2.XXXX" {
}
/*object Endpoint "monitor3.XXXX" {
        host="monitor3.XXXX"
}*/
object Zone "satelite" {
        endpoints = [ "monitor2.XXXX" ]
        parent = "master"
}

object Zone "global-templates" {
        global = true
}

object Zone "director-global" {
        global = true
}

monitor3.XXXX /etc/icinga2/features-enabled/api.conf

object ApiListener "api" {

  accept_config = true
  accept_commands = true

}

monitor3.XXXX /etc/icinga2/zones.conf

        host = "monitor1.XXXX"
}

object Zone "master" {
        endpoints = [ "monitor1.XXXX" ]
}

object Endpoint "monitor3.XXXX" {
}
/*object Endpoint "monitor2.XXXX" {
        host="monitor2.XXXX"
}*/
object Zone "satelite" {
        endpoints = [ "monitor3.XXXX" ]
        parent = "master"
}

object Zone "global-templates" {
        global = true
}

object Zone "director-global" {
        global = true
}

All the new configuration made in master, I mean, changes/add/remove host/services are replicated perfectly to satellites, but something wrong happens when I tried to set, for example, an acknowledge for a service in Master (monitor1), it replicates sometimes well to one satellite (monitor2) but the other satellite (monitor3) never receive that configuration of ack. Sometimes on the contrary, monitor3 receive the ack from master but monitor2 no, what’s the problem?

Thanks in advance! :slight_smile:

  • Version used (icinga2 - The Icinga 2 network monitoring daemon (version: r2.14.2-1))
  • Operating System and version: All hosts are Ubuntu 22.04.3 LTS (Jammy Jellyfish)
  • Enabled features (Monitor1: api checker command ido-mysql mainlog notification, Monitor2:api checker command debuglog ido-mysql mainlog,Monitor3:api checker command ido-mysql mainlog)
  • Icinga Web 2 version and modules: version 2.12.1 with PHP 8.1.2-1ubuntu2.14
  • Icinga Web 2 modules:
director 		1.10.2
doc 		2.12.1 
incubator 		0.20.0
migrate 		2.12.1 	
monitoring 		2.12.1 
translation 		2.12.1