Icinga2.service: main process exited, code=exited, status=1/FAILURE

Error:
– Unit icinga2.service has begun starting up.
feb 06 09:42:54 localhost.localdomain icinga2[5398]: [2020-02-06 09:42:54 +0100] information/cli: Icinga application loader (version: 2.11.2
feb 06 09:42:54 localhost.localdomain icinga2[5398]: [2020-02-06 09:42:54 +0100] information/cli: Loading configuration file(s).
feb 06 09:42:54 localhost.localdomain icinga2[5398]: [2020-02-06 09:42:54 +0100] critical/config: Error: Object ‘client-pki-ticket’ of type
feb 06 09:42:54 localhost.localdomain icinga2[5398]: Location: in /etc/icinga2/conf.d/api-users.conf: 5:1-5:34
feb 06 09:42:54 localhost.localdomain icinga2[5398]: /etc/icinga2/conf.d/api-users.conf(3): */
feb 06 09:42:54 localhost.localdomain icinga2[5398]: /etc/icinga2/conf.d/api-users.conf(4):
feb 06 09:42:54 localhost.localdomain icinga2[5398]: /etc/icinga2/conf.d/api-users.conf(5): object ApiUser “client-pki-ticket” {
feb 06 09:42:54 localhost.localdomain icinga2[5398]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
feb 06 09:42:54 localhost.localdomain icinga2[5398]: /etc/icinga2/conf.d/api-users.conf(6): password = "6abb054f0c369cde52cd1c7b9f8005991820
feb 06 09:42:54 localhost.localdomain icinga2[5398]: /etc/icinga2/conf.d/api-users.conf(7): permissions = [ “actions/generate-ticket” ]
feb 06 09:42:54 localhost.localdomain icinga2[5398]: [2020-02-06 09:42:54 +0100] critical/cli: Config validation failed. Re-run with 'icinga
feb 06 09:42:54 localhost.localdomain systemd[1]: icinga2.service: main process exited, code=exited, status=1/FAILURE
feb 06 09:42:54 localhost.localdomain systemd[1]: Failed to start Icinga host/service/network monitoring system.

My configuration file in: /etc/icinga2/conf.d/hosts.conf
/*

Host definitions with object attributes
used for apply rules for Service, Notification,
Dependency and ScheduledDowntime objects.
Tip: Use icinga2 object list --type Host to
list all host objects after running
configuration validation (icinga2 daemon -C).
*/

/*

This is an example host based on your
local host’s FQDN. Specify the NodeName
constant in constants.conf or use your
own description, e.g. “db-host-1”.
*/

object Host NodeName {
/* Import the default host template defined in templates.conf. */
import “generic-host”

/* Specify the address attributes for checks e.g. ssh or http. */
address = “127.0.0.1”
address6 = “::1”

/* Set custom variable os for hostgroup assignment in groups.conf. */
vars.os = “Linux”

/* Define http vhost attributes for service apply rules in services.conf. /
vars.http_vhosts[“http”] = {
http_uri = “/”
}
/ Uncomment if you’ve sucessfully installed Icinga Web 2. */
//vars.http_vhosts[“Icinga Web 2”] = {
// http_uri = “/icingaweb2”
//}

/* Define disks and attributes for service apply rules in services.conf. /
vars.disks[“disk”] = {
/ No parameters. */
}
vars.disks[“disk /”] = {
disk_partitions = “/”
}

/* Define notification mail attributes for notification apply rules in notifications.conf. /
vars.notification[“mail”] = {
/ The UserGroup icingaadmins is defined in users.conf. */
groups = [ “icingaadmins” ]
}
}

object Host “DESKTOP-KAJDKSR” {

address = "192.168.222.123"
check_command = "hostalive"

}
my configuration file in . /etc/icinga2/conf.d/services.conf
/*

Service apply rules.
The CheckCommand objects ping4, ping6, etc
are provided by the plugin check command templates.
Check the documentation for details.
Tip: Use icinga2 object list --type Service to
list all service objects after running
configuration validation (icinga2 daemon -C).
*/

/*

This is an example host based on your
local host’s FQDN. Specify the NodeName
constant in constants.conf or use your
own description, e.g. “db-host-1”.
*/

/*

These are generic ping4 and ping6
checks applied to all hosts having the
address resp. address6 attribute
defined.
*/
apply Service “ping4” {
import “generic-service”

check_command = “ping4”

assign where host.address
}

apply Service “ping6” {
import “generic-service”

check_command = “ping6”

assign where host.address6
}

/*

Apply the ssh service to all hosts
with the address attribute defined and
the custom variable os set to Linux.
*/
apply Service “ssh” {
import “generic-service”

check_command = “ssh”

assign where (host.address || host.address6) && host.vars.os == “Linux”
}

apply Service for (http_vhost => config in host.vars.http_vhosts) {
import “generic-service”

check_command = “http”

vars += config
}

apply Service for (disk => config in host.vars.disks) {
import “generic-service”

check_command = “disk”

vars += config
}

apply Service “icinga” {
import “generic-service”

check_command = “icinga”

assign where host.name == NodeName
}

apply Service “load” {
import “generic-service”

check_command = “load”

/* Used by the ScheduledDowntime apply rule in downtimes.conf. */
vars.backup_downtime = “02:00-03:00”

assign where host.name == NodeName
}

apply Service “procs” {
import “generic-service”

check_command = “procs”

assign where host.name == NodeName
}

apply Service “swap” {
import “generic-service”

check_command = “swap”

assign where host.name == NodeName
}

apply Service “users” {
import “generic-service”

check_command = “users”

assign where host.name == NodeName
}

my configuration file in: /etc/icinga2/conf.d/api-users.conf
/**

The ApiUser objects are used for authentication against the API.
/
object ApiUser “root” {
password = "***"
// client_cn = “”

permissions = [ “*” ]
}
object ApiUser “client-pki-ticket” {
password = “6abb054f0c369cde52cd1c7b9f80059918204771”
permissions = [ “actions/generate-ticke” ]
}

Please proceed in No services found matching the filter. | No services found matching the filter. Icingaweb