GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Serverüberwachung mit Icinga 2 und Icingaweb 2 auf CentOS 7

Icinga 2 ist eine skalierbare OpenSource-Überwachungssoftware. Dieses Tutorial beschreibt die Installation von Icinga 2 zusammen mit Icingaweb auf einem CentOS 7 Server.

1. Anforderungen

Um ein solches System zu installieren, benötigen Sie Folgendes:

  • Ein minimales Centos 7-Serversystem. Dies kann ein von Grund auf neu installierter Server sein, wie im Centos 7.1-Minimalserver-Tutorial beschrieben, oder ein virtueller Server oder Root-Server von einem Hosting-Unternehmen, das ein minimales Centos 7-Setup installiert hat.
  • Eine schnelle Internetverbindung.

2. Vorbemerkungen

  • In diesem Tutorial verwende ich den Hostnamen icinga2.domain.tld mit der IP-Adresse 192.168.250.100/24 ​​und dem Gateway 192.168.250.254. Diese Einstellungen können für Sie abweichen, daher müssen Sie sie gegebenenfalls ersetzen.
  • Die hier gezeigten Ausgaben sind nur ein Beispiel und können je nach Basissystem und bereits installierten Paketen auf Ihrem System abweichen.
  • Der Datenbankserver ist maria db und wird auf demselben Host installiert.
  • Ein Benutzeradministrator existiert und ist in der sudoers-Liste.
  • Wir werden SELinux für dieses Tutorial deaktivieren.

3. Vorbereitung

Melden Sie sich als Administrator an

Anmelden als:Administrator[E-Mail-geschützt] Passwort:[[E-Mail-geschützt] ~]$

Überprüfen Sie die Netzwerkverbindung

wir werden testen, ob unsere Internetverbindung aufgebaut ist und die Namensauflösung funktioniert:

ping www.google.de -c3

Die Ausgabe sieht folgendermaßen aus:

[[email protected] ~]$ ping www.google.de -c3PING www.google.de (172.217.20.67) 56(84) Byte Daten.64 Byte von fra02s27-in-f3.1e100.net ( 172.217.20.67):icmp_seq=1 ttl=57 Zeit=19,2 ms64 Bytes von fra02s27-in-f3.1e100.net (172.217.20.67):icmp_seq=2 ttl=57 Zeit=19,3 ms64 Bytes von fra02s27-in-f3. 1e100.net (172.217.20.67):icmp_seq=3 ttl=57 time=19,6 ms--- www.google.de Ping-Statistik ---3 Pakete übertragen, 3 empfangen, 0% Paketverlust, Zeit 2001msrtt min/avg/ max/mdev =19,276/19,430/19,649/0,195 ms[[email protected] ~]$

Zur Root wechseln

Jetzt werden wir uns selbst verwurzeln. Geben Sie dazu ein:

sudo su

Die Ausgabe sieht folgendermaßen aus:

[[email protected] ~]$ sudo suWir hoffen, dass Sie den üblichen Vortrag vom lokalen Systemadministrator erhalten haben. Es läuft normalerweise auf diese drei Dinge hinaus:#1) Respektieren Sie die Privatsphäre anderer. #2) Denken Sie nach, bevor Sie tippen. #3) Mit großer Macht kommt große Verantwortung.[sudo] Passwort für Administrator:[[email protected] Administrator]#

Vorläufige Software installieren

Wir werden nun einige vorläufige Software installieren:

  • deltarpm verringert die herunterzuladende Menge, indem überprüft wird, ob es nur eine Differenzdatei statt des gesamten Pakets gibt
  • nano ist ein Texteditor
  • wget wird benötigt, um Dateien von URLs herunterzuladen
  • net-tools wird für bestimmte Überprüfungen von Netzwerkprozessen benötigt
  • gcc ist der GNU-Compiler
yum -y installiere deltarpm

Die Ausgabe sieht folgendermaßen aus:

