Icinga2: Remote Clients
Ich verwende einen Backup Server der einmal am Tag “aufwacht” und Backups von definierten Rechner via rsnapshot zieht. Der “Server” ist ein Pentium 3 mit einem aktuelle Debian 9.
Ich möchte natürlich auch auf diesem Server eine Überwachung des Festplattenplatzes und der Aktualität des Backups durchführen. Da der Server nicht ständig läuft müssen die Checks von Backup Server angestossen werden und dafür habe ich bisher NSCA verwendet. Leider scheint dieses Verfahren für Icinga2 nicht mehr so verwendbar zu sein denn es gibt etwas viel besserers, an das ich mich aber bisher nicht getraut habe. Heute habe ich diese Beschreibung gefunden und war in 20 Minuten fertig. deeply impressed
Hier meine Notizen
Auf dem Server
Konfiguration des Masters
icinga2 node wizard
Welcome to the Icinga 2 Setup Wizard!
We'll guide you through all required configuration details.
Please specify if this is a satellite setup ('n' installs a master setup) [Y/n] : n
Starting the Master setup routine...
Please specify the common name (CN) [icinga.server.de]:
Checking for existing certificates for common name 'icinga.server.de'...
Certificate '/etc/icinga2/pki/icinga.server.de.crt' for CN 'icinga.server.de' already existing. Skipping certificate generation.
Generating master configuration for Icinga 2.
information/cli: API user config file '/etc/icinga2/conf.d/api-users.conf' already exists, not creating config file.
'api' feature already enabled.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
Please specify the API bind host/port (optional):
Bind Host []:
Bind Port []:
information/cli: Created backup file '/etc/icinga2/features-available/api.conf. orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Eine Zonendatei anpassen und neu starten
vi /etc/icinga2/zones.conf
object Endpoint "icinga.server.de" {
}
object Zone "icinga.server.de" {
endpoints = ["icinga.server.de" ]
}
/etc/init.d/icinga2 restart
Für den Client den wir gleich einrichten müssen wir ein Ticket erstellen:
pki ticket --cn 'client.server.de'
fd6c5fadd492de1fea510600bdd43d949f222202
Auf dem Client
Der Client ist mein alter Backup Server (Pentium 3) auf dem noch Icinga2 installiert werden muss
apt install icinga2 nagios-plugins
Icinga2 starten und prüfen ob alles läuft
/etc/init.d/icinga2 start [ ok ] Starting icinga2 (via systemctl): icinga2.service.
Jetzt starten wir wieder einen Wizard der fast alles für uns macht. Einige der Aktionen habe ich für eine bessere Übersicht entfernt.
icinga2 node wizard
Welcome to the Icinga 2 Setup Wizard!
We'll guide you through all required configuration details.
Please specify if this is a satellite setup ('n' installs a master setup) [Y/n] : y
Starting the Node setup routine...
Please specify the common name (CN) [client.server.de]:
Please specify the master endpoint(s) this node should connect to:
Master Common Name (CN from your master setup): icinga.server.de
Do you want to establish a connection to the master from this node? [Y/n]:
Please fill out the master connection information:
Master endpoint host (Your master's IP address or FQDN): icinga.server.de
Master endpoint port [5665]:
Add more master endpoints? [y/N]:
Please specify the master connection for CSR auto-signing (defaults to master endpoint host):
Host [icinga.server.de]:
Port [5665]:
information/base: Writing private key to '/etc/icinga2/pki/client.server.de. key'.
information/base: Writing X509 certificate to '/etc/icinga2/pki/client.server. de.crt'.
information/cli: Fetching public certificate from master (icinga.server.de, 5665):
Certificate information:
Subject: CN = icinga.server.de
Issuer: CN = Icinga CA
Valid From: Jun 20 06:34:49 2017 GMT
Valid Until: Jun 16 06:34:49 2032 GMT
Fingerprint: BA 2C F7 E6 21 88 01 10 17 E6 49 7C 54 81 A2 D7 63 DF F5 A7
Is this information correct? [y/N]: y
information/cli: Received trusted master certificate.
Please specify the request ticket generated on your Icinga 2 master.
(Hint: # icinga2 pki ticket --cn 'client.server.de'): fd6c5fadd492de1fea510600bdd43d949f222202
information/cli: Requesting certificate with ticket 'fd6c5fadd492de1fea510600bdd43d949f222202'.
information/cli: Created backup file '/etc/icinga2/pki/client.server.de.crt. orig'.
information/cli: Writing signed certificate to file '/etc/icinga2/pki/client. server.de.crt'.
information/cli: Writing CA certificate to file '/etc/icinga2/pki/ca.crt'.
Please specify the API bind host/port (optional):
Bind Host []:
Bind Port []:
Accept config from master? [y/N]: y
Accept commands from master? [y/N]: y
information/cli: Disabling the Notification feature.
Disabling feature notification. Make sure to restart Icinga 2 for these changes to take effect
......
Done.
Now restart your Icinga 2 daemon to finish the installation!
/etc/init.d/icinga2 restart
Wieder die Zone.conf anpassen
vi /etc/icinga2/zones.conf
object Endpoint "icinga.server.de" {
host = "icinga.server.de"
port = "5665"
}
object Zone "master" {
endpoints = [ "icinga.server.de" ]
}
object Endpoint "client.server.de" {
}
object Zone "client.server.de" {
endpoints = ["client.server.de" ]
parent = "master"
}
Auf dem Server
Auf dem Server kann man sehen welche Services eingerichtet wurden
icinga2 node list
Warning: CLI command 'node list' is DEPRECATED! Please read the Changelog.
Node 'client.server.de' (last seen: Thu Aug 24 20:42:01 2017)
* Host 'client.server.de'
* Service 'apt'
* Service 'disk'
* Service 'disk /'
* Service 'http'
* Service 'icinga'
* Service 'load'
* Service 'ping4'
* Service 'ping6'
* Service 'procs'
* Service 'ssh'
* Service 'swap'
* Service 'users'
Und dann gibt es einen Befehl der automatisch die Konfigurationen für die Checks des clients anlegt
icinga2 node update-config
/etc/init.d/icinga2 restart
Und TARAAAA
Auf dem Client
Jetzt sind auf dem Satelliten alle Standardchecks installiert von denen ich in diesem Falle viele nicht brauche. Die kann man wie üblich aus der Service Konfiguration löschen
vi services.conf
/etc/init.d/icinga2 restart
Auf dem Server schauen wir jetzt noch mal an was so anliegt
icinga2 node list
Warning: CLI command 'node list' is DEPRECATED! Please read the Changelog.
Node 'client.server.de' (last seen: Thu Aug 24 20:54:34 2017)
* Host 'client.server.de'
* Service 'apt'
* Service 'swap'
Und aktualisieren die Konfiguration
icinga2 node update-config
dabei werden alle gelöschten Services auch auf dem Master gelöscht
Jetzt muss ich nur noch die alten Checks wieder einrichten die ich früher über NSCA transportiert habe.