
Zabbix je vyspělý open-source software pro monitorování sítí a aplikací. Zabbix může shromažďovat metriky z různých síťových zařízení, systémů a aplikací. V případě jakýchkoli selhání bude Zabbix zasílat upozornění prostřednictvím různých metod.
Zabbix podporuje monitorování založené na agentech i monitorování bez agentů. Agent Zabbix má malé rozměry a může běžet na různých platformách, včetně Linuxu, UNIXu, macOS a Windows.
Tento tutoriál vysvětluje, jak nainstalovat a nakonfigurovat nejnovější verzi Zabbix 4.0 na serveru Debian 9 Linux 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 #
Uživatel, pod kterým jste přihlášeni, musí mít oprávnění sudo, aby mohl instalovat balíčky.
Vytváření databáze MySQL #
Zabbix podporuje MySQL/MariaDB a PostgreSQL. V této příručce použijeme MariaDB jako back-end databáze.
Pokud na svém serveru Debian nemáte nainstalovanou MariaDB, nainstalujte ji podle těchto pokynů.
Přihlaste se do konzole MySQL:
sudo mysql
Spuštěním následujícího příkazu SQL 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 Debian #
V době psaní tohoto článku je nejnovější stabilní verze Zabbix verze 4.0. Balíčky Zabbix dostupné v repozitářích Debianu jsou často zastaralé, takže použijeme oficiální repozitář 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/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb
Jakmile je soubor stažen, nainstalujte jej pomocí:
sudo apt install ./zabbix-release_4.0-2+stretch_all.deb
Aktualizujte seznam 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 se všemi požadovanými nastaveními Apache a PHP.
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 soubor a restartujte službu Apache, aby se změny aktivovaly.
sudo systemctl restart apache2
3. Konfigurace databáze MySQL pro server Zabbix #
Importujte soubor výpisu MySQL, který obsahuje počáteční schéma a data pro server Zabbix s MySQL.
gunzip < /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 otevřete konfiguraci Zabbix a nastavte heslo databáze:
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 a povolte služby serveru Zabbix a agenta:
sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
Ověřte, zda je spuštěn server Zabbix:
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 Mon 2019-01-28 15:37:21 CST; 35s ago
Main PID: 27632 (zabbix_server)
CGroup: /system.slice/zabbix-server.service
...
Instalace a konfigurace rozhraní Zabbix #
Webové rozhraní Zabbix je napsáno v PHP a umožňuje vám konfigurovat server, prohlížet shromážděná data a přidávat hostitele, které chcete monitorovat.
Chcete-li zahájit instalaci, otevřete svůj oblíbený prohlížeč a zadejte název domény serveru nebo veřejnou IP adresu 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 informační stránku se seznamem nezbytných PHP balíčků potřebných ke spuštění Zabbix Frontendu. Přejděte dolů a ověřte, zda je vše správně nainstalováno a 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í podrobností 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 uvidíte souhrn předinstalace.

Klikněte na Next step
a jakmile je instalace dokončena, dostanete se na stránku ukazující, ž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. Nejprve musíte změnit aktuální heslo. 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á Debian 9.
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/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb
sudo apt install ./zabbix-release_4.0-2+stretch_all.deb
Aktualizujte seznam balíčků 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 této příručce použijeme metodu předsdílených klíčů (PSK) k zabezpečení spojení mezi serverem a agentem.
Spuštěním 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 přidejte pravidlo brány firewall, které povoluje 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, je dalším krokem 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
.