Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

centos:web_c7:icinga:director [09.08.2016 10:57. ] – [Icinga 2 from scratch] djangocentos:web_c7:icinga:director [20.04.2018 10:36. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 133: Zeile 133:
  * directory. Each of these files must have the file extension ".conf".  * directory. Each of these files must have the file extension ".conf".
  */  */
-// Django : 2016-08-01 +include_recursive "conf.d"
-// default: include_recursive "conf.d" +
-// include_recursive "conf.d"+
  
 </file> </file>
Zeile 303: Zeile 301:
  create mode 100644 test/php/library/Director/CustomVariable/CustomVariablesTest.php</code>  create mode 100644 test/php/library/Director/CustomVariable/CustomVariablesTest.php</code>
  
-Hat sich an der MariaDB etwas geändert muss ein entsprechneder Update der mySQL-Definitionen erfolgen. Hierzu wechseln wir in Module Konfiguration des Icinga-Director und klicken auf den Reiter **Konfiguration**.+Hat sich an der MariaDB etwas geändert muss ein entsprechneder Update der mySQL-Definitionen erfolgenin der WEB-GUI unseres Icinga 2 Director wir dazu ein entsprechender Hinweis angezeigt.
  
-FIXME (//Bild einfügen, wenn ein Datenbankupdate nötig ist!//)+{{ :centos:web_c7:icinga:director_083.png?901 |Bild: Update Icinga 2 Director Datenbank Update}}
  
 +Mit einem Klick auf die Schaltfläche **[ Schema-Migrations-Scripte anwenden ]** starten wir den Aktualisierungsvorgang. Wurden die Aktualisierungen erfolgreich beendet, wird uns dies am unteren Bildschirmrand entsprechend angezeigt.
 +
 +{{ :centos:web_c7:icinga:director_084.png?901 |Bild: Update Icinga 2 Director Datenbank Update}}
  
    
 ===== Grund-Konfiguration ===== ===== Grund-Konfiguration =====
 +==== API Setup ====
 +
 +https://docs.icinga.com/icinga2/latest/doc/module/icinga2/chapter/icinga2-api
 +
 +
 +<code>[root@vml000117 features-enabled]# systemctl status icinga2.service
 +● icinga2.service - Icinga host/service/network monitoring system
 +   Loaded: loaded (/usr/lib/systemd/system/icinga2.service; enabled; vendor preset: disabled)
 +   Active: active (running) since Mon 2017-03-06 20:36:14 CET; 1s ago
 +  Process: 30906 ExecStart=/usr/sbin/icinga2 daemon -d -e ${ICINGA2_ERROR_LOG} (code=exited, status=0/SUCCESS)
 +  Process: 30842 ExecStartPre=/usr/lib/icinga2/prepare-dirs /etc/sysconfig/icinga2 (code=exited, status=0/SUCCESS)
 + Main PID: 30932 (icinga2)
 +   CGroup: /system.slice/icinga2.service
 +           ├─30927 /usr/lib64/icinga2/sbin/icinga2 --no-stack-rlimit daemon -d -e /var/log/icinga2/error.log
 +           └─30932 /usr/lib64/icinga2/sbin/icinga2 --no-stack-rlimit daemon -d -e /var/log/icinga2/error.log
 +
 +Mar 06 20:36:14 vml000117.dmz.nausch.org systemd[1]: Starting Icinga host/service/network monitoring system...
 +Mar 06 20:36:14 vml000117.dmz.nausch.org systemd[1]: Started Icinga host/service/network monitoring system.
 +[root@vml000117 features-enabled]# icinga2 api setup
 +information/cli: Generating new CA.
 +information/base: Writing private key to '/var/lib/icinga2/ca/ca.key'.
 +information/base: Writing X509 certificate to '/var/lib/icinga2/ca/ca.crt'.
 +information/cli: Generating new CSR in '/etc/icinga2/pki/vml000117.dmz.nausch.org.csr'.
 +information/base: Writing private key to '/etc/icinga2/pki/vml000117.dmz.nausch.org.key'.
 +information/base: Writing certificate signing request to '/etc/icinga2/pki/vml000117.dmz.nausch.org.csr'.
 +information/cli: Signing CSR with CA and writing certificate to '/etc/icinga2/pki/vml000117.dmz.nausch.org.crt'.
 +information/pki: Writing certificate to file '/etc/icinga2/pki/vml000117.dmz.nausch.org.crt'.
 +information/cli: Copying CA certificate to '/etc/icinga2/pki/ca.crt'.
 +information/cli: API user config file '/etc/icinga2/conf.d/api-users.conf' already exists, not creating config file.
 +information/cli: Enabling the 'api' feature.
 +Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
 +Done.
 +
 +Now restart your Icinga 2 daemon to finish the installation!
 +
 +[root@vml000117 features-enabled]# systemctl restart icinga2.service 
 +[root@vml000117 features-enabled]# systemctl status icinga2.service
 +● icinga2.service - Icinga host/service/network monitoring system
 +   Loaded: loaded (/usr/lib/systemd/system/icinga2.service; enabled; vendor preset: disabled)
 +   Active: active (running) since Mon 2017-03-06 20:37:07 CET; 1s ago
 +  Process: 31131 ExecStart=/usr/sbin/icinga2 daemon -d -e ${ICINGA2_ERROR_LOG} (code=exited, status=0/SUCCESS)
 +  Process: 31068 ExecStartPre=/usr/lib/icinga2/prepare-dirs /etc/sysconfig/icinga2 (code=exited, status=0/SUCCESS)
 + Main PID: 31157 (icinga2)
 +   CGroup: /system.slice/icinga2.service
 +           ├─31152 /usr/lib64/icinga2/sbin/icinga2 --no-stack-rlimit daemon -d -e /var/log/icinga2/error.log
 +           └─31157 /usr/lib64/icinga2/sbin/icinga2 --no-stack-rlimit daemon -d -e /var/log/icinga2/error.log
 +
 +Mar 06 20:37:06 vml000117.dmz.nausch.org systemd[1]: Starting Icinga host/service/network monitoring system...
 +Mar 06 20:37:07 vml000117.dmz.nausch.org systemd[1]: Started Icinga host/service/network monitoring system.
 +</code>
 ==== CA erstellen ==== ==== CA erstellen ====
    # icinga2 node wizard    # icinga2 node wizard
Zeile 406: Zeile 457:
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.</b> Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.</b>
  
-MariaDB server version for the right syntax to use near 'SET 'utf8'' at line 1 
 MariaDB [(none)]> CREATE DATABASE icinga_director CHARACTER SET 'utf8'; MariaDB [(none)]> CREATE DATABASE icinga_director CHARACTER SET 'utf8';
 <b>Query OK, 1 row affected (0.00 sec)</b> <b>Query OK, 1 row affected (0.00 sec)</b>
Zeile 424: Zeile 474:
 </html> </html>
  
-Anschließend befüllen wir die gerade angelegt Datenbank mit Leben. Hierzu verwenden wir das Schema, aus dem Verzeichnis //**/usr/share/icingaweb2/modules/director/schema/**//. 
-   # mysql icinga_director -u icinga_director -p < /usr/share/icingaweb2/modules/director/schema/mysql.sql 
- 
-  Enter password:  
  
 ==== MariaDB Datenbank-Ressource ==== ==== MariaDB Datenbank-Ressource ====
Zeile 446: Zeile 492:
 charset = "utf8" charset = "utf8"
 port = "3306" port = "3306"
-persistent = "1"+persistent = "0"
  
 ... ...
 </file> </file>
 +
 +Alternativ dazu kann man natürlich dazu auch die **Icinga Web 2 GUI** verwenden. Im Menü **Konfiguration** klicken wir auf die Schaltfläche **+ Neue Ressource erstellen**.
 +
 +{{ :centos:web_c7:icinga:director_077.png?direct&900 |Bild: Icinga web 2 GUI - erstellen der icinga2-director Datenbank-Anbindung}}
 +
 +Hier tragen wir nun unsere zuvor definierten Daten für die Anbindung an unseren MariaDB-Server ein. Zum Schluss klicken wir auf die Schaltfläche **[   ]** zum Abspeichern unserer Konfigurationsänderung - dabei wir dann auch gleich getestet, ob ein Zugriff auf die director-Datebank mit den eigegebenen Werten möglich ist. 
 +
 +{{ :centos:web_c7:icinga:director_078.png?direct&900 |Bild: Icinga web 2 GUI - erstellen der icinga2-director Datenbank-Anbindung}}
 +
 +
 +
 +
 +{{ :centos:web_c7:icinga:director_079.png?direct&900 |Bild: Icinga web 2 GUI - erstellen der icinga2-director Datenbank-Anbindung}}
 +
 +
  
 ==== director-global ==== ==== director-global ====
Zeile 482: Zeile 543:
 {{ :centos:web_c7:icinga:director_002.png?direct&900 |Bild: Icinga Web 2 aktiviertes Module director}} {{ :centos:web_c7:icinga:director_002.png?direct&900 |Bild: Icinga Web 2 aktiviertes Module director}}
  
-Über den Reiter **Configuration** erreichen wir nun die Einstellungsseite für die Angaben zur Anbindung des Icinga Directors zum Icinga 2 Serverkurzum dem **Kickstart Assistant**.+Über den Reiter **Configuration** erreichen wir nun die Einstellungsseite für die Director spezifischen Dinge. Da wir noch kein Datenbankschema angelegt habenwerden wir dies nun erst einmal nachholen; dazu klicken wir auf die Schaltfläche **[ Datenbankschema erstellen ]**. 
 + 
 +{{ :centos:web_c7:icinga:director_080.png?direct&900 |Bild: Icinga Web 2 Director Konfigurationsseite}} 
 + 
 +Wurde die Datenbank erfolgreich befüllt wird uns dies um unteren Bildschirmrand eingeblendet. 
 + 
 +{{ :centos:web_c7:icinga:director_081.png?direct&900 |Bild: Icinga Web 2 Director Konfigurationsseite}}
  
-{{ :centos:web_c7:icinga:director_003.png?direct&900 |Bild: Icinga Web aktiviertes Modul director}}+Beim **Kickstart Assistant** tragen wir nun die Daten für unseren Icinga 2 Server ein. Anschließend wählen wir die Schaltfläche ** [  Import ausführen  ]** aus. 
  
-Beim Datenbankbackend wählen wir nun unsere zuvor definierte Ressource **icinga_directordb** aus.  
  
-{{ :centos:web_c7:icinga:director_004.png?direct&901 |Bild: Icinga Web 2 Kickstart Assistant}}+{{ :centos:web_c7:icinga:director_082.png?direct&900 |Bild: Icinga Web 2 Director Konfigurationsseite}}
  
-Beim Kickstart Assistant tragen wir nun die Daten für unseren Icinga 2 Server ein. Anschließend wählen wir die Schaltfläche ** [  Import ausführen  ]** aus. Die erfolgreiche Integration wird uns am unteren Bildschirmrand wieder eingeblendet.+Die erfolgreiche Integration wird uns am unteren Bildschirmrand wieder eingeblendet.
  
 {{ :centos:web_c7:icinga:director_005.png?direct&900 |Bild: Icinga Web 2 Kickstart Assistant}} {{ :centos:web_c7:icinga:director_005.png?direct&900 |Bild: Icinga Web 2 Kickstart Assistant}}
Zeile 559: Zeile 625:
 Bei der **Check Ausführung** wählen wir dann das Kommando **hostalive** aus und definieren die Standardzeiten  für die Check-Ausführung. Bei der **Check Ausführung** wählen wir dann das Kommando **hostalive** aus und definieren die Standardzeiten  für die Check-Ausführung.
  
-{{ :centos:web_c7:icinga:director_011.png?direct&900 |Bild: Icinga 2 Director - Anlegen des Host-Templates Icinga Agent}}+{{ :centos:web_c7:icinga:director_011.png?direct&901 |Bild: Icinga 2 Director - Anlegen des Host-Templates Icinga Agent}}
  
 Anschließend legen wir uns unseren ersten Host an und importieren das zu vor definiert Template **Icinga Agent**. Anschließend legen wir uns unseren ersten Host an und importieren das zu vor definiert Template **Icinga Agent**.
Zeile 725: Zeile 791:
 {{ :centos:web_c7:icinga:director_037.png?direct&900 |Bild: Icinga 2 Director - Anlegen des Services Icinga Agent}} {{ :centos:web_c7:icinga:director_037.png?direct&900 |Bild: Icinga 2 Director - Anlegen des Services Icinga Agent}}
  
-{{ :centos:web_c7:icinga:director_038.png?direct&900 |Bild: Icinga 2 Director - Anlegen des Services Icinga Agent}}+{{ :centos:web_c7:icinga:director_038.png?direct&901 |Bild: Icinga 2 Director - Anlegen des Services Icinga Agent}}
  
-{{ :centos:web_c7:icinga:director_039.png?direct&900 |Bild: Icinga 2 Director - Anlegen des Services Icinga Agent}}+{{ :centos:web_c7:icinga:director_039.png?direct&901 |Bild: Icinga 2 Director - Anlegen des Services Icinga Agent}}
  
 ==== Kommandos ==== ==== Kommandos ====
Zeile 865: Zeile 931:
    # cd /etc/icinga2/scripts    # cd /etc/icinga2/scripts
  
-   # wget https://raw.githubusercontent.com/sysadmama/misc/master/icinga2/scripts/host-by-mail.sh -Odirector-mail-host-notifications.sh+   # wget https://raw.githubusercontent.com/sysadmama/misc/master/icinga2/scripts/host-by-mail.sh -Odirector-mail-host-notification.sh
  
    # wget https://raw.githubusercontent.com/sysadmama/misc/master/icinga2/scripts/service-by-mail.sh -Odirector-mail-service-notification.sh    # wget https://raw.githubusercontent.com/sysadmama/misc/master/icinga2/scripts/service-by-mail.sh -Odirector-mail-service-notification.sh
Zeile 873: Zeile 939:
  
 Diese Scripte passen wir nun unserer Monitoring-Umgebung und unseren Anforderungen entsprechend an, damit z.B. später links in der Nachricht auf den richtigen Monitoring Hosts enden. Ebenso beschneiden wir die **Subject/Betreffzeilen** da Nachrichten wenn diese an externe eMail-Adressen versandt werden zwar automatisch mit **[[centos:mail_c7:zeyple|Zeyple]]** verschlüsselt werden, die Headerzeile jedoch weiterhin unverschlüsselt für fremde Augen einsehbar ist. Schließlich geht keinem externen etwas an, welcher unserer Hosts oder Services eine Notification generiert hat. Diese Scripte passen wir nun unserer Monitoring-Umgebung und unseren Anforderungen entsprechend an, damit z.B. später links in der Nachricht auf den richtigen Monitoring Hosts enden. Ebenso beschneiden wir die **Subject/Betreffzeilen** da Nachrichten wenn diese an externe eMail-Adressen versandt werden zwar automatisch mit **[[centos:mail_c7:zeyple|Zeyple]]** verschlüsselt werden, die Headerzeile jedoch weiterhin unverschlüsselt für fremde Augen einsehbar ist. Schließlich geht keinem externen etwas an, welcher unserer Hosts oder Services eine Notification generiert hat.
-   # vim /etc/icinga2/scripts/director-mail-host-notifications.sh+   # vim /etc/icinga2/scripts/director-mail-host-notification.sh
  
 <file bash director-mail-host-notifications.sh>#!/bin/bash <file bash director-mail-host-notifications.sh>#!/bin/bash
Zeile 929: Zeile 995:
 </file> </file>
  
-   # vim /etc/icinga2/scripts/director-mail-host-notifications.sh+   # vim /etc/icinga2/scripts/director-mail-host-notification.sh
  
 <file bash director-mail-service-notification.sh>#!/bin/bash <file bash director-mail-service-notification.sh>#!/bin/bash
Zeile 993: Zeile 1059:
 Beim **Kommandotyp** wählen wir dabei aus dem **drop down** Menü die Option **//Notification Plugin Command//** aus und geben beim **Kommando** den vollen Pfad und den Namen des jeweiligen bash-Scriptes an.  Beim **Kommandotyp** wählen wir dabei aus dem **drop down** Menü die Option **//Notification Plugin Command//** aus und geben beim **Kommando** den vollen Pfad und den Namen des jeweiligen bash-Scriptes an. 
  
-{{ :centos:web_c7:icinga:director_064.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}}+{{ :centos:web_c7:icinga:director_064.png?direct&901 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}}
  
 Auf dem Reiter **Argumente** definieren wir nun noch die im Bash-Script von **[[https://www.spiller.me/|Marianne M. Spiller]]** definierten Optionen.  Auf dem Reiter **Argumente** definieren wir nun noch die im Bash-Script von **[[https://www.spiller.me/|Marianne M. Spiller]]** definierten Optionen. 
  
-{{ :centos:web_c7:icinga:director_065.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}}+{{ :centos:web_c7:icinga:director_065.png?direct&901 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}}
  
 Dank der //**icinga runtime macros**// werden dann zur Laufzeit jeweils die gewünschten Werte übertragen. Der Option **-a** im Bash-Script wird so z.B. über das //**runtime macro**// **$address$** die jeweilige IP-Adresse übermittelt. Dank der //**icinga runtime macros**// werden dann zur Laufzeit jeweils die gewünschten Werte übertragen. Der Option **-a** im Bash-Script wird so z.B. über das //**runtime macro**// **$address$** die jeweilige IP-Adresse übermittelt.
Zeile 1003: Zeile 1069:
 {{ :centos:web_c7:icinga:director_067.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}} {{ :centos:web_c7:icinga:director_067.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}}
  
-Die vollständige //**zones.d/director-global/commands.con**// Definition hat also folgenden Inhalt.+Die vollständige //**zones.d/director-global/commands.conf**// Definition hat also folgenden Inhalt.
 <code>object NotificationCommand "10_director-mail-host-notification" { <code>object NotificationCommand "10_director-mail-host-notification" {
     execute = PluginNotification     execute = PluginNotification
     command = [     command = [
-        "/etc/icinga2/scripts/director-mail-host-notifications.sh"+        "/etc/icinga2/scripts/director-mail-host-notification.sh"
     ]     ]
     arguments = {     arguments = {
Zeile 1024: Zeile 1090:
 Wie beim Kommando für die Host-Notifications werden wir nun auch noch ein Kommando für die Service-Notifications anlegen. Wie beim Kommando für die Host-Notifications werden wir nun auch noch ein Kommando für die Service-Notifications anlegen.
  
-{{ :centos:web_c7:icinga:director_068.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}}+{{ :centos:web_c7:icinga:director_068.png?direct&898 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}}
  
 Auch hier legen wir dann für jede Option aus dem Bash-Script ein zugehöriges Argument an, damit die benötigten Daten zur Laufzeit dem Script übergeben werden können. Auch hier legen wir dann für jede Option aus dem Bash-Script ein zugehöriges Argument an, damit die benötigten Daten zur Laufzeit dem Script übergeben werden können.
  
-{{ :centos:web_c7:icinga:director_070.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}}+{{ :centos:web_c7:icinga:director_070.png?direct&899 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines neuen Kommandos Notification}}
  
-Die vollständige //**zones.d/director-global/commands.con**// Definition hat also folgenden Inhalt+Die vollständige //**zones.d/director-global/commands.conf**// Definition hat also folgenden Inhalt
  
 <code>object NotificationCommand "10_director-mail-service-notification" { <code>object NotificationCommand "10_director-mail-service-notification" {
     execute = PluginNotification     execute = PluginNotification
     command = [     command = [
-        "/etc/icinga2/scripts/director-mail-service-notifications.sh"+        "/etc/icinga2/scripts/director-mail-service-notification.sh"
     ]     ]
     arguments = {     arguments = {
Zeile 1053: Zeile 1119:
 Wevor wir nun die Zuweisung der Benachrichtigungen für unsere Hosts machen können, legen wir uns noch jeweils ein Template für die Host-Notifications an. Wevor wir nun die Zuweisung der Benachrichtigungen für unsere Hosts machen können, legen wir uns noch jeweils ein Template für die Host-Notifications an.
  
-{{ :centos:web_c7:icinga:director_071.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines Notification Templates}}+{{ :centos:web_c7:icinga:director_071.png?direct&899 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines Notification Templates}}
  
 Wie zuvor bei den Hosts, legen wir uns nun noch das Notification Service-Template an. Wie zuvor bei den Hosts, legen wir uns nun noch das Notification Service-Template an.
  
-{{ :centos:web_c7:icinga:director_072.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines Notification Templates}}+{{ :centos:web_c7:icinga:director_072.png?direct&901 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen eines Notification Templates}}
  
 Über die **Assigment Rules** müssen wir nun noch kurz definieren, bei welchen Hosts unsere definierten Host Notifications greifen sollen. Über die **Assigment Rules** müssen wir nun noch kurz definieren, bei welchen Hosts unsere definierten Host Notifications greifen sollen.
  
-{{ :centos:web_c7:icinga:director_073.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen der Zuordnung von Hosts zu Host Notification Templates}}+{{ :centos:web_c7:icinga:director_073.png?direct&902 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen der Zuordnung von Hosts zu Host Notification Templates}}
  
 Zum Schluss definieren wir auch noch die **Assigment Rules**, damit Icinga 2 weiss, bei welchen Services Benachrichtigungen versandt werden sollen. Zum Schluss definieren wir auch noch die **Assigment Rules**, damit Icinga 2 weiss, bei welchen Services Benachrichtigungen versandt werden sollen.
  
-{{ :centos:web_c7:icinga:director_074.png?direct&900 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen der Zuordnung von Services zu Service Notification Templates}}+{{ :centos:web_c7:icinga:director_074.png?direct&902 |Bild: Bildschirmhardcopy - Icinga 2 Director Anlegen der Zuordnung von Services zu Service Notification Templates}}
  
 Sofern nun entsprechende Änderungen an Services und/oder Hosts passieren, werden zugehörige Benachrichtigungen per eMAil versendet. Sofern nun entsprechende Änderungen an Services und/oder Hosts passieren, werden zugehörige Benachrichtigungen per eMAil versendet.
Zeile 1076: Zeile 1142:
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
-~~DISCUSSION~~ 
  
  • centos/web_c7/icinga/director.1470740255.txt.gz
  • Zuletzt geändert: 09.08.2016 10:57.
  • von django