
Zabbix je jedním z nejpopulárnějších softwarových nástrojů pro monitorování s otevřeným zdrojovým kódem. Zabbix shromažďuje metriky z vašich síťových zařízení, systémů a aplikací a zajišťuje, že jsou v provozu. V případě jakýchkoli problémů bude Zabbix zasílat upozornění prostřednictvím různých metod.
Zabbix lze nasadit pro monitorování založené na agentech a bez agentů. Agent Zabbix má malé rozměry a může běžet na různých platformách, včetně Linuxu, UNIX, macOS a Windows.
Tento tutoriál popisuje, jak nainstalovat a nakonfigurovat nejnovější verzi Zabbix 4.0 na serveru Ubuntu 18.04 pomocí MySQL jako databázového back-endu. Také vám ukážeme, jak nainstalovat agenta Zabbix na vzdáleném hostiteli a přidat hostitele na server Zabbix.
Předpoklady #
Než budete pokračovat v tomto tutoriálu, ujistěte se, že jste přihlášeni jako uživatel s právy sudo.
Vytváření databáze MySQL #
Zabbix podporuje MySQL/MariaDB a PostgreSQL. V tomto tutoriálu použijeme MySQL jako back-end databáze.
Pokud ještě nemáte na svém serveru Ubuntu nainstalovanou MySQL, můžete ji nainstalovat podle těchto pokynů.
Přihlaste se do prostředí MySQL zadáním následujícího příkazu:
sudo mysql
Z prostředí MySQL spusťte následující příkaz SQL a vytvořte novou databázi:
CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;
Dále vytvořte uživatelský účet MySQL a udělte přístup k databázi:
GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Ujistěte se, že jste změnili change-with-strong-password
se silným heslem. Po dokončení ukončete konzolu mysql zadáním:
EXIT;
Instalace Zabbix na Ubuntu #
V době psaní tohoto článku je nejnovější stabilní verze Zabbix verze 4.0. Balíčky Zabbix dostupné v repozitářích Ubuntu jsou často zastaralé, takže budeme používat oficiální úložiště Zabbix.
1. Instalace Zabbix #
Stáhněte si nejnovější repozitář Zabbix .deb
balíček s následujícím příkazem wget:
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
Jakmile je soubor stažen, přidejte úložiště Zabbix do svého systému Ubuntu 18.04 zadáním:
sudo apt install ./zabbix-release_4.0-2+bionic_all.deb
Aktualizujte index balíčků a nainstalujte server Zabbix, webové rozhraní s podporou databáze MySQL a agenta Zabbix:
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
Výše uvedený příkaz také nainstaluje Apache, PHP a všechny požadované moduly PHP.
2. Konfigurace PHP pro frontend Zabbix #
Během instalace se vytvoří konfigurační soubor Apache, který obsahuje všechna požadovaná nastavení Apache a PHP. Stačí provést malou změnu a nastavit vhodné časové pásmo.
Otevřete konfigurační soubor, zrušte komentář na řádku časového pásma a změňte jej na své časové pásmo. Kompletní seznam časových pásem podporovaných PHP naleznete zde.
/etc/apache2/conf-enabled/zabbix.conf...
<IfModule mod_php7.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone America/Denver
</IfModule>
...
Po dokončení uložte konfigurační soubor a restartujte službu Apache, aby se změny projevily:
sudo systemctl restart apache2
3. Konfigurace databáze MySQL pro server Zabbix #
Instalační balíček Zabbix poskytuje soubor výpisu, který obsahuje počáteční schéma a data pro server Zabbix s MySQL.
Importujte soubor výpisu MySQL spuštěním:
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
Po zobrazení výzvy zadejte uživatelské heslo, které jste vytvořili dříve. Při úspěchu není uveden žádný výstup.
Dále musíme upravit konfiguraci Zabbix a nastavit heslo databáze.
Otevřete konfigurační soubor ve svém editoru:
sudo nano /etc/zabbix/zabbix_server.conf
Vyhledejte následující sekci, zrušte komentář u DBPassword
a přidejte heslo databáze.
...
### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...
Uložte a zavřete soubor.
Restartujte server Zabbix a služby agenta a spusťte je při spuštění systému:
sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
Chcete-li zkontrolovat, zda server Zabbix běží, zadejte:
sudo systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-11-29 03:30:44 PST; 43s ago
Main PID: 14293 (zabbix_server)
Tasks: 34 (limit: 2319)
CGroup: /system.slice/zabbix-server.service
...
Instalace a konfigurace rozhraní Zabbix #
Webové rozhraní Zabbix je napsáno v PHP a umožňuje nám konfigurovat server, prohlížet shromážděná data a přidávat hostitele, které chceme monitorovat.
Než začneme používat webové rozhraní, musíme jej nainstalovat.
Otevřete svůj oblíbený prohlížeč a zadejte název domény nebo veřejnou IP adresu svého serveru a poté /zabbix
:
http(s)://your_domain_or_ip_address/zabbix
Na první obrazovce se vám zobrazí uvítací zpráva. Klikněte na Next step
pokračovat.

Dále uvidíte následující informační stránku se seznamem všech předpokladů PHP vyžadovaných pro spuštění Zabbix Frontend. Všechny hodnoty v této tabulce by měly být OK
, přejděte dolů a ověřte, že je vše správně nastaveno. Po ověření klikněte na Next step
pokračovat.

Na další obrazovce vás průvodce nastavením požádá o zadání údajů o připojení k databázi. Zadejte podrobnosti o uživateli MySQL a databázi, které jste dříve vytvořili.

Zadání názvu serveru je volitelné. Zadejte jej, pokud máte více než jeden monitorovací server Zabbix. Pokud je k dispozici, zobrazí se v liště nabídek a názvech stránek.
Klikněte na Next step
pokračovat.

Na další obrazovce se zobrazí souhrn předinstalace.

Klikněte na Next step
a po dokončení instalace budete přesměrováni na stránku s informací, že bylo nainstalováno webové rozhraní Zabbix. Pro přístup na přihlašovací stránku Zabbix klikněte na Finish
tlačítko.

Výchozí uživatel je „Admin“ a heslo je „zabbix“. Zadejte uživatelské jméno a heslo a klikněte na Log in
tlačítko.

Jakmile se přihlásíte, budete přesměrováni na administrační panel Zabbix.
Odtud můžete začít přizpůsobovat instalaci Zabbix a přidávat nové hostitele. Vaším prvním krokem by měla být změna aktuálního hesla. Chcete-li to provést, přejděte na stránku uživatelského profilu kliknutím na ikonu profilu v horní navigaci.
Přidání nového hostitele na server Zabbix #
Postup pro přidání nového hostitele pro monitorování na server Zabbix zahrnuje dva kroky.
Nejprve je třeba nainstalovat agenta Zabbix na vzdáleného hostitele a poté hostitele přidat na server Zabbix prostřednictvím webového rozhraní.
Instalace agenta Zabbix #
Tento tutoriál předpokládá, že hostitelský počítač také používá Ubuntu 18.04.
Stejně jako při instalaci serveru Zabbix spusťte následující příkazy, abyste povolili úložiště Zabbix:
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
sudo apt install ./zabbix-release_4.0-2+bionic_all.deb
Aktualizujte index balíčku a nainstalujte balíček agenta Zabbix:
sudo apt update
sudo apt install zabbix-agent
Zabbix podporuje dvě metody šifrování komunikace mezi serverem a klientem, předsdílený klíč (PSK) a šifrování založené na certifikátu. V tomto tutoriálu použijeme metodu předsdílených klíčů (PSK) k zabezpečení spojení mezi serverem a agentem.
Pomocí následujícího příkazu vygenerujte předsdílený klíč a uložte jej do souboru:
openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk
Klíč PSK bude vypadat nějak takto:
fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6
Otevřete konfigurační soubor agenta Zabbix:
sudo nano /etc/zabbix/zabbix_agentd.conf
Vyhledejte Server
IP adresu a změňte ji z výchozí hodnoty na IP serveru Zabbix:
...
### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
# and '::/0' will allow any IPv4 or IPv6 address.
# '0.0.0.0/0' can be used to allow any IPv4 address.
# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=
Server=127.0.0.1
...
Dále najděte TSLConnect
možnost, odkomentujte jej a nastavte jej na psk
:
...
### Option: TLSConnect
# How the agent should connect to server or proxy. Used for active checks.
# Only one value can be specified:
# unencrypted - connect without encryption
# psk - connect using TLS and a pre-shared key
# cert - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...
Vyhledejte TLSAccept
možnost, odkomentujte jej a nastavte jej na psk
:
...
### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted - accept connections without encryption
# psk - accept connections secured with TLS and a pre-shared key
# cert - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...
Dále najděte TLSPSKIdentity
možnost, odkomentujte jej a nastavte jej na PSK 001
Hodnota musí být jedinečný řetězec:
...
### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...
Nakonec vyhledejte TLSPSKFile
možnost, odkomentujte ji a nastavte ji tak, aby ukazovala na dříve vytvořený předsdílený klíč:
...
### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
Po dokončení uložte a zavřete soubor.
Spusťte službu agenta Zabbix a nastavte ji tak, aby se spouštěla při spouštění pomocí:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
Dále budete muset přidat pravidlo brány firewall, které povolí provoz z vašeho serveru Zabbix na portu TCP 10050
.
Za předpokladu, že používáte UFW
pro správu vašeho firewallu a chcete povolit přístup z 192.168.121.70
IP adresu byste spustili následující příkaz:
sudo ufw allow proto tcp from 192.168.121.70 to any port 10050
Nastavit nového hostitele #
Nyní, když je agent na vzdáleném hostiteli, kterého chcete monitorovat, nainstalován a nakonfigurován, dalším krokem je registrace hostitele na serveru Zabbix.
Přihlaste se do webového rozhraní serveru Zabbix jako uživatel admin:
http(s)://your_domain_or_ip_address/zabbix
Jakmile jste uvnitř, klikněte v horním navigačním panelu na Configuration
a poté Hosts
Dále klikněte na modré Create host
v pravém horním rohu obrazovky a otevře se stránka konfigurace hostitele:

Zadejte název hostitele a adresu IP vzdáleného hostitelského počítače, který chcete monitorovat. Přidejte hostitele do jedné nebo více skupin výběrem skupiny ze seznamu nebo zadejte název neexistující skupiny a vytvořte novou. Linux Servers
skupina je dobrá volba.

Po dokončení klikněte na Templates
tab. Vyberte Template OS Linux
a klikněte na Add
odkaz pro přidání šablony do hostitele.
Dále klikněte na Encryption
tab. Vyberte PSK pro obě Connections to host
a Connections from host
.
Nastavte PSK identity
hodnotu na PSK 001
, hodnota TLSPSKIdentity
možnost agenta Zabbix, kterou jste nakonfigurovali v předchozím kroku.
V PSK value
přidejte klíč, který jste vygenerovali pro agenta Zabbix, klíč uložený v /etc/zabbix/zabbix_agentd.psk
soubor.

Nakonec pro přidání hostitele klikněte na modré button
.