Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

Zabbix — instalacja serwera, agenta, szablony, triggery i alerty Discord/Telegram

Opublikowano: 9 kwietnia 2026 · Kategoria: VPS / Monitoring

Nie wiesz że serwer jest przeciążony dopóki nie dostaniesz zgłoszenia od klienta — to najgorszy scenariusz. Zabbix to open-source platforma monitoringu zbierająca setki metryk z serwerów, baz danych i urządzeń sieciowych, wysyłająca alerty zanim problem stanie się przestojem. W tym przewodniku zainstalujemy serwer Zabbix 7.x, skonfigurujemy agentów, szablony i powiadomienia przez Discord i Telegram.

Instalacja serwera Zabbix 7.x na Ubuntu 22.04

Zabbix wymaga serwera bazy danych (MySQL lub PostgreSQL) i serwera WWW (Nginx lub Apache) dla interfejsu webowego. Użyjemy MySQL + Nginx:

# Dodaj repozytorium Zabbix 7.0 LTS
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb
sudo apt update

# Zainstaluj serwer, frontend i agenta
sudo apt install -y zabbix-server-mysql zabbix-frontend-php \
  zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2 \
  mysql-server

# Sprawdź wersję
zabbix_server --version

Skonfiguruj bazę danych MySQL dla Zabbix:

# Zaloguj się do MySQL jako root
sudo mysql -uroot

# W MySQL shell:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'BezpieczneHaslo123!';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
EXIT;

# Zaimportuj schemat bazy
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql \
  --default-character-set=utf8mb4 -uzabbix -p zabbix

# Wyłącz log_bin_trust_function_creators
sudo mysql -uroot -e "SET GLOBAL log_bin_trust_function_creators = 0;"

Skonfiguruj serwer Zabbix — podaj hasło do bazy:

# Edytuj /etc/zabbix/zabbix_server.conf
sudo nano /etc/zabbix/zabbix_server.conf

# Zmień:
DBPassword=BezpieczneHaslo123!

# Skonfiguruj Nginx dla Zabbix frontend
sudo nano /etc/zabbix/nginx.conf
# Odkomentuj i ustaw:
# listen 80;
# server_name zabbix.mojafirma.pl;

# Uruchom usługi
sudo systemctl restart zabbix-server zabbix-agent2 nginx php8.1-fpm
sudo systemctl enable zabbix-server zabbix-agent2 nginx

Otwórz przeglądarkę: http://IP-SERWERA/zabbix — kreator web skonfiguruje połączenie z bazą. Domyślne dane logowania: Admin / zabbix (zmień natychmiast!).

Instalacja agenta Zabbix na monitorowanym hoście

Na każdym serwerze który chcesz monitorować zainstaluj Zabbix Agent 2 (nowszy, obsługuje goroutines):

# Na monitorowanym hoście (nie serwerze Zabbix)
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb
sudo apt update
sudo apt install -y zabbix-agent2

# Edytuj konfigurację agenta
sudo nano /etc/zabbix/zabbix_agent2.conf
# /etc/zabbix/zabbix_agent2.conf — kluczowe ustawienia

# IP serwera Zabbix
Server=1.2.3.4
ServerActive=1.2.3.4

# Nazwa hosta (musi pasować do nazwy w konfiguracji hosta w UI)
Hostname=moj-serwer-produkcyjny

# Port (domyślny 10050)
ListenPort=10050

# Logi
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=10
sudo systemctl restart zabbix-agent2
sudo systemctl enable zabbix-agent2

# Przetestuj połączenie z serwera Zabbix
zabbix_get -s IP-HOSTA -p 10050 -k "system.hostname"

Dodawanie hosta i szablonu w UI

W interfejsie webowym Zabbix: Configuration → Hosts → Create host. Kluczowe pola:

Pole Wartość Uwaga
Host name moj-serwer-produkcyjny Musi pasować do Hostname w agent2.conf
Groups Linux servers Logiczne grupowanie hostów
Interfaces Agent, IP: 1.2.3.4, Port: 10050 IP monitorowanego hosta
Templates Linux by Zabbix agent Gotowy szablon z ~60 metrykami i triggerami

Szablon Linux by Zabbix agent automatycznie zbiera: CPU (system/user/iowait/steal), RAM, swap, dyski (read/write IOPS, latencja), sieć (in/out bytes), procesy, czas systemowy i wiele innych. Ma też predefiniowane triggery: np. alarm gdy dysk przekroczy 85% pojemności.

Konfiguracja triggerów i akcji alertów

Własny trigger: Configuration → Hosts → [host] → Triggers → Create trigger:

# Wyrażenia triggerów — przykłady

