GNU/Linux >> Znalost Linux >  >> Linux

Jak monitorovat hostitele pomocí nástroje Linux Icinga Monitoring Tool

Monitorování je jedním z nejkritičtějších aspektů infrastruktury a monitorovací nástroj Icinga má na výběr řadu možností. Icinga vám umožňuje flexibilně sledovat celou vaši infrastrukturu na základě konfigurací.

V tomto článku se dozvíte, jak monitorovat své servery pomocí monitorovacího zásobníku Icinga2; nainstalujete zásobník a nastavíte distribuované monitorování.

Připraveni? Skočte rovnou dovnitř!

Předpoklady

Tento tutoriál bude praktickou ukázkou. Chcete-li pokračovat, ujistěte se, že máte následující:

  • Dva počítače se systémem Linux – Tento výukový program používá server Ubuntu 20.04 na obou hlavních (master ) a klient (client01 ) servery.
  • Uživatel s oprávněními root na obou zařízeních.
  • MariaDB nainstalovaná a spuštěná na hlavním serveru.

Nastavení FQDN na všech serverech

Icinga2 je podnikové monitorovací řešení, které umožňuje monitorovat serverové infrastruktury a aplikace na mnoha místech.

Nastavíte plně kvalifikované názvy domén (FQDN) pro všechny své servery, což usnadňuje správu serverů ve velkých prostředích. Doména v tomto kurzu se jmenuje example.lan, ale můžete použít existující lokální doménu.

Všimněte si, že na obou serverech musíte spustit následující příkazy. Změňte odpovídajícím způsobem hodnoty.

1. Otevřete svůj terminál a připojte se k serveru.

2. Dále spusťte každý níže uvedený příkaz pro nastavení FQDN na hlavním a klientském počítači. FQDN pro servery je master.example.lan (mistr ) a client01.example.lan (klient01 ).

# Set FQDN on master server
sudo hostnamectl set-hostname master.example.lan

# Set FQDN on client01 server
sudo hostnamectl set-hostname client01.example.lan

3. Upravte /etc/hosts soubor pomocí vašeho preferovaného textového editoru a vyplňte záznam níže. Nahraďte adresy IP skutečnými adresami serveru.

# /etc/hosts for master
172.16.1.10   master.example.lan   master

# /etc/hosts for client01
172.16.1.30   client01.example.lan   client01

4. Nakonec spusťte níže uvedený příkaz a ověřte FQDN.

hostname --fqdn

Instalace Icinga2 a monitorovacích pluginů

S nakonfigurovaným FQDN je čas nainstalovat Icinga2. Nainstalujete balíčky apt pro icinga2 i monitorovací pluginy. Tyto balíčky jsou hlavní součástí Icinga2 a pluginu, který poskytuje skripty pro monitorování systému.

Instalace Icinga2 a monitorovacích pluginů by měla být provedena na hlavním serveru a serveru client01.

1. Spusťte níže uvedený apt install příkaz k bezpečné instalaci závislostí balíčků přes HTTPS (apt-transport-https ) a ověřte klíč GPG.

sudo apt install -y apt-transport-https wget gnupg

2. Dále spusťte wget příkaz ke stažení GPG klíče Icinga2. Přenesený apt-key příkaz přidá klíč GPG pro ověření integrity balíčků Icinga2.

wget -O - https://packages.icinga.com/icinga.key | apt-key add -

3. Spuštěním každého příkazu níže přidejte úložiště Icinga2 apt na váš počítač.

# Adding repository for icinga2
. /etc/os-release; if [ ! -z ${UBUNTU_CODENAME+x} ]; then DIST="${UBUNTU_CODENAME}"; else DIST="$(lsb_release -c| awk '{print $2}')"; fi; \
echo "deb https://packages.icinga.com/ubuntu icinga-${DIST} main" > \
/etc/apt/sources.list.d/${DIST}-icinga.list
echo "deb-src https://packages.icinga.com/ubuntu icinga-${DIST} main" >> \
/etc/apt/sources.list.d/${DIST}-icinga.list

# Verify the Icinga2 apt repository is added
cat /etc/apt/sources.list.d/focal-icinga.list

4. Nakonec spusťte apt příkazy níže k aktualizaci indexu balíků a instalaci balíků.

# Refresh package index
sudo apt update

# Installing package
sudo apt install icinga2 monitoring-plugins -y

Instalace ovladače IDO MySQL na hlavní server

Icinga2 je nainstalována a téměř připravena k práci. Aby však Icinga2 správně fungovala, potřebuje databázi. Takže nainstalujete IDO MySQL Driver a nastavíte připojení k databázi na vašem hlavním serveru.

Úložiště Icinga2 poskytuje icinga2-ido-mysql balík. Balíček je databázový ovladač, který funguje pro servery MySQL a MariaDB.

1. Spuštěním níže uvedeného příkazu nainstalujte icinga2-ido-mysql balík.

sudo apt install -y icinga2-ido-mysql

2. Vyberte Ano až budete vyzváni k nastavení ovladače a vytvoření databáze, jak je uvedeno níže. Konfigurace nastaví icinga2 jako uživatele databáze a vygeneruje nový soubor /etc/icinga2/features-available/ido-mysql.conf .

3. Nyní vyberte Ano aktivovat ido-mysql funkce na Icinga2, která automaticky vytvoří novou databázi a uživatele pro Icinga2.

4. Zadejte heslo pro uživatele MariaDB icinga2 a vyberte OK k dokončení instalace icinga2-ido-mysql.

5. Dále spusťte cat příkaz níže ke kontrole obsahu /etc/icinga2/features-available/ido-mysql.conf soubor.

cat /etc/icinga2/features-available/ido-mysql.conf

Níže uvidíte podrobnosti o databázi MariaDB odpovídající tomu, co jste poskytli.

6. Spusťte icinga2 příkaz níže na enable  ido-mysql Vlastnosti.

sudo icinga2 feature enable ido-mysql

7. Nakonec spusťte následující příkazy pro restart a ověření icinga2 služba status .

# restart service
sudo systemctl restart icinga2

# verifying service
sudo systemctl status icinga2

Podobně níže uvidíte, že je povolena funkce ido-mysql a služba icinga2 je aktivní (běží).

Konfigurace rozhraní Icinga2 API

Právě jste nainstalovali ovladač Icinga2 IDO MySQL a nakonfigurovali připojení k databázi. Chcete-li však spravovat a konfigurovat monitorovací zásobník Icinga2 prostřednictvím požadavků HTTP, musíte nakonfigurovat rozhraní Icinga2 API.

Monitorovací zásobník Icinga2 je také distribuovaný monitorovací systém.

1. Spusťte níže uvedený příkaz na svém hlavním serveru, abyste povolili rozhraní Icinga2 API, vygenerovali certifikáty TLS pro Icinga2 a aktualizovali konfigurace Icinga2.

sudo icinga2 api setup

2. Nyní upravte /etc/icinga2/conf.d/api-users.conf v textovém editoru a vyplňte následující konfiguraci. Poznamenejte si přihlašovací údaje uživatele API, které poskytujete, protože je budete později potřebovat.

V případě potřeby nahraďte heslo vhodně silným.

/** api for icingaweb2 */
object ApiUser "icingaweb2" {
  password = "passwordapiicngaweb2"
  permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ]
}

3. Nakonec spusťte níže uvedený příkaz na restart  icinga2 službu a použijte novou konfiguraci.

sudo systemctl restart icinga2

Instalace a konfigurace icingaweb2 na hlavním serveru

Po povolení rozhraní Icinga2 API a konfiguraci nového uživatele rozhraní API budete potřebovat řídicí panel, abyste mohli lépe monitorovat své hostitele. Jak? Icingaweb2 nainstalujete a nakonfigurujete na hlavním serveru.

Icingaweb2 je webový front-end pro monitorovací zásobník Icinga2, napsaný v PHP a poskytuje citlivý a rozšiřitelný monitorovací panel.

1. Spuštěním níže uvedeného příkazu nainstalujte Icingaweb2 s komponentami potřebnými pro práci s webovou aplikací Icingaweb2.

sudo apt install icingaweb2 libapache2-mod-php icingacli -y

2. Dále spusťte icingacli příkaz níže pro vygenerování tokenu pro nastavení Icingaweb2. Instalace Icingaweb2 bude tento token potřebovat později, takže si ho zapište.

sudo icingacli setup token create

3. Spusťte mysql příkaz níže pro přihlášení do prostředí MySQL a vytvoření nového uživatele (root ) pro Icingaweb2.

mysql -u root -p

4. Nyní spusťte následující dotazy a vytvořte novou databázi a uživatele icingaweb2 s heslem. Uživatelské jméno a heslo si můžete nastavit, jak chcete.

CREATE DATABASE icingaweb2;
GRANT ALL ON icingaweb2.* TO [email protected] IDENTIFIED BY 'strongpasswordicingaweb2';
FLUSH PRIVILEGES;

5. Nakonec spusťte exit pro odhlášení z prostředí MySQL.

exit

Nastavení instalace Icingaweb2

Nainstalovali jste Icingaweb2 na hlavní server a vygenerovali jste instalační token pro nového uživatele. Chcete-li však získat přístup k řídicímu panelu icingaweb2, musíte si instalaci icingaweb2 nastavit prostřednictvím webového prohlížeče.

1. Otevřete webový prohlížeč a přejděte na IP adresu hlavního serveru, za kterou následuje cesta URL /icingaweb2/setup (tj. http://172.16.1.10/icingaweb2/setup) .

2. Dále zadejte instalační token Icingaweb2, který jste vygenerovali v části „Instalace a konfigurace icingaweb2 na hlavním serveru“ (krok dva), a klikněte na Další .

3. Přijměte výchozí nastavení (Monitorování ) v Modulech a klikněte na Další .

4. Vyberte Databáze v Typ ověření a klikněte na Další . Tento typ ověřování zabezpečuje administrační panel Icingaweb2.

V tomto okamžiku Icingaweb2 začne kontrolovat systémové požadavky pro instalaci.

5. Ujistěte se, že všechny požadavky na stav jsou zelené, kromě PostgreSQL, a klikněte na Další .

Ignorujte chybovou zprávu PostgreSQL. Jako backend databáze používáte MariaDB.

6. Nyní zadejte stejné hodnoty, jaké jste nastavili v části „Instalace a konfigurace icingaweb2 na hlavním serveru“ (krok čtyři) do Prostředku databáze formulář níže.

Klikněte na Ověřit konfiguraci, abyste se ujistili, že konfigurace funguje, a poté, co se zobrazí zpráva Konfigurace byla úspěšně ověřena, klikněte na tlačítko Další.

7. Opusťte Backend ověřování s výchozí hodnotou (icingaweb2) jako název backendu a klikněte na Další.

8. Zadejte přihlašovací údaje pro první administrativní účet Icingaweb2 a klikněte na Další . Poznamenejte si přihlašovací údaje, protože je budete později potřebovat k přihlášení k řídicímu panelu Icingaweb2.

9. V Konfiguraci aplikace ponechte výchozí hodnoty protokolování pro Icingaweb2 a klikněte na Další .

10. Dále zkontrolujte nastavení konfigurace a klikněte na Další pro potvrzení instalace icingaweb2.

11. Nyní klikněte na Další pokračovat v nastavení monitorovacího modulu pro Icingaweb2.

12. Zadejte název databáze a uživatele pro Icinga2, jak je uvedeno níže. Podrobnosti o databázi pro Icinga2 jsou k dispozici v /etc/icinga2/features-available/ido-mysql.conf soubor.

Klikněte na Ověřit konfiguraci, ujistěte se, že je připojení k databázi úspěšné, a poté klikněte na Další.

13. Zadejte uživatele Icinga2 API a heslo uložené v /etc/icinga2/conf.d/api-users.conf soubor do polí níže.

Klikněte na tlačítko Ověřit konfiguraci, ujistěte se, že se zobrazí zpráva Konfigurace byla úspěšně ověřena, a klikněte na tlačítko Další.

14. Přijměte výchozí vlastní proměnné v Zabezpečení monitorování nastavení a klikněte na Další . Tyto proměnné pomáhají zabezpečit vaše monitorovací prostředí před zvědavýma očima.

15. Zkontrolujte konfiguraci monitorovacího modulu a klikněte na Dokončit k dokončení instalace.

16. Po dokončení instalace icingaweb2 se zobrazí Gratulujeme! Icinga Web 2 byl úspěšně nastaven zprávu, jak je uvedeno níže.

Klikněte na Přihlásit se do Icinga Web 2 a váš prohlížeč se přesměruje na přihlašovací stránku icingaweb2 (krok 17).

17. Zadejte své administrátorské uživatelské jméno a heslo pro icingaweb2 a klikněte na Přihlásit pro přístup k přístrojové desce Icinga.

18. Nakonec klikněte na Přehled —> Služby a uvidíte stav svého master server podobný tomu níže.

Inicializace serveru Icinga2 Master Server

Úspěšně jste nainstalovali monitorovací zásobník Icinga2 pro sledování stavu hlavního serveru. Nyní inicializujete hlavní server jako hlavní uzel pro monitorovací zásobník Icinga2. Hlavní uzel je hlavním ovladačem distribuovaného monitorovacího zásobníku Icinga2.

1. Spusťte níže uvedený příkaz na terminálu hlavního serveru pro inicializaci icinga2 hlavní node .

sudo icinga2 node wizard

2. Stiskněte n k nastavení agenta/satelitního uzlu (hlavní uzel Icinga2).

3. Stiskněte ENTER na běžném názvu (CN) konfigurace. Icinga2 automaticky detekuje FQDN serveru.

4. Dále zadejte název hlavní zóny jako master.example.lan a stiskněte N přeskočit přidávání globálních zón. Výchozí globální zóny synchronizují všechny konfigurační objekty v icinga2.

5. Ponechte hostitele a port vazby API jako výchozí a stiskněte ENTER. Rozhraní API bude komunikovat mezi uzlem Icinga2 pomocí šifrovaných připojení TLS.

6. Napište Y zakázat veškerou konfiguraci v /etc/icinga2/conf.d/ adresář, protože použijete konfiguraci zón Icinga2, kterou vytvoříte později.

7. Nyní spusťte systemctl příkazem níže restartujte službu icinga2 a použijte konfiguraci.

sudo systemctl restart icinga2

8. Nakonec spusťte níže uvedený příkaz a vygenerujte lístek pro registraci client01 s Icingou2.

sudo icinga2 pki ticket --cn 'client01.example.lan'

Zkopírujte vygenerovaný tiket, který později použijete k registraci klienta 01 jako agenta Icinga2.

Inicializace agenta Icinga2 na klientském serveru

Poté, co inicializujete hlavní server jako hlavní uzel, nastavíte také agenta Icinga2 na klientu01, aby monitoroval počítač client01 pomocí Icinga2.

1. Přihlaste se do klienta client01 a postupujte podle kroků v části „Inicializace serveru Icinga2 Master Server“ (kroky 1 až 3) pro inicializaci agenta Icinga2.

2. Dále zadejte nadřazený koncový bod jako master.example.lan a zadejte Y k navázání spojení s nadřazeným/master uzlem.

3. Zadejte IP adresu hlavního serveru (172.16.1.10 ) a ponechte port koncového bodu jako výchozí.

4. Nyní zadejte N když budete požádáni o přidání dalších koncových bodů.

5. Napište Y potvrďte informace a přidejte certifikát pro hlavní server Icinga2.

6. Pro registraci uzlu agenta (client01.example.lan) zadejte lístek vygenerovaný v posledním kroku části „Inicializace hlavního serveru Icinga2“.

7. Stisknutím klávesy ENTER přijměte výchozí hodnoty pro hostitele vazby API a port.

8. Dále zadejte Y dvakrát, abyste přijali konfiguraci a příkazy z nadřazeného/hlavního uzlu.

9. Stisknutím ENTER přijmete výchozí název místní zóny, ale zadejte název nadřazené zóny, který by měl odpovídat názvu zóny (master.example.lan ) na hlavním serveru.

10. Nyní zadejte N chcete-li přeskočit přidávání globálních zón, zadejte Y zakázat konfigurace na /etc/icinga2/conf.d adresář.

11. Nakonec spusťte následující příkaz pro restart služby Icinga2 a aplikujte změny konfigurace. sudo systemctl restart icinga2

sudo systemctl restart icinga2

Vytvoření konfigurace zón na hlavním serveru

S distribuovaným monitorováním z cesty vytvoříte nový adresář zóny a definujete konfiguraci monitorování pro klientského agenta.

1. Spusťte mkdir příkaz níže k vytvoření nového adresáře jako výchozí zóny (master.example.lan ) na Icinga2.

sudo mkdir -p /etc/icinga2/zones.d/master.example.lan/

2. Dále vytvořte konfigurační soubor (client01.example.lan.conf ) v /etc/icinga2/zones.d/master.example.lan/ adresář. Naplňte soubor s následující konfigurací.

Níže uvedený kód definuje koncové body, zóny a hostitelský objekt pro monitorování serverů.

// Endpoints
object Endpoint "client01.example.lan" {
}
// Zones
object Zone "client01.example.lan" {
    endpoints = [ "client01.example.lan" ]
    parent = "master.example.lan"
}
// Host Objects
object Host "client01.example.lan" {
    check_command = "hostalive"
    address = "172.16.1.30"
    vars.client_endpoint = name
}

3. Vytvořte další konfigurační soubor, zkopírujte/vložte do něj níže uvedený kód a uložte jej jako /etc/icinga2/zones.d/master.example.lan/services.conf.

Tato konfigurace níže monitoruje některé základní služby na počítači client01.

 // Ping
 apply Service "Ping" {
 check_command = "ping4"
 assign where host.address // check executed on master
 }
 // System Load
 apply Service "System Load" {
 check_command = "load"
 command_endpoint = host.vars.client_endpoint // Check executed on client01
 assign where host.vars.client_endpoint
 }
 // SSH Service
 apply Service "SSH Service" {
 check_command = "ssh"
 command_endpoint = host.vars.client_endpoint
 assign where host.vars.client_endpoint
 }
 // Icinga 2 Service
 apply Service "Icinga2 Service" {
 check_command = "icinga"
 command_endpoint = host.vars.client_endpoint
 assign where host.vars.client_endpoint
 }

4. Nyní spusťte icinga2 níže pro ověření konfigurace Icinga2.

sudo icinga2 daemon -C

Pokud vše půjde dobře, uvidíte výstup podobný tomu níže.

5. Nakonec spusťte níže uvedený příkaz pro restart služby Icinga2 a aplikujte změny konfigurace.

sudo systemctl restart icinga2

Ověření na hlavním panelu Icinga2

Nakonfigurovali jste všechny prostředky, ale stále musíte otestovat, zda všechny fungují. Výsledky své práce ověříte kontrolou panelu Icinga2.

Vraťte se na řídicí panel Icinga2 a klikněte na Přehled —> Hostitelé , jak je uvedeno níže, a uvidíte, že klient01 je NAHORU .

Nyní klikněte na Služby zobrazíte všechny monitorované služby s monitorovacím zásobníkem Icinga2 na klientu 01.

Závěr

Cílem tohoto tutoriálu je pomoci vám projít procesem nastavení monitorovacího zásobníku Icinga2 na serveru Ubuntu. Také jste se naučili, jak nastavit distribuované monitorování pomocí agenta Icinga2 pro monitorování rozsáhlé infrastruktury.

Co bude dál? Možná se naučíte nastavit Icinga Director, abyste si zjednodušili sledování?


Linux
  1. 3 užitečné věci, které můžete dělat s nástrojem IP v Linuxu

  2. Jak monitorovat zabezpečení serveru Linux pomocí Osquery

  3. Monitorování úrovně mikrofonu pomocí nástroje příkazového řádku v Linuxu

  1. Monitorujte svůj Linux server pomocí Checkmk

  2. Monitorování hostitelů Linux a Windows pomocí Glances

  3. Jak najít soubory v Linuxu pomocí příkazu Najít

  1. Jak používat příkaz spánku Linux s příklady

  2. Jak používat příkaz who v Linuxu s příklady

  3. Jak přidat vzdálený Linux a Windows Host do Icinga 2 pro monitorování