Critical/cli: Another instance of Icinga already running with PID

I installed icinga2 and icingaweb2 on a satellite, from my logs I read that it is connected to my master (satellite configured such that it connects to the master, not the other way round!). So far so good. Unfortunately on my master the satellite-checks are shown as “pending” and after some research on the internet I found out that
icinga2 daemon -X (on the satellite) prints the following line:

[2021-02-10 16:18:23 +0000] critical/cli: Another instance of Icinga already running with PID 1699

I cannot find any errors in my config files and the log-files don’t show any errors. When I kill the process with the given PID the icinga2 daemon -X-command gives more information while the icinga2-service shows (code=killed, signal=KILL) (well, I killed it…^^).

At the same time my icingaweb2-frontent is working. So I am confused. Do you have any idea, what may cause the issue and what I may do to solve it? BTW: At this point (with the killed process) my satellite checks are still pending on the master.

EDIT: I do see the same behaviour on my master. I am completely lost. Just in case I give you the features I enabled on the
master:
api checker command ido-mysql mainlog notification statusdata
satellite:
api checker command ido-mysql mainlog

Hi

Which version of icinga running and share the zones configuration of master/satellites

Regards

Hi,

master:
# icinga2 -V
icinga2 - The Icinga 2 network monitoring daemon (version: r2.12.3-1)
# icingacli --version
Icinga Web 2 2.8.2

zones.conf:

object Endpoint "icinga-prod" {
}

object Endpoint "satellite" {
  host = "<correct ip>"
}

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

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

object Zone "master" {
  endpoints = [ "icinga-prod", ]
}

object Zone "satellite" {
  endpoints = [ "satellite", ]
}

satellite:
# icinga2 -V
icinga2 - The Icinga 2 network monitoring daemon (version: r2.12.3-1)
# icingacli --version
Icinga Web 2 2.8.2

zones.conf:

object Endpoint "icinga-prod" {
	host = "<correct ip>"
	port = "5665"
}

object Zone "master" {
	endpoints = [ "icinga-prod" ]
}

object Endpoint "monitor-satellite" {
}

object Zone "satellite" {
	endpoints = [ "monitor-satellite" ]
	parent = "master"
}

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

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

Your zones.conf on your master does not contain parent=...

1 Like

Thank you, I missed that one. Now it is working. I’ve got a question regarding the icinga2 daemon -X-error, though. Is this “error” obsolete due to parallelism or what does it try to tell me?

EDIT: My firewall settings don’t allow pinging the satellite. My satellite is being shown as “UP” on the master but the ping-checks (obviously) fail. Is this not kind of contradictory? Are ping-checks thus not necessary anymore as the satellite wont be shown as “UP” in case it is not pingable (I mean - would not be pingable)?

icinga2 is usually started by systemd, hence, icinga2 daemon ... is trying to start icinga2 a second time which results in that error.

UPdepends on the result of your check_command. If you are using hostalive it should not be shown as UP.

If pinging is not allowed, cluster-zone could be an alternative.