# CPU > 90% przez 5 minut
{moj-serwer-produkcyjny:system.cpu.util.avg(5m)}>90

# RAM wolna < 200 MB
{moj-serwer-produkcyjny:vm.memory.size[available].last()}<209715200

# Dysk /var/log > 90% zajęty
{moj-serwer-produkcyjny:vfs.fs.size[/var/log,pused].last()}>90

# Serwis nginx nie działa
{moj-serwer-produkcyjny:proc.num[nginx].last()}=0

# Restart hosta (uptime < 10 minut)
{moj-serwer-produkcyjny:system.uptime.change()}<0

Integracja z Discord i Telegram

Zabbix obsługuje webhook — idealne dla Discord i Telegram. Idź do Administration → Media types → Create media type:

# Media type: Discord Webhook
# Type: Webhook
# Parameters:
#   discord_webhook_url = https://discord.com/api/webhooks/ID/TOKEN
#   message = {ALERT.MESSAGE}
#   subject = {ALERT.SUBJECT}

# Script (JavaScript w Zabbix):
var params = JSON.parse(value);
var request = new HttpRequest();
request.addHeader('Content-Type: application/json');

var payload = JSON.stringify({
  "embeds": [{
    "title": params.subject,
    "description": params.message,
    "color": 15158332
  }]
});

var response = request.post(params.discord_webhook_url, payload);
return response;
# Telegram Media Type
# Parameters:
#   telegram_token = BOT_TOKEN
#   chat_id = -1001234567890
#   message = {ALERT.SUBJECT}: {ALERT.MESSAGE}

# Script:
var params = JSON.parse(value);
var request = new HttpRequest();
request.addHeader('Content-Type: application/json');

var url = 'https://api.telegram.org/bot' + params.telegram_token + '/sendMessage';
var payload = JSON.stringify({
  "chat_id": params.chat_id,
  "text": params.message,
  "parse_mode": "HTML"
});

var response = request.post(url, payload);
return response;

Po skonfigurowaniu Media type: Configuration → Actions → Trigger actions → Create action — dodaj warunek (np. Trigger severity >= High) i operację (wyślij wiadomość przez Discord/Telegram do grupy użytkowników).

Najczęstsze pytania

Czym różni się Zabbix od Prometheusa? +
Zabbix to kompletne rozwiązanie all-in-one: serwer, agenci, baza danych (MySQL/PostgreSQL), web UI — instalujesz jeden produkt i masz wszystko. Prometheus to system pull-based z osobnymi eksporterami, Grafaną do wizualizacji i Alertmanagerem do alertów — wymaga złożenia kilku narzędzi. Zabbix lepiej sprawdza się w środowiskach enterprise z klasyczną infrastrukturą (serwery, sieci). Prometheus dominuje w Kubernetes i cloud-native.
Jak Zabbix pobiera dane z monitorowanych hostów? +
Zabbix obsługuje kilka trybów: (1) Active agent — agent sam wysyła dane do serwera co X sekund (preferowany za firewallami). (2) Passive agent — serwer odpytuje agenta (wymaga dostępu do portu 10050 na hoście). (3) SNMP — dla urządzeń sieciowych, routerów, przełączników. (4) ICMP ping — sprawdzanie dostępności. (5) HTTP agent — odpytuje URL i sprawdza odpowiedź (monitoring usług webowych bez agenta).
Co to jest trigger w Zabbix i jak go skonfigurować? +
Trigger to warunek alarmu oparty na zebranych danych. Przykład: &#123;linux-server:system.cpu.util.avg(5m)&#125; &gt; 90 — jeśli średnie użycie CPU z ostatnich 5 minut przekroczy 90%, trigger się aktywuje i wysyła alert. Triggery mają poziomy ważności: Not classified, Information, Warning, Average, High, Disaster. Do triggerów podpinasz akcje (Actions) — co zrobić gdy trigger się aktywuje: wyślij email, uruchom skrypt, wyślij webhook.
Czy Zabbix ma gotowe szablony dla popularnych usług? +
Tak — Zabbix dostarcza setki gotowych szablonów w zakładce Configuration &gt; Templates. Są szablony dla: Linux OS (CPU, RAM, dysk, sieć, procesy), Nginx, Apache, MySQL, PostgreSQL, Docker, Kubernetes, Cisco, VMware ESXi, Windows Server i wielu innych. Po dodaniu hosta wystarczy przypisać odpowiedni szablon — Zabbix automatycznie zacznie zbierać dziesiątki metryk i ma predefiniowane triggery. Dodatkowe szablony znajdziesz w Zabbix Share (share.zabbix.com).

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.