Master to Satellite communication does not work

#1

Master debug log shows:

[2019-10-28 15:28:54 +0100] notice/JsonRpcConnection: Received ‘event::Heartbeat’ message from ‘[client.address]’
[2019-10-28 15:29:01 +0100] debug/ApiListener: Not connecting to Endpoint ‘[client.address]’ because the host/port attributes are missing.
[2019-10-28 15:29:04 +0100] notice/JsonRpcConnection: Received ‘event::Heartbeat’ message from ‘[client.address]’
[2019-10-28 15:29:04 +0100] warning/JsonRpcConnection: API [client.address] disconnected for identity ‘[client.address]’
[2019-10-28 15:29:11 +0100] debug/ApiListener: Not connecting to Endpoint ‘[client.address]’ because the host/port attributes are missing.
[2019-10-28 15:29:14 +0100] information/ApiListener: New [client.address] connection for identity ‘[client.address]’ from [address]:36887 (certificate validation failed: code 7: certificate signature failure)
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘icinga::Hello’ message from ‘[client.address]’
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘pki::RequestCertificate’ message from ‘[client.address]’
[2019-10-28 15:29:14 +0100] information/JsonRpcConnection: Received certificate request for CN ‘[client.address]’ signed by our CA.
[2019-10-28 15:29:14 +0100] information/JsonRpcConnection: The certificate for CN ‘[client.address]’ is valid and uptodate. Skipping automated renewal.
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘event::SetNextCheck’ message from ‘[client.address]’
[2019-10-28 15:29:14 +0100] notice/ClusterEvents: Discarding ‘next check changed’ message from ‘[client.address]’: Invalid endpoint origin ([client.address] not allowed).
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘log::SetLogPosition’ message from ‘[client.address]’
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘event::SetNextCheck’ message from ‘[client.address]’
[2019-10-28 15:29:14 +0100] notice/ClusterEvents: Discarding ‘next check changed’ message from ‘[client.address]’: Invalid endpoint origin ([client.address] not allowed).
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘event::CheckResult’ message from ‘[client.address]’
[2019-10-28 15:29:14 +0100] notice/ClusterEvents: Discarding ‘check result’ message from ‘[client.address]’: Invalid endpoint origin ([client.address] not allowed).
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘event::SetNextCheck’ message from ‘[client.address]’
[2019-10-28 15:29:14 +0100] notice/ClusterEvents: Discarding ‘next check changed’ message from ‘[client.address]’: Invalid endpoint origin ([client.address] not allowed).
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘log::SetLogPosition’ message from ‘[client.address]’
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘event::CheckResult’ message from ‘[client.address]’
[2019-10-28 15:29:14 +0100] notice/ClusterEvents: Discarding ‘check result’ message from ‘[client.address]’: Invalid endpoint origin ([client.address] not allowed).
[2019-10-28 15:29:14 +0100] notice/JsonRpcConnection: Received ‘event::Heartbeat’ message from ‘[client.address]’
[2019-10-28 15:29:21 +0100] debug/ApiListener: Not connecting to Endpoint ‘[client.address]’ because the host/port attributes are missing.
[2019-10-28 15:29:24 +0100] notice/JsonRpcConnection: Received ‘event::Heartbeat’ message from ‘[client.address]’
[2019-10-28 15:29:31 +0100] debug/ApiListener: Not connecting to Endpoint ‘[client.address]’ because the host/port attributes are missing.
[2019-10-28 15:29:34 +0100] notice/JsonRpcConnection: Received ‘event::Heartbeat’ message from ‘[client.address]’

Master zones.conf

object Endpoint “master.address” {
}

object Zone “master” {
endpoints = [ “master.address” ]
}

object Zone “global-templates” {
global = true
}

object Zone “director-global” {
global = true
}

object Endpoint “client.address” {
}

object Zone “client.address” {
endpoints = [ “client.address” ]
parent = “master”
}

Master zones.d/client/hosts.conf

object Host “client.address” {
/* Import the default host template defined in templates.conf. */
check_command = “hostalive”
address = “[address]”
vars.os = “Linux”
zone = “client.address”
}

Client zones.conf

object Endpoint “master.address” {
host = “address”
port = “5665”
}

object Zone “master” {
endpoints = [ “master.address” ]
}

object Endpoint “client.address” {
}

object Zone “client.address” {
endpoints = [ “client.address” ]
parent = “master”
}

object Zone “global-templates” {
global = true
}

object Zone “director-global” {
global = true
}

The Satellite seems to be able to send messages to the Master, no errors on the Satellite side, but the Master is unable to receive them. Any Ideas?

Thanks

#2

Hello,

I am working with my colleague on a solution, that is why our question. We are faced with the problem that the master does not seem to hand over the config to the satellite. So all checks are in pending status if a host is to be queried by the satellite.

Thank you in advance.

(Aflatto) #3

did you see this line in the master log :

[2019-10-28 15:29:21 +0100] debug/ApiListener: Not connecting to Endpoint ‘[client.address]’ because the host/port attributes are missing.

and indeed in the master zones.conf you do not specify the client endpoint details.