1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  Zabbix - monitoring serwera

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

Opublikowano: 9 kwietnia 2026 · Kategoria: VPS / Monitoring

⚡ W skrócie · 9 min czytania

-   Jak zainstalować i skonfigurować Zabbix do monitorowania serwera: instalacja serwera i agenta, szablony hostów, triggery alertów, powiadomienia przez Discord webhook i Telegram.
-   Instalacja serwera Zabbix 7.x na Ubuntu 22.04.
-   Instalacja agenta Zabbix na monitorowanym hoście.
-   Dodawanie hosta i szablonu w UI.
-   Konfiguracja triggerów i akcji alertów.

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; > 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 > 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.

Contabo

VPS z dużą ilością RAM - Zabbix server + baza MySQL wymagają min. 2 GB RAM

VPS

[Aktywuj rabat →](/out/contabo/#reklama "Contabo")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo/)

Mikrus

Tani VPS jako monitorowany host - zainstaluj tylko agenta Zabbix

Monitorowany host

[Aktywuj rabat →](/out/mikrus/#reklama "Mikrus")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus/)

LH.pl

Hosting współdzielony z monitoringiem uptime - sprawdź dostępność HTTP przez Zabbix

Monitoring HTTP

[Aktywuj rabat →](/out/lh-pl/#reklama "LH.pl")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/lh-pl/)

## Powiązane strony

-   [Netdata - monitoring serwera w czasie rzeczywistym](/baza-wiedzy/netdata-monitoring-vps/)
-   [Monitorowanie strony z UptimeRobot](/baza-wiedzy/monitorowanie-strony-uptime-robot/)
-   [Bezpieczeństwo VPS - checklist](/baza-wiedzy/bezpieczenstwo-vps-checklist/)
-   [Testowanie wydajności serwera - k6 i ApacheBench](/baza-wiedzy/load-testing-k6-ab/)
-   [Wszystkie artykuły](/baza-wiedzy/)
-   [InfluxDB v2 + Telegraf - monitoring VPS i aplikacji
    
    InfluxDB v2 i Telegraf krok po kroku: instalacja, organizacje i buckety, tokeny API, collectory CPU/disk/net/mysql,…
    
    ](/baza-wiedzy/influxdb-telegraf-monitoring/)
-   [Nextcloud na VPS - instalacja i konfiguracja z Nginx
    
    Nextcloud VPS: Nginx + PHP-FPM 8.2 + MariaDB + Redis, konfiguracja nginx.conf z CalDAV/CardDAV, Redis session cache…
    
    ](/baza-wiedzy/nextcloud-konfiguracja-vps/)
-   [Jaki VPS wybrać?](/jaki-vps-wybrac/)

Autor: [Redakcja HostGrade.pl](/autorzy/) Zespół redakcyjny · Aktualizacja: 14 czerwca 2026

Artykuły HostGrade.pl przygotowuje i aktualizuje redakcja serwisu. Ceny startowe, ceny odnowienia i warunki planów sprawdzamy w cennikach i regulaminach dostawców, a potem liczymy całkowity koszt za 2 lata (cena startowa plus odnowienia). Zasady zbierania danych i liczenia kosztów opisujemy na stronie Metodologia. Linki partnerskie oznaczamy jako #reklama.

[O redakcji i metodologii →](/autorzy/)