Icinga 2 je bezplatný a open source monitorovací nástroj navržený tak, aby byl škálovatelný a rozšiřitelný. Icinga 2 kontroluje dostupnost vašich síťových zdrojů, upozorňuje uživatele na výpadky a generuje údaje o výkonu pro reportování. Pomocí Icinga2 můžeme monitorovat velká a složitá prostředí na více místech.
Můžeme také nastavit Icinga2 s vysoce dostupnými clustery s distribuovaným nastavením pro velká/složitá prostředí.
V této příručce se naučíme, jak nainstalovat a nakonfigurovat Icinga 2 a Icinga Web 2 na CentOS 8.
Instalace Icinga2:
Nejprve aktualizujte a upgradujte svůj CentOS Linux.
yum -y update && yum -y upgrade
Za druhé, Nainstalujte úložiště Icinga.
yum install -y https://packages.icinga.com/epel/icinga-rpm-release-8-latest.noarch.rpm
Povolte úložiště EPEL a Získejte úložiště EPEL.
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install -y epel-release
Získáme nějaké nástroje, které budeme později potřebovat pro instalaci a konfiguraci Icinga2 a Icinga Web 2.
yum install -y git curl make gcc wget nano vim net-tools tar unzip zip python-devel python-pip python-setuptools
K instalaci icinga2 použijte níže uvedený příkaz:
yum install -y icinga2
Spusťte a povolte službu Icinga2.
systemctl enable icinga2
systemctl start icinga2
systemctl status icinga2

Nainstalujeme požadované pluginy pro Icinga2.
yum install -y nagios-plugins-all
Než budete chtít změnit soubory icinga, spusťte následující příkaz k potvrzení správnosti souborů icinga.
icinga2 daemon -C

Pokud chcete používat SELinux s Icinga2, musíte nainstalovat následující balíčky a nastavit pravidla brány firewall pro port 80 a 443.
yum install -y icinga2-selinux
firewall-cmd --add-service=http && firewall-cmd --permanent --add-service=http
Po dokončení výše uvedených kroků nyní nainstalujeme a nakonfigurujeme MYSQL jako databázi pro Icinga2.
yum install -y mariadb-server mariadb
systemctl enable mariadb
systemctl start mariadb

Zabezpečte instalaci MYSQL
mysql_secure_installation
Po zadání výše uvedeného příkazu systém požádá o heslo uživatele root. stiskněte Enter, protože žádné nemáte. Poté se vás systém zeptá, zda chcete přidat heslo uživatele root, stiskněte „y“ a nastavte heslo uživatele root. Stiskněte „y“ pokaždé, když se vás systém zeptá na nějakou konfiguraci. Viz níže uvedené obrázky pro referenci:


Nainstalujte IDO Mysql pomocí následujícího příkazu:
yum install icinga2-ido-mysql
Přihlaste se do mysql zadáním následujícího příkazu:
mysql -u root -p
Vytvořte následující databáze pro Icinga2 a icinga web 2:
CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
CREATE DATABASE icingaweb;
GRANT ALL PRIVILEGES ON icingaweb.* TO 'icingaweb'@'localhost' IDENTIFIED BY 'icingaweb';
FLUSH PRIVILEGES;
QUIT;
Importujte schéma Icinga 2 MYSQL a také povolte IDO MySQL pro Icinga2.
mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
icinga2 feature enable ido-mysql
Restartujte službu Icinga, aby se výše uvedená konfigurace projevila.
systemctl restart icinga2.service
Instalace Icinga Web 2:
Nejprve nainstalujte webový server.
yum install -y httpd
systemctl enable httpd
systemctl start httpd

Konfigurace uživatele Icinga 2 Rest API:
icinga2 api setup

Upravíme soubor „/etc/icinga2/conf.d/api-users.conf“ pomocí nano editoru.
/etc/icinga2/conf.d/api-users.conf
Přidejte následující řádky:
object ApiUser "icingaweb2" {
password = "Wijsn8Z9eRs5E25d"
permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ]
}
Upravte soubor „vim /etc/icinga2/features-enabled/ido-mysql.conf“ pomocí nano editoru.
nano /etc/icinga2/features-enabled/ido-mysql.conf
Přidejte následující konfiguraci:
/**
* The IdoMysqlConnection type implements MySQL support
* for DB IDO.
*/
object IdoMysqlConnection "ido-mysql" {
user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"
}
Nyní restartujte službu Icinga2, abyste použili výše uvedenou konfiguraci.
systemctl restart icinga2
Nainstalujeme úložiště SCL, je vyžadováno pro Icinga Web 2.
dnf -y group install "Development Tools"
dnf -y install gcc-c++ gcc make
dnf install mysql-devel.x86_64
Nainstalujte Icinga Web 2 a Icinga CLI pomocí následujícího příkazu:
yum install -y icingaweb2 icingacli
Pokud potřebujete SELinux pro Icinga Web 2, nainstalujte jej pomocí následujícího příkazu:
yum install -y icingaweb2-selinux
Nainstalujte PHP FPM a další PHP moduly, které můžeme potřebovat pro Icinga web 2.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module list php
dnf install php-json php-ldap
yum install -y php-mysqlnd php-fpm php-ldap php-pgsql php-xmlrpc php-intl php-gd php-pdo php-soap php-posix php-cli
Spusťte a povolte službu.
systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl restart httpd
systemctl restart php-fpm.service

Nyní vytvoříme token pro dokončení konfigurace Icinga Web 2 prostřednictvím webového rozhraní:
icingacli setup token create

Otevřete Icinga Web 2 pomocí následující adresy URL ve svém webovém prohlížeči:
http://192.168.189.128/icingaweb2/setup
Nahraďte IP ve výše uvedené adrese URL vaší systémovou IP.
Konfigurace Icinga Web 2:
Vyžádá si vygenerovaný token, vloží jej a klikne na další

Monitorovací moduly jsou ve výchozím nastavení povoleny, volitelně můžete povolit Doc a Translation a poté klikněte na Další

Nyní by všechny PHP moduly měly být zelené, v případě, že máte nějaké žluté, doporučujeme to před pokračováním opravit, pokud jsou všechny zelené, stačí kliknout na další.

Ve výchozím nastavení budeme používat ověřování databáze.

Nakonfigurujte zdroj databáze, zde použijeme přihlašovací údaje, které jsme vytvořili pro databázi icingaweb. Je potřeba nastavit parametry localhost, název databáze, uživatelské jméno a heslo. Než kliknete na Další, můžete kliknout na Ověřit konfiguraci, abyste ověřili, že přihlašovací údaje fungují správně.

Pojďme nakonfigurovat Authentication Backend, tento byl definován v souboru api-users.conf, stačí kliknout na další.

V administrační obrazovce definujete uživatelské jméno a heslo pro přihlášení do webového rozhraní Icinga.

Na obrazovce konfigurace aplikace stačí kliknout na tlačítko Další, můžete to změnit a upravit podle svých potřeb, ale výchozí hodnoty jsou prozatím v pořádku.

máte obrazovku s životopisem, zde stačí kliknout na další.

Nyní můžete nakonfigurovat monitorovací modul pro Icinga Web 2, stačí kliknout na další.

Nyní nakonfigurujme zdroj IDO pro monitorování, zde použijeme přihlašovací údaje, které jsme vytvořili pro databázi icinga. Zde je potřeba nastavit parametry localhost, název databáze, uživatelské jméno a heslo. Než kliknete na Další, můžete kliknout na Ověřit konfiguraci, abyste ověřili, že přihlašovací údaje fungují správně.

Výběr přenosu příkazu:
Nyní vyberte příkaz transport. Nyní nakonfigurujte zdroj IDO pro monitorování, zde použijeme přihlašovací údaje, které jsme vytvořili pro databázi icinga. Zde je potřeba nastavit parametry localhost, název databáze, uživatelské jméno a heslo. Než kliknete na Další, můžete kliknout na Ověřit konfiguraci, abyste ověřili, že přihlašovací údaje fungují správně.

Na obrazovce zabezpečení monitorování stačí kliknout na další.

Nyní máte úspěšnou obrazovku pro Icinga Web 2, stačí kliknout na Dokončit.

Nyní byste měli mít k dispozici obrazovku blahopřání s přihlášením do Icinga Web, klikněte na toto tlačítko pro přihlášení do Icinga Web 2.