Geladene Plugins:fastestmirrorbase | 3,6 kB 00:00:00Extras | 3,4 kB 00:00:00Aktualisierungen | 3,4 kB 00:00:00(1/4):extras/7/x86_64/primary_db......Gesamtgröße des Downloads:82 kInstallierte Größe:209 kPakete werden heruntergeladen:Warnung:/var/cache/yum/x86_64/7 /base/packages/deltarpm-3.6-3.el7.x86_64.rpm:Header V3 RSA/SHA256-Signatur, Schlüssel-ID f4a80eb5:NOKEYÖffentlicher Schlüssel für deltarpm-3.6-3.el7.x86_64.rpm ist nicht installiertdeltarpm-3.6-3. el7.x86_64.rpm | 82 kB 00:00:00Schlüssel aus file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7Importing GPG key 0xF4A80EB5:Userid :"CentOS-7 Key (CentOS 7 Official Signing Key) <[E-Mail-geschützt]>" Fingerabdruck:6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Paket:centos-release-7-2.1511.el7.centos.2.10.x86_64 (@anaconda) Von:/etc/pki/rpm-gpg/ RPM-GPG-KEY-CentOS-7Laufende TransaktionsprüfungLaufender TransaktionstestTransaktionstest erfolgreichLaufende Transaktion Installieren:deltarpm-3.6-3.el7.x86_64 1/1 Verifizieren:deltarpm-3.6-3.el7.x86_64 1/1Installiert:deltarpm.x86_64 0:3.6-3.el7Fertig!
yum -y install nano wget net-tools gcc

Die Ausgabe sieht folgendermaßen aus:

Geladene Plugins:fastestmirrorbase | 3,6 kB 00:00:00Extras | 3,4 kB 00:00:00Aktualisierungen | 3,4 kB 00:00:00(1/4):extras/7/x86_64/primary_db...... Installiert:gcc.x86_64 0:4.8.5-4.el7 nano.x86_64 0:2.3.1-10 .el7 net-tools.x86_64 0:2.0-0.17.20131004git.el7 wget.x86_64 0:1.14-10.el7_0.1 Installierte Abhängigkeit:cpp.x86_64 0:4.8.5-4.el7 glibc-devel.x86_64 0:2.17 -106.el7_2.4 glibc-headers.x86_64 0:2.17-106.el7_2.4 kernel-headers.x86_64 0:3.10.0-327.13.1.el7 libmpc.x86_64 0:1.0.1-3.el7 mpfr. x86_64 0:3.1.1-4.el7Abhängigkeit aktualisiert:glibc.x86_64 0:2.17-106.el7_2.4 glibc-common.x86_64 0:2.17-106.el7_2.4Fertig!

SELinux deaktivieren

Bearbeiten Sie die /etc/selinux/config

nano /etc/selinux/config

Suchen

SELINUX=erzwingen

ändern Sie es in

SELINUX=deaktiviert

Speichern Sie die Datei

System aktualisieren und neu starten

Jetzt werden wir das System aktualisieren.

yum -y update &&yum -y upgrade

Das kann ein bisschen dauern. Danach Neustart.

Neustart

4. Installieren Sie icinga2 und zusätzliche Software

Zusätzliche Repositories installieren

Melden Sie sich nach dem Neustart des Systems als Administrator an und melden Sie sich erneut als Root an.

Wechseln Sie in das Verzeichnis /tmp

cd /tmp

Epel-Repository installieren

yum install -y epel-release

Icinga-Repository installieren

rpm --import http://packages.icinga.org/icinga.key
wget http://packages.icinga.org/epel/ICINGA-release.repo -O /etc/yum.repos .d/ICINGA-release.repo

Yum-Cache neu erstellen (kann einige Zeit dauern)

lecker Makecache

Installieren Sie icinga2, icinga2 mysql connector und nagios plugins

yum install -y nagios-plugins-all icinga2 icinga2-ido-mysql icinga-idoutils-libdbi-mysql

Installieren von Apache, php und Vorbereiten von php.ini

yum install -y httpd
yum install -y php-cli php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd php-ldap

Bearbeiten Sie die php.ini

Suchen

; Definiert die von den Datumsfunktionen verwendete Standardzeitzone; http://php.net/date.timezone;date.timezone=

ändern Sie es in

