Artykul

Instrukcja instalacji Zabbix - konfiguracja i zarządzanie

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

17.02.2025 4 min czytania import
Dashboard monitoringu infrastruktury serwerowej

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

Wroc do bloga