Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: Validation failed for object, servicegroup not found which has been created via api #7493

Closed
raffis opened this issue Sep 10, 2019 · 16 comments
Labels
area/api REST API

Comments

@raffis
Copy link

raffis commented Sep 10, 2019

Describe the bug

I experience various problems using the icinga2 api.
Using kube-icinga to distribute kubernetes objects to a three node icinga cluster.
I experience the following problems randomly:

  • Web interface does not show all icinga objects created via the api
  • Different objects get returned by querying the icinga api on different nodes
  • Some config files do not exists in /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/
  • Only some objects are being monitored or even none at all

Checking the icinga2 log, I have many errors like these:

[2019-09-10 12:19:57 +0200] critical/config: 1 error
[2019-09-10 12:19:57 +0200] critical/ApiListener: Could not create object 'kubernetes-volumes-tam!generic-nimble-d12c6413-3061-11e9-951e-0050568fe3c2':
[2019-09-10 12:19:57 +0200] critical/ApiListener: Error: Validation failed for object 'kubernetes-volumes-tam!generic-nimble-d12c6413-3061-11e9-951e-0050568fe3c2' of type 'Service'; Attribute 'groups': Object 'signage-stage' of type 'ServiceGroup' does not exist.
Location: in /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-volumes-tam!generic-nimble-d12c6413-3061-11e9-951e-0050568fe3c2.conf: 6:2-6:29
[2019-09-10 12:19:57 +0200] critical/config: Error: Validation failed for object 'kubernetes-volumes-tam!generic-nimble-aca88960-76fe-11e9-a4f5-0050568fe3c2' of type 'Service'; Attribute 'groups': Object 'tubee-stage' of type 'ServiceGroup' does not exist.
Location: in /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-volumes-tam!generic-nimble-aca88960-76fe-11e9-a4f5-0050568fe3c2.conf: 6:2-6:27
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-volumes-tam!generic-nimble-aca88960-76fe-11e9-a4f5-0050568fe3c2.conf(4):  check_command = "nimble_lun"
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-volumes-tam!generic-nimble-aca88960-76fe-11e9-a4f5-0050568fe3c2.conf(5):  display_name = "generic-nimble-aca88960-76fe-11e9-a4f5-0050568fe3c2:volume"
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-volumes-tam!generic-nimble-aca88960-76fe-11e9-a4f5-0050568fe3c2.conf(6):  groups = [ "tubee-stage" ]
                                                                                                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-volumes-tam!generic-nimble-aca88960-76fe-11e9-a4f5-0050568fe3c2.conf(7):  host_name = "kubernetes-volumes-tam"
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-volumes-tam!generic-nimble-aca88960-76fe-11e9-a4f5-0050568fe3c2.conf(8):  vars["_kubernetes"] = true

This is only one such error, somehow icinga2 can't find the servicegroup, but the servicegroup does exist, at least this is what the rest endpoint tells me:

curl -k -u kube-icinga https://localhost:5665/v1/objects/servicegroups | json_pp | grep tubee-stage -A50
      {
         "joins" : {},
         "type" : "ServiceGroup",
         "attrs" : {
            "display_name" : "tubee-stage",
            "paused" : true,
            "package" : "_api",
            "templates" : [
               "tubee-stage"
            ],
            "active" : true,
            "vars" : {
               "_kubernetes" : true
            },
            "zone" : "monitoring.example.org",
            "action_url" : "",
            "ha_mode" : 0,
            "version" : 1568099728.25849,
            "type" : "ServiceGroup",
            "name" : "tubee-stage",
            "__name" : "tubee-stage",
            "notes_url" : "",
            "notes" : "",
            "groups" : null,
            "source_location" : {
               "last_column" : 32,
               "path" : "/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/servicegroups/tubee-stage.conf",
               "last_line" : 1,
               "first_column" : 0,
               "first_line" : 1
            },
            "original_attributes" : null
         },
         "meta" : {},
         "name" : "tubee-stage"
      }
[[email protected] monitoring.example.org]#---> cat /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/servicegroups/tubee-stage.conf 
object ServiceGroup "tubee-stage" {
	vars["_kubernetes"] = true
	version = 1568099728.258492
	zone = "monitoring.example.org"
}

Even after restarting the icinga2 service I get those einconsistentrrors. I could cleanup all icinga2 nodes by removing everything created via the api but sooner or later I will get those errors again.

To me it looks like there is a fault in icinga somewhere because it can't find service groups which are clearly there.

What is also strange, If I query the icinga api on different nodes I may get different results but this could also be related to #6957

But overall it is quite inconsistent.

To Reproduce

Well not sure.

  1. Get a kubernetes cluster with various namespaces and services.
  2. Deploy kube-icinga
  3. Use a multi node icinga2 cluster

Expected behavior

No such error.

Your Environment