; Definiert die von den Datumsfunktionen verwendete Standardzeitzone; http://php.net/date.timezonedate.timezone ="Europa/Berlin"

Speichern Sie die Datei

Apache beim Start aktivieren

systemctl aktiviert httpd
[[email protected] tmp]# systemctl enable httpdSymlink von /etc/systemd/system/multi-user.target.wants/httpd.service nach /usr/lib/systemd/system/httpd.service erstellt. 
systemctl startet httpd

Überprüfen Sie, ob Apache ausgeführt wird

netstat -nlp | grep80
[[email protected] tmp]# netstat -nlp | grep 80tcp6 0 0 :::80 :::* LISTEN 10360/httpd

Installation und Konfiguration von mariadb

yum install -y mariadb-server
systemctl startet mariadb
systemctl aktiviert mariadb

Ausgabe:

[[email protected] tmp]# systemctl enable mariadbSymlink von /etc/systemd/system/multi-user.target.wants/mariadb.service zu /usr/lib/systemd/system/mariadb.service erstellt. 

Überprüfen Sie, ob Mariadb läuft

netstat -nlp | grep 3306

Ausgabe:

[[email protected] tmp]# netstat -nlp | grep 3306tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11623/mysqld

Legen Sie das Passwort für den Benutzer „root“ fest

mysql -u root

Ausgabe:

[[email protected] tmp]# mysql -u rootWillkommen beim MariaDB-Monitor. Befehle enden mit; oder \g.Ihre MariaDB-Verbindungs-ID ist 2Server-Version:5.5.47-MariaDB MariaDB ServerCopyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab und andere. Geben Sie 'help;' oder '\h' für Hilfe. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [(keine)]>
[MariaDB [(keine)]> mysql verwenden

Ausgabe:

[MariaDB [(none)]> use mysql;Lesen von Tabelleninformationen zur Vervollständigung von Tabellen- und SpaltennamenSie können diese Funktion für einen schnelleren Start mit -ADatabasechangedMariaDB [mysql]>
deaktivieren
[MariaDB [(mysql)]> update user set password=PASSWORD("root_password") where User='root';

Ausgabe:

user set password=PASSWORD("root_password") aktualisieren, wobei User='root';Abfrage OK, 4 Zeilen betroffen (0,00 Sek.)Zeilen übereinstimmen:4 Geändert:4 Warnungen:0
[MariaDB [(mysql)]> Flush-Privilegien;

Ausgabe:

MariaDB [mysql]> Flush-Privilegien;Abfrage OK, 0 Zeilen betroffen (0,00 Sek.0
[MariaDB [(mysql)]> beenden;

Ausgabe:

MariaDB [mysql]> exit;Tschüss

MariaDB neu starten

systemctl startet mariadb neu

Datenbank für icinga2 erstellen und füllen

Melden Sie sich mit dem Passwort für root bei MySQL an.

mysql -u root -p

Ausgabe:

[[email protected] tmp]# [[email protected] tmp]# mysql -u root -pPasswort eingeben:Willkommen beim MariaDB-Monitor. Befehle enden mit; oder \g.Ihre MariaDB-Verbindungs-ID ist 7Server-Version:5.5.47-MariaDB MariaDB ServerCopyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab und andere. Geben Sie 'help;' oder '\h' für Hilfe. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [(keine)]>
[MariaDB [(keine)]>DATENBANK ERSTELLEN icinga2;

Ausgabe:

MariaDB [(keine)]> CREATE DATABASE icinga2;Abfrage OK, 1 Zeile betroffen (0,00 Sek.)MariaDB [(keine)]>
[MariaDB [(keine)]>GEWÄHREN SIE SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'icinga2'@'localhost' IDENTIFIED BY 'icinga2_password';

Ausgabe:

MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'icinga2'@'localhost' IDENTIFIED BY 'icinga2_password';Abfrage OK, 0 Zeilen betroffen (0.00 Sek.)MariaDB [(keine)]>
[MariaDB [(keine)]>Flush-Privilegien;;

Ausgabe:

MariaDB [(keine)]> Flush-Privilegien;Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)MariaDB [(keine)]>
[MariaDB [(keine)]> beenden;

Ausgabe:

MariaDB [none]> exit;Tschüss

Datenbank füllen

mysql -u root -picinga2  

Ido-mysql.conf ändern

Damit sich icinga2 mit unserer Mariadb-Datenbank verbindet, müssen wir /etc/icinga2/ido-mysql.conf

ändern
nano /etc/icinga2/features-available/ido-mysql.conf

Suchen

/** * Die Bibliothek db_ido_mysql implementiert IDO-Funktionalität * für MySQL. */library "db_ido_mysql"object IdoMysqlConnection "ido-mysql" { //user ="icinga" //password ="icinga" //host ="localhost" //database ="icinga"}

ändern Sie es in

/** * Die Bibliothek db_ido_mysql implementiert IDO-Funktionalität * für MySQL. */library "db_ido_mysql"object IdoMysqlConnection "ido-mysql" { user ="icinga2" password ="icinga2_password" host ="localhost" database ="icinga2"}

Aktiviere und starte icinga2 beim Start

icinga2 beim Start aktivieren

systemctl aktiviert icinga2

Ausgabe:

[[email protected] tmp]# systemctl enable icinga2Symlink von /etc/systemd/system/multi-user.target.wants/icinga2.service zu /usr/lib/systemd/system/icinga2.service erstellt. 

Starten Sie icinga2

systemctl starte icinga2

Um zu überprüfen, ob alles funktioniert, machen wir tail -f /var/log/icinga2/icinga2.log. Sie können die Ausgabe stoppen, indem Sie STRG-C drücken.

tail -f /var/log/icinga2/icinga2.log

Die Ausgabe sollte in etwa so aussehen

[[email protected] tmp]# tail -f /var/log/icinga2/icinga2.log[2016-05-10 23:21:50 +0200] information/DbConnection:IDO-Verbindung wird fortgesetzt:ido-mysql[ 2016-05-10 23:21:50 +0200] information/ConfigItem:Alle Objekte aktiviert.[2016-05-10 23:21:50 +0200] information/ConfigCompiler:Compiling config file:/var/lib/icinga2/ Modified-attributes.conf[2016-05-10 23:21:50 +0200] information/IdoMysqlConnection:MySQL IDO-Instanz-ID:1 (Schemaversion:'1.14.0')[2016-05-10 23:21:50 +0200] information/IdoMysqlConnection:Wiederverbindung zur MySQL-IDO-Datenbank in 0,201981 Sekunde(n) abgeschlossen.

Lassen Sie icinga2 beim Booten starten:

systemctl aktiviert icinga2

Ausgabe:

[[email protected] tmp]# systemctl enable icinga2Symlink von /etc/systemd/system/multi-user.target.wants/icinga2.service zu /usr/lib/systemd/system/icinga2.service erstellt. 

icinga2-Befehlsmodul aktivieren:

icinga2-Funktionsaktivierungsbefehl

Ausgabe:

[[email protected] tmp]# icinga2 feature enable commandEnabling feature command. Stellen Sie sicher, dass Sie Icinga 2 neu starten, damit diese Änderungen wirksam werden.

Starten Sie icinga2 neu

systemctl icinga2 neu starten

Cent OS
  1. Einrichten eines NFS-Servers und -Clients unter CentOS 7.2

  2. NFS-Server- und Client-Installation auf CentOS 7

  3. Richten Sie das Icinga-Überwachungstool unter CentOS 7 / RHEL 7 ein

  4. Installieren Sie Zenario mit Apache, PHP und MariaDB auf CentOS 7

  5. Richten Sie einen Mailserver mit PostfixAdmin und MariaDB auf CentOS 7 ein

Serverüberwachung mit munin und monit auf CentOS 5.2

Serverüberwachung mit Munin und Monit auf CentOS 7

Serverüberwachung mit Munin und Monit auf CentOS 7.2

Serverüberwachung mit munin und monit auf Fedora 7

So installieren Sie Icinga 2 und Icinga Web 2 unter CentOS 7

Einrichten eines OpenVPN-Servers mit CentOS und Viscosity