1. Przygotowanie Systemu
Wersja systemu: Debian 11 lub 12 (Bullseye/Bookworm)Zabbix: 7.0 LTS (zalecana)Baza danych: MySQL/MariaDB lub PostgreSQL (wybór zależy od preferencji)Webserver: Apache lub NginxPHP: 8.1 lub wyższa
2. Aktualizacja Systemu
sudo apt update sudo apt upgrade -y
Sprawdź, czy masz zainstalowane podstawowe narzędzia:
sudo apt install -y curl wget gnupg2 software-properties-common apt-transport-https lsb-release
3. Dodanie Repozytorium Zabbix
wget [usunięty link] -sr)_all.deb sudo dpkg -i zabbix-release_7.0-1+debian$(lsb_release -sr)_all.deb sudo apt update
4. Instalacja Pakietów Zabbix
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 mariadb-server
Wyjaśnienie:
- zabbix-server-mysql – serwer Zabbix
- zabbix-frontend-php – interfejs WWW
- zabbix-apache-conf – konfiguracja Apache dla Zabbixa
- zabbix-agent2 – agent Zabbixa (nowsza wersja, bardziej funkcjonalna)
- mariadb-server – baza danych
5. Konfiguracja Bazy Danych
5.1 Uruchomienie MySQL
sudo systemctl start mariadb sudo systemctl enable mariadb
5.2 Zabezpieczenie MySQL
sudo mysql_secure_installation
- Hasło roota: ustaw mocne hasło
- Usuwanie anonimowych użytkowników: Tak
- Zabronienie logowania roota zdalnie: Tak
- Usunięcie bazy testowej: Tak
- Przeładowanie tabel uprawnień: Tak
5.3 Utworzenie bazy danych dla Zabbixa
sudo mysql -u root -p
Następnie w konsoli MySQL:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'TwojeSuperHaslo!'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES; EXIT;
6. Import Schematów Zabbix
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix
Podaj hasło użytkownika zabbix (ustawione wcześniej).
7. Konfiguracja Serwera Zabbix
Edytuj plik konfiguracyjny:
sudo nano /etc/zabbix/zabbix_server.conf
Znajdź i zmień:
DBName=zabbix DBUser=zabbix DBPassword=TwojeSuperHaslo!
Zapisz: Ctrl+O, wyjdź: Ctrl+X.
8. Konfiguracja PHP dla Zabbixa
Edytuj plik:
sudo nano /etc/zabbix/apache.conf
Ustaw strefę czasową:
php_value date.timezone Europe/Warsaw
Zapisz i zamknij.
9. Uruchomienie Zabbixa
sudo systemctl restart zabbix-server zabbix-agent2 apache2 sudo systemctl enable zabbix-server zabbix-agent2 apache2
10. Dostęp do Interfejsu WWW
Przejdź do przeglądarki:[usunięty link]
Domyślne dane logowania:
- Login: Admin (wielkość liter ma znaczenie)
- Hasło: zabbix
Podstawowa Konfiguracja Zabbixa
- ## Dodanie hostów Konfiguracja → Hosty → Utwórz nowy host
- Podaj nazwę, IP i przypisz grupę oraz szablony (np. Linux by Zabbix agent).
- ## Konfiguracja szablonów Szablony zawierają predefiniowane metryki i wyzwalacze.
- Możesz użyć wbudowanych lub stworzyć własne.
- ## Tworzenie wyzwalaczy (Triggers) Konfiguracja → Wyzwalacze → Dodaj nowy wyzwalacz.
- Określ warunek np. {host:system.cpu.load[percpu,avg1].last()} > 4.
- ## Tworzenie grafów (Graphs) Wizualizacja → Grafy → Dodaj nowy.
- ## Ustawienie powiadomień Administracja → Media → Dodaj nową metodę (np. e-mail, Telegram, Slack).
- Utwórz akcje, które będą wysyłać powiadomienia na określone zdarzenia.
Podstawowe Zarządzanie
Sprawdzanie statusu usług
systemctl status zabbix-server systemctl status zabbix-agent2 systemctl status apache2 systemctl status mariadb
Logi i diagnostyka
tail -f /var/log/zabbix/zabbix_server.log tail -f /var/log/zabbix/zabbix_agent2.log tail -f /var/log/apache2/error.log
Aktualizacja Zabbixa
sudo apt update sudo apt upgrade -y sudo systemctl restart zabbix-server zabbix-agent2 apache2
Zabezpieczenia
- Regularnie aktualizuj serwer i oprogramowanie.
- Ogranicz dostęp do interfejsu WWW tylko z wybranych IP (w /etc/apache2/conf-enabled/zabbix.conf).
- Skonfiguruj firewall (UFW lub iptables) – zezwól na porty: 10051 (serwer Zabbix)
- 10050 (agent Zabbix)
- 80/443 (interfejs WWW)
Przykład:
sudo ufw allow 10051/tcp sudo ufw allow 10050/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
Automatyzacja Kopii Zapasowych
Stwórz prosty skrypt:
#!/bin/bash
BACKUP_DIR="/backup/zabbix" DATE=$(date +"%Y-%m-%d") mkdir -p $BACKUP_DIR mysqldump -u root -p'TwojeSuperHaslo!' zabbix > "$BACKUP_DIR/zabbix_$DATE.sql" tar -czvf "$BACKUP_DIR/zabbix_config_$DATE.tar.gz" /etc/zabbix /usr/share/zabbix
Dodaj do crona (np. codziennie o 3:00):
sudo crontab -e
Wpisz na końcu:
0 3 * /bin/bash /backup/zabbix/backup.sh
Gotowe!
Masz teraz w pełni funkcjonalny system monitoringu Zabbix na Debianie. 😊