Include as many relevant details about the environment you experienced the problem in

  • Version used (icinga2 --version): r2.10.5-1
  • Operating System and version: Ubuntu 16.04.6 LTS
  • Enabled features (icinga2 feature list):
  • Icinga Web 2 version and modules (System - About): 2.6.3
  • Config validation (icinga2 daemon -C):
[2019-09-10 13:44:32 +0200] information/cli: Icinga application loader (version: r2.10.5-1)
[2019-09-10 13:44:32 +0200] information/cli: Loading configuration file(s).
[2019-09-10 13:44:33 +0200] information/ConfigItem: Committing config item(s).
[2019-09-10 13:44:33 +0200] warning/ApiListener: Attribute 'key_path' for object 'api' of type 'ApiListener' is deprecated and should not be used.
[2019-09-10 13:44:33 +0200] warning/ApiListener: Attribute 'ca_path' for object 'api' of type 'ApiListener' is deprecated and should not be used.
[2019-09-10 13:44:33 +0200] warning/ApiListener: Attribute 'cert_path' for object 'api' of type 'ApiListener' is deprecated and should not be used.
[2019-09-10 13:44:33 +0200] warning/ApiListener: Please read the upgrading documentation for v2.8: https://icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/
[2019-09-10 13:44:33 +0200] information/ApiListener: My API identity: monitoring003.example.org
[2019-09-10 13:44:33 +0200] warning/Zone: The Zone object 'monitoring.example.org' has more than two endpoints. Due to a known issue this type of configuration is strongly discouraged and may cause Icinga to use excessive amounts of CPU time.



[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 215 ScheduledDowntimes.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 9235 Services.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 1 IcingaApplication.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 229 Hosts.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 1 FileLogger.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 2 NotificationCommands.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 18928 Notifications.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 1 NotificationComponent.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 26 HostGroups.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 1 ApiListener.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 1 CheckerComponent.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 2 Zones.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 1 ExternalCommandListener.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 3 Endpoints.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 2 ApiUsers.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 4 Users.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 1 IdoMysqlConnection.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 207 CheckCommands.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 3 UserGroups.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 3 ServiceGroups.
[2019-09-10 13:44:37 +0200] information/ConfigItem: Instantiated 5 TimePeriods.
[2019-09-10 13:44:37 +0200] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/icinga2.vars'
[2019-09-10 13:44:37 +0200] information/cli: Finished validating the configuration file(s).
  • If you run multiple Icinga 2 instances, the zones.conf file (or icinga2 object list --type Endpoint and icinga2 object list --type Zone) from all affected nodes.
  % declared in '/etc/icinga2/zones.conf', lines 13:1-13:38
  * __name = "monitoring.example.org"
  * endpoints = [ "monitoring003.example.org", "monitoring004.example.org", "monitoring005.example.org" ]
    % = modified in '/etc/icinga2/zones.conf', lines 14:5-14:111
  * global = false
  * name = "monitoring.example.org"
  * package = "_etc"
  * parent = ""
  * source_location
    * first_column = 1
    * first_line = 13
    * last_column = 38
    * last_line = 13
    * path = "/etc/icinga2/zones.conf"
  * templates = [ "monitoring.example.org" ]
    % = modified in '/etc/icinga2/zones.conf', lines 13:1-13:38
  * type = "Zone"
  * zone = ""

Additional context

Related to github.com/gyselroth/kube-icinga.

@dnsmichi
Copy link
Contributor

Your checks point to tubee-stage while Icinga claims that signage-stage doesn't exist. Did you oversee this?

Object 'signage-stage' of type 'ServiceGroup' does not exist.

@dnsmichi dnsmichi added area/api REST API needs feedback We'll only proceed once we hear from you again labels Sep 12, 2019
@raffis
Copy link
Author

raffis commented Sep 12, 2019

It also claims that Object 'tubee-stage' of type 'ServiceGroup' does not exist.

@dnsmichi
Copy link
Contributor

Ok, maybe the _api package is broken for storing the runtime objects.
https://icinga.com/docs/icinga2/snapshot/doc/15-troubleshooting/#missing-runtime-objects-hosts-downtimes-etc

@raffis
Copy link
Author

raffis commented Sep 13, 2019

Doesn't look like it, I already checked that since I've encountered this before. But as described:

[[email protected] monitoring.example.org]#---> cat /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/servicegroups/tubee-stage.conf 
object ServiceGroup "tubee-stage" {
	vars["_kubernetes"] = true
	version = 1568099728.258492
	zone = "monitoring.example.org"
}

icinga creates the servicegroup in the api package but at the same time tells me it can't find servicegroup tubee-stage.

@dnsmichi
Copy link
Contributor

Wondering how to reproduce this without the overhead of kube-icinga. Can this be reduced into single curl requests somehow?

@raffis
Copy link
Author

raffis commented Sep 16, 2019

I was able to reduce it to just three api requests, basically:

  1. Create servicegroup
  2. Create service (attached to an existing host object worker005.hidden1.com which does exist manually in /etc/icinga2/zones.d/monitoring.gyselroth.net)
  3. Restart process

Setup

Icinga cluster with one default zone and three endpoints, one master, two "slaves".

Curl requests

curl -H "Accept: application/json" -k -u $user:$pw $url/v1/objects/servicegroups/monitoring -XPUT -d '{"attrs":{"vars._kubernetes":true}}';

curl -H "Accept: application/json" -k -u $user:$pw "$url/v1/objects/services/kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2" -XPUT -d '{"attrs":{"groups":["monitoring"],"check_command":"tcp","vars.tcp_port":32071,"vars._kubernetes":true,"vars.kubernetes":{"kind":"Service","apiVersion":"v1","metadata":{"name":"icinga2","namespace":"monitoring","selfLink":"/api/v1/namespaces/monitoring/services/icinga2","uid":"9106bb53-44a7-11e9-9c1e-0050568fe3c2","resourceVersion":"73256143","creationTimestamp":"2019-03-12T09:16:49Z","labels":{"k8s-app":"icinga2"},"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"k8s-app\":\"icinga2\"},\"name\":\"icinga2\",\"namespace\":\"monitoring\"},\"spec\":{\"ports\":[{\"name\":\"icinga2\",\"port\":5665,\"protocol\":\"TCP\",\"targetPort\":5665}],\"selector\":{\"k8s-app\":\"icinga2\"},\"type\":\"NodePort\"}}\n"}},"spec":{"ports":[{"name":"icinga2","protocol":"TCP","port":5665,"targetPort":5665,"nodePort":32071}],"selector":{"k8s-app":"icinga2"},"clusterIP":"10.104.192.191","type":"NodePort","sessionAffinity":"None","externalTrafficPolicy":"Cluster"},"status":{"loadBalancer":{}}},"display_name":"monitoring-icinga2-icinga2"},"templates":["generic-service"]}';

curl -H "Accept: application/json" -k -XPOST -u $user:$pw $url/v1/actions/restart-process?pretty=1

Error Description

After the restart is triggered I get:
[2019-09-16 15:59:14 +0200] critical/ApiListener: Error: Validation failed for object 'kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2' of type 'Service'; Attribute 'groups': Object 'monitoring' of type 'ServiceGroup' does not exist.

The two object files exist on all three nodes:

[[email protected] conf.d]#---> ls -l /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/ /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/servicegroups/
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/servicegroups/:
total 4
-rw-r--r-- 1 nagios nagios 101 Sep 16 16:29 monitoring.conf

/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/:
total 4
-rw-r--r-- 1 nagios nagios 1485 Sep 16 16:29 kubernetes-worker005.tam.ch!monitoring-icinga2-icinga2.conf

And I can reproduce it everytime, If I remove everything from /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d on all three nodes, restart icinga on each and repeat the curl requests it will endup with the error above.

Some questions:

  1. This looks like a cluster problem (multiple endpoints), is this a bug in icinga if the servicegroup gets created via the api? (It works if I create the same objects manually in /etc/icinga2). That would explain the fact that I've never seen this in my one endpoint dev environment.
  2. Is it related to three endpoints for the same zone? (icinga2 daemon -C only tells me that if may affect cpu but not bugs like these).

full icinga endpoint-1 log (where I executed the requests):

[2019-09-16 15:58:44 +0200] warning/TlsStream: TLS stream was disconnected.
[2019-09-16 15:58:44 +0200] warning/JsonRpcConnection: API client disconnected for identity 'monitoring005.gyselroth.net'
[2019-09-16 15:58:44 +0200] warning/ApiListener: Removing API client for endpoint 'monitoring005.gyselroth.net'. 0 API clients left.
[2019-09-16 15:58:47 +0200] information/ApiListener: Reconnecting to endpoint 'monitoring005.gyselroth.net' via host 'monitoring005.gyselroth.net' and port '5665'
[2019-09-16 15:58:47 +0200] critical/TcpSocket: Invalid socket: Connection refused2. Is it related to that we have more than two endpoints for the same zone? (icinga2 daemon -C only tells me that if may affect cpu but not bugs like these).
[2019-09-16 15:58:47 +0200] critical/ApiListener: Cannot connect to host 'monitoring005.gyselroth.net' on port '5665'
[2019-09-16 15:58:47 +0200] information/ApiListener: Finished reconnecting to endpoint 'monitoring005.gyselroth.net' via host 'monitoring005.gyselroth.net' and port '5665'
[2019-09-16 15:58:52 +0200] information/ApiListener: New client connection for identity 'monitoring005.gyselroth.net' from [10.50.0.46]:42262
[2019-09-16 15:58:52 +0200] information/ApiListener: Sending config updates for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing configuration files for global zone 'global-templates' to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing configuration files for zone 'monitoring.gyselroth.net' to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending config file updates for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing runtime objects to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Applying config update from endpoint 'monitoring005.gyselroth.net' of zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] warning/ApiListener: Ignoring config update for zone 'global-templates' because we have an authoritative version of the zone's config.
[2019-09-16 15:58:52 +0200] warning/ApiListener: Ignoring config update for zone 'monitoring.gyselroth.net' because we have an authoritative version of the zone's config.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished syncing runtime objects to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending runtime config updates for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Sending replay log for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Replayed 1836 messages.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending replay log for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished syncing endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:04 +0200] information/ApiListener: New client connection from [10.242.2.14]:39484 (no client certificate)
[2019-09-16 15:59:04 +0200] information/HttpServerConnection: Request: PUT /v1/objects/servicegroups/monitoring (from [10.242.2.14]:39484), user: kube-icinga)
[2019-09-16 15:59:04 +0200] information/ConfigObjectUtility: Created and activated object 'monitoring' of type 'ServiceGroup'.
[2019-09-16 15:59:04 +0200] information/HttpServerConnection: HTTP client disconnected (from [10.242.2.14]:39484)
[2019-09-16 15:59:04 +0200] information/ApiListener: New client connection from [10.242.2.14]:39486 (no client certificate)
[2019-09-16 15:59:04 +0200] information/HttpServerConnection: Request: PUT /v1/objects/services/kubernetes-worker005.hidden1.com%21monitoring-icinga2-icinga2 (from [10.242.2.14]:39486), user: kube-icinga)
[2019-09-16 15:59:04 +0200] information/ConfigObjectUtility: Created and activated object 'kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2' of type 'Service'.
[2019-09-16 15:59:04 +0200] information/HttpServerConnection: HTTP client disconnected (from [10.242.2.14]:39486)
[2019-09-16 15:59:04 +0200] information/ApiListener: New client connection from [10.242.2.14]:39488 (no client certificate)
[2019-09-16 15:59:04 +0200] information/HttpServerConnection: Request: POST /v1/actions/restart-process?pretty=1 (from [10.242.2.14]:39488), user: kube-icinga)
[2019-09-16 15:59:04 +0200] information/HttpServerConnection: HTTP client disconnected (from [10.242.2.14]:39488)
[2019-09-16 15:59:05 +0200] information/Application: Got reload command: Starting new instance.
[2019-09-16 15:59:10 +0200] information/Application: Reload requested, letting new process take over.
[2019-09-16 15:59:10 +0200] information/ApiListener: 'api' stopped.
[2019-09-16 15:59:10 +0200] information/CheckerComponent: 'checker' stopped.
[2019-09-16 15:59:10 +0200] information/ExternalCommandListener: 'command' stopped.
[2019-09-16 15:59:13 +0200] information/FileLogger: 'mainlog' started.
[2019-09-16 15:59:13 +0200] information/ApiListener: 'api' started.
[2019-09-16 15:59:13 +0200] information/ApiListener: Copying 2 zone configuration files for zone 'global-templates' to '/var/lib/icinga2/api/zones/global-templates'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying configuration file update for path '/var/lib/icinga2/api/zones/global-templates' (0 Bytes). Received timestamp '2019-09-16 15:59:13 +0200' (1568642353.910783), Current timestamp '2019-09-16 15:58:17 +0200' (1568642297.742267).
[2019-09-16 15:59:13 +0200] information/ApiListener: Copying 36 zone configuration files for zone 'monitoring.gyselroth.net' to '/var/lib/icinga2/api/zones/monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying configuration file update for path '/var/lib/icinga2/api/zones/monitoring.gyselroth.net' (0 Bytes). Received timestamp '2019-09-16 15:59:13 +0200' (1568642353.914262), Current timestamp '2019-09-16 15:58:17 +0200' (1568642297.745967).
[2019-09-16 15:59:13 +0200] information/ApiListener: Started new listener on '[0.0.0.0]:5665'
[2019-09-16 15:59:13 +0200] information/ApiListener: Reconnecting to endpoint 'monitoring005.gyselroth.net' via host 'monitoring005.gyselroth.net' and port '5665'
[2019-09-16 15:59:13 +0200] information/ApiListener: Reconnecting to endpoint 'monitoring004.gyselroth.net' via host 'monitoring004.gyselroth.net' and port '5665'
[2019-09-16 15:59:13 +0200] information/NotificationComponent: 'notification' started.
[2019-09-16 15:59:13 +0200] information/ExternalCommandListener: 'command' started.
[2019-09-16 15:59:13 +0200] information/CheckerComponent: 'checker' started.
[2019-09-16 15:59:13 +0200] information/DbConnection: 'ido-mysql' started.
[2019-09-16 15:59:13 +0200] information/ConfigItem: Activated all objects.
[2019-09-16 15:59:13 +0200] information/ApiListener: New client connection for identity 'monitoring004.gyselroth.net' to [10.50.0.45]:5665
[2019-09-16 15:59:13 +0200] information/ApiListener: New client connection for identity 'monitoring005.gyselroth.net' to [10.50.0.46]:5665
[2019-09-16 15:59:13 +0200] information/ApiListener: Finished reconnecting to endpoint 'monitoring004.gyselroth.net' via host 'monitoring004.gyselroth.net' and port '5665'
[2019-09-16 15:59:13 +0200] information/ApiListener: Sending config updates for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Finished reconnecting to endpoint 'monitoring005.gyselroth.net' via host 'monitoring005.gyselroth.net' and port '5665'
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing configuration files for global zone 'global-templates' to endpoint 'monitoring004.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Sending config updates for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing configuration files for global zone 'global-templates' to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing configuration files for zone 'monitoring.gyselroth.net' to endpoint 'monitoring004.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing configuration files for zone 'monitoring.gyselroth.net' to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Finished sending config file updates for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing runtime objects to endpoint 'monitoring004.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Finished sending config file updates for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing runtime objects to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying config update from endpoint 'monitoring004.gyselroth.net' of zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] warning/ApiListener: Ignoring config update for zone 'global-templates' because we have an authoritative version of the zone's config.
[2019-09-16 15:59:13 +0200] warning/ApiListener: Ignoring config update for zone 'monitoring.gyselroth.net' because we have an authoritative version of the zone's config.
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying config update from endpoint 'monitoring005.gyselroth.net' of zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] warning/ApiListener: Ignoring config update for zone 'global-templates' because we have an authoritative version of the zone's config.
[2019-09-16 15:59:13 +0200] warning/ApiListener: Ignoring config update for zone 'monitoring.gyselroth.net' because we have an authoritative version of the zone's config.
[2019-09-16 15:59:14 +0200] critical/config: Error: Validation failed for object 'kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2' of type 'Service'; Attribute 'groups': Object 'monitoring' of type 'ServiceGroup' does not exist.
Location: in /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2.conf: 6:2-6:26
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2.conf(4):  check_command = "tcp"
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2.conf(5):  display_name = "monitoring-icinga2-icinga2"
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2.conf(6):  groups = [ "monitoring" ]
                                                                                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2.conf(7):  host_name = "kubernetes-worker005.hidden1.com"
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2.conf(8):  vars["_kubernetes"] = true

[2019-09-16 15:59:14 +0200] critical/config: 1 error
[2019-09-16 15:59:14 +0200] critical/ApiListener: Could not create object 'kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2':
[2019-09-16 15:59:14 +0200] critical/ApiListener: Error: Validation failed for object 'kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2' of type 'Service'; Attribute 'groups': Object 'monitoring' of type 'ServiceGroup' does not exist.
Location: in /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2.conf: 6:2-6:26
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished syncing runtime objects to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished sending runtime config updates for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Sending replay log for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished syncing runtime objects to endpoint 'monitoring004.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished sending runtime config updates for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Sending replay log for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ConfigObjectUtility: Created and activated object 'kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2' of type 'Service'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished sending replay log for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ConfigObjectUtility: Created and activated object 'monitoring' of type 'ServiceGroup'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished syncing endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished sending replay log for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished syncing endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:15 +0200] information/WorkQueue: #5 (ApiListener, RelayQueue) items: 0, rate: 41.8333/s (2510/min 2510/5min 2510/15min);
[2019-09-16 15:59:15 +0200] information/WorkQueue: #6 (ApiListener, SyncQueue) items: 0, rate: 0.0333333/s (2/min 2/5min 2/15min);
[2019-09-16 15:59:15 +0200] information/WorkQueue: #7 (IdoMysqlConnection, ido-mysql) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:23 +0200] information/WorkQueue: #11 (JsonRpcConnection, #1) items: 0, rate: 4.76667/s (286/min 286/5min 286/15min);
[2019-09-16 15:59:23 +0200] information/WorkQueue: #15 (JsonRpcConnection, #5) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:23 +0200] information/WorkQueue: #16 (JsonRpcConnection, #6) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:23 +0200] information/WorkQueue: #17 (JsonRpcConnection, #7) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:23 +0200] information/WorkQueue: #12 (JsonRpcConnection, #2) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:23 +0200] information/WorkQueue: #13 (JsonRpcConnection, #3) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:23 +0200] information/WorkQueue: #14 (JsonRpcConnection, #4) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:23 +0200] information/WorkQueue: #10 (JsonRpcConnection, #0) items: 0, rate: 8.45/s (507/min 507/5min 507/15min);

Logs from the other two endpoints

endpoint-2:

[2019-09-16 15:58:44 +0200] warning/TlsStream: TLS stream was disconnected.
[2019-09-16 15:58:44 +0200] warning/JsonRpcConnection: API client disconnected for identity 'monitoring005.gyselroth.net'
[2019-09-16 15:58:44 +0200] warning/ApiListener: Removing API client for endpoint 'monitoring005.gyselroth.net'. 0 API clients left.
[2019-09-16 15:58:48 +0200] information/WorkQueue: #7 (IdoMysqlConnection, ido-mysql) items: 2, rate: 50.2/s (3012/min 3012/5min 3012/15min);
[2019-09-16 15:58:52 +0200] information/ApiListener: New client connection for identity 'monitoring005.gyselroth.net' from [10.50.0.46]:40284
[2019-09-16 15:58:52 +0200] information/ApiListener: Sending config updates for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing configuration files for global zone 'global-templates' to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing configuration files for zone 'monitoring.gyselroth.net' to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending config file updates for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing runtime objects to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Applying config update from endpoint 'monitoring005.gyselroth.net' of zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished syncing runtime objects to endpoint 'monitoring005.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending runtime config updates for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Sending replay log for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending replay log for endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished syncing endpoint 'monitoring005.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:04 +0200] information/ConfigObjectUtility: Created and activated object 'monitoring' of type 'ServiceGroup'.
[2019-09-16 15:59:04 +0200] information/ConfigObjectUtility: Created and activated object 'kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2' of type 'Service'.
[2019-09-16 15:59:08 +0200] information/WorkQueue: #7 (IdoMysqlConnection, ido-mysql) items: 4, rate: 86.3167/s (5179/min 5179/5min 5179/15min);
[2019-09-16 15:59:12 +0200] warning/TlsStream: TLS stream was disconnected.
[2019-09-16 15:59:12 +0200] warning/JsonRpcConnection: API client disconnected for identity 'monitoring003.gyselroth.net'
[2019-09-16 15:59:12 +0200] warning/ApiListener: Removing API client for endpoint 'monitoring003.gyselroth.net'. 0 API clients left.
[2019-09-16 15:59:13 +0200] information/ApiListener: New client connection for identity 'monitoring003.gyselroth.net' from [10.50.0.44]:39790
[2019-09-16 15:59:13 +0200] information/ApiListener: Sending config updates for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing configuration files for global zone 'global-templates' to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing configuration files for zone 'monitoring.gyselroth.net' to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Finished sending config file updates for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing runtime objects to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying config update from endpoint 'monitoring003.gyselroth.net' of zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Updating configuration file: /var/lib/icinga2/api/zones/global-templates//.timestamp
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying configuration file update for path '/var/lib/icinga2/api/zones/global-templates' (17 Bytes). Received timestamp '2019-09-16 15:59:13 +0200' (1568642353.910783), Current timestamp '2019-09-16 15:58:17 +0200' (1568642297.742267).
[2019-09-16 15:59:13 +0200] information/ApiListener: Updating configuration file: /var/lib/icinga2/api/zones/monitoring.gyselroth.net//.timestamp
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying configuration file update for path '/var/lib/icinga2/api/zones/monitoring.gyselroth.net' (17 Bytes). Received timestamp '2019-09-16 15:59:13 +0200' (1568642353.914262), Current timestamp '2019-09-16 15:58:17 +0200' (1568642297.745967).
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished syncing runtime objects to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished sending runtime config updates for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Sending replay log for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished sending replay log for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished syncing endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:18 +0200] information/WorkQueue: #7 (IdoMysqlConnection, ido-mysql) items: 2, rate: 98.7333/s (5924/min 5924/5min 5924/15min)

endpoint-3:

[2019-09-16 15:58:52 +0200] information/ApiListener: Started new listener on '[0.0.0.0]:5665'
[2019-09-16 15:58:52 +0200] information/ApiListener: Reconnecting to endpoint 'monitoring003.gyselroth.net' via host 'monitoring003.gyselroth.net' and port '5665'
[2019-09-16 15:58:52 +0200] information/ApiListener: Reconnecting to endpoint 'monitoring004.gyselroth.net' via host 'monitoring004.gyselroth.net' and port '5665'
[2019-09-16 15:58:52 +0200] information/NotificationComponent: 'notification' started.
[2019-09-16 15:58:52 +0200] information/ExternalCommandListener: 'command' started.
[2019-09-16 15:58:52 +0200] information/CheckerComponent: 'checker' started.
[2019-09-16 15:58:52 +0200] information/DbConnection: 'ido-mysql' started.
[2019-09-16 15:58:52 +0200] information/ConfigItem: Activated all objects.
[2019-09-16 15:58:52 +0200] information/ApiListener: New client connection for identity 'monitoring004.gyselroth.net' to [10.50.0.45]:5665
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished reconnecting to endpoint 'monitoring004.gyselroth.net' via host 'monitoring004.gyselroth.net' and port '5665'
[2019-09-16 15:58:52 +0200] information/ApiListener: Sending config updates for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing configuration files for global zone 'global-templates' to endpoint 'monitoring004.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing configuration files for zone 'monitoring.gyselroth.net' to endpoint 'monitoring004.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: New client connection for identity 'monitoring003.gyselroth.net' to [10.50.0.44]:5665
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished reconnecting to endpoint 'monitoring003.gyselroth.net' via host 'monitoring003.gyselroth.net' and port '5665'
[2019-09-16 15:58:52 +0200] information/ApiListener: Sending config updates for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing configuration files for global zone 'global-templates' to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing configuration files for zone 'monitoring.gyselroth.net' to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending config file updates for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing runtime objects to endpoint 'monitoring004.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending config file updates for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Syncing runtime objects to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Applying config update from endpoint 'monitoring004.gyselroth.net' of zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Applying config update from endpoint 'monitoring003.gyselroth.net' of zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished syncing runtime objects to endpoint 'monitoring004.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending runtime config updates for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Sending replay log for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished syncing runtime objects to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending runtime config updates for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Sending replay log for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending replay log for endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished sending replay log for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished syncing endpoint 'monitoring004.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:52 +0200] information/ApiListener: Finished syncing endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:58:55 +0200] information/WorkQueue: #5 (ApiListener, RelayQueue) items: 0, rate: 101.033/s (6062/min 6062/5min 6062/15min);
[2019-09-16 15:58:55 +0200] information/WorkQueue: #6 (ApiListener, SyncQueue) items: 0, rate: 0.0333333/s (2/min 2/5min 2/15min);
[2019-09-16 15:58:55 +0200] information/WorkQueue: #7 (IdoMysqlConnection, ido-mysql) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:02 +0200] information/WorkQueue: #12 (JsonRpcConnection, #2) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:02 +0200] information/WorkQueue: #13 (JsonRpcConnection, #3) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:02 +0200] information/WorkQueue: #14 (JsonRpcConnection, #4) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:02 +0200] information/WorkQueue: #15 (JsonRpcConnection, #5) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:02 +0200] information/WorkQueue: #10 (JsonRpcConnection, #0) items: 0, rate: 0.133333/s (8/min 8/5min 8/15min);
[2019-09-16 15:59:02 +0200] information/WorkQueue: #11 (JsonRpcConnection, #1) items: 0, rate: 54.5167/s (3271/min 3271/5min 3271/15min);
[2019-09-16 15:59:02 +0200] information/WorkQueue: #16 (JsonRpcConnection, #6) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:02 +0200] information/WorkQueue: #17 (JsonRpcConnection, #7) items: 0, rate:  0/s (0/min 0/5min 0/15min);
[2019-09-16 15:59:04 +0200] information/ConfigObjectUtility: Created and activated object 'monitoring' of type 'ServiceGroup'.
[2019-09-16 15:59:04 +0200] information/ConfigObjectUtility: Created and activated object 'kubernetes-worker005.hidden1.com!monitoring-icinga2-icinga2' of type 'Service'.
[2019-09-16 15:59:12 +0200] warning/TlsStream: TLS stream was disconnected.
[2019-09-16 15:59:12 +0200] warning/JsonRpcConnection: API client disconnected for identity 'monitoring003.gyselroth.net'
[2019-09-16 15:59:12 +0200] warning/ApiListener: Removing API client for endpoint 'monitoring003.gyselroth.net'. 0 API clients left.
[2019-09-16 15:59:13 +0200] information/ApiListener: New client connection for identity 'monitoring003.gyselroth.net' from [10.50.0.44]:34210
[2019-09-16 15:59:13 +0200] information/ApiListener: Sending config updates for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing configuration files for global zone 'global-templates' to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing configuration files for zone 'monitoring.gyselroth.net' to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Finished sending config file updates for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Syncing runtime objects to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying config update from endpoint 'monitoring003.gyselroth.net' of zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:13 +0200] information/ApiListener: Updating configuration file: /var/lib/icinga2/api/zones/global-templates//.timestamp
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying configuration file update for path '/var/lib/icinga2/api/zones/global-templates' (17 Bytes). Received timestamp '2019-09-16 15:59:13 +0200' (1568642353.910783), Current timestamp '2019-09-16 15:58:17 +0200' (1568642297.742267).
[2019-09-16 15:59:13 +0200] information/ApiListener: Updating configuration file: /var/lib/icinga2/api/zones/monitoring.gyselroth.net//.timestamp
[2019-09-16 15:59:13 +0200] information/ApiListener: Applying configuration file update for path '/var/lib/icinga2/api/zones/monitoring.gyselroth.net' (17 Bytes). Received timestamp '2019-09-16 15:59:13 +0200' (1568642353.914262), Current timestamp '2019-09-16 15:58:17 +0200' (1568642297.745967).
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished syncing runtime objects to endpoint 'monitoring003.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished sending runtime config updates for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Sending replay log for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished sending replay log for endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.
[2019-09-16 15:59:14 +0200] information/ApiListener: Finished syncing endpoint 'monitoring003.gyselroth.net' in zone 'monitoring.gyselroth.net'.

@dnsmichi
Copy link
Contributor

Ah, so the error originates from a secondary master instance, not the one where you are creating the objects initially via API?

Then this would point to #7362.

@raffis
Copy link
Author

raffis commented Sep 17, 2019

Ah, so the error originates from a secondary master instance, not the one where you are creating the objects initially via API?

The error is logged on the instance where I created the objects.

@dnsmichi
Copy link
Contributor

dnsmichi commented Sep 17, 2019

The error is logged on the instance where I created the objects.

But only after you either restart the instance, or the secondary master in the same zone reconnects to this instance. The error originates from the runtime config object sync on connect, as can be seen in the logs.

[2019-09-16 15:59:13 +0200] information/ApiListener: New client connection for identity 'monitoring004.gyselroth.net' to [10.50.0.45]:5665
[2019-09-16 15:59:13 +0200] information/ApiListener: New client connection for identity 'monitoring005.gyselroth.net' to [10.50.0.46]:5665

This behaviour of "return to sender" is a different bug, long term and now fixed for 2.11. You may want to test the snapshot packages, or you'll wait for 2.11.

@raffis
Copy link
Author

raffis commented Sep 17, 2019

Yes as soon as I trigger the restart, which is required because of #6012.
I'll go ahead right now and install the rc, will report back.

Side question, do I need to trigger the restart only on one endpoint or on all of them to get around #6012?

@dnsmichi
Copy link
Contributor

It is not fixed in the RC, we've fixed this afterwards from customer's feedback. AFAIK 19.8.2019 or so.

In terms of the linked issue, the node where the IDO feature is active (if enable_ha=true).

@raffis
Copy link
Author

raffis commented Sep 17, 2019

Yes just got that :/, with the rc I have other weird errors. I'll install the latest snapshot version.

@raffis
Copy link
Author

raffis commented Sep 17, 2019

I still see errors like:

[2019-09-17 10:48:34 +0200] critical/config: Error: Validation failed for object 'kubernetes-ingresses-tam!tubeestage.example.org-http--' of type 'Service'; Attribute 'groups': Object 'tubee-stage' of type 'ServiceGroup' does not exist.
Location: in /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-ingresses-tam!tubeestage.example.org-http--.conf: 6:2-6:27
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-ingresses-tam!tubeestage.example.org-http--.conf(4):  check_command = "http"
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-ingresses-tam!tubeestage.example.org-http--.conf(5):  display_name = "tubeestage.example.org/:https"
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-ingresses-tam!tubeestage.example.org-http--.conf(6):  groups = [ "tubee-stage" ]
                                                                                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-ingresses-tam!tubeestage.example.org-http--.conf(7):  host_name = "kubernetes-ingresses-tam"
/var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/services/kubernetes-ingresses-tam!tubeestage.example.org-http--.conf(8):  vars["_kubernetes"] = true

And in addition to that with the latest snaphot I have errors (api response) like:

{"results":[{"code":500,"errors":["Error: Object 'kubernetes-volumes-tam' of type 'Host' re-defined: in /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/hosts/kubernetes-volumes-tam.conf: 1:0-1:35; previous definition: in /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/hosts/kubernetes-volumes-tam.conf: 1:0-1:35\nLocation: in /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/hosts/kubernetes-volumes-tam.conf: 1:0-1:35"],"status":"Object could not be created."}]}}

The file /var/lib/icinga2/api/packages/_api/monitoring003-1466778742-1/conf.d/hosts/kubernetes-volumes-tam.conf doesn't exists, neither on the other two endpoints.

Guess I'll rollback to v1.10. The api seems unusable with multiple endpoints in one zone.
The last thing I can try is to create a dedicated zone for kube-icinga with one endpoint and create all objects in that very zone.

@dnsmichi
Copy link
Contributor

Ok, thanks for testing. Then it is still related to the sync order with #7362. I'm not sure when I will find the time to look into these issues, but definitely after 2.11 is released and highly likely after OSMC. Since the linked issue holds some pointers, you might want to look into the source code yourself.

@Al2Klimov
Copy link
Member

@raffis Please could you try v2.11.3?

@Al2Klimov
Copy link
Member

IMAO the lack of external feedback for a long time indicates that that feedback will never happen. Therefore closing this one.

Feel free to re-open if the problem persists with the latest Icinga 2 version as long as you provide the desired information.

@Al2Klimov Al2Klimov removed the needs feedback We'll only proceed once we hear from you again label Sep 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/api REST API
Projects
None yet
Development

No branches or pull requests

3 participants