Projektowanie stron internetowych i usługi IT

|

Każdy system potrzebuje swojego

POLIGON'u

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 Nginx
PHP: 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 https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1%2Bdebian$(lsb_release -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:
http://IP_SERWERA/zabbix

Domyślne dane logowania:
  • Login: Admin (wielkość liter ma znaczenie)
  • Hasło: zabbix

Podstawowa Konfiguracja Zabbixa
  1. Dodanie hostów
    • Konfiguracja → Hosty → Utwórz nowy host
    • Podaj nazwę, IP i przypisz grupę oraz szablony (np. Linux by Zabbix agent).
  2. Konfiguracja szablonów
    • Szablony zawierają predefiniowane metryki i wyzwalacze.
    • Możesz użyć wbudowanych lub stworzyć własne.
  3. Tworzenie wyzwalaczy (Triggers)
    • Konfiguracja → Wyzwalacze → Dodaj nowy wyzwalacz.
    • Określ warunek np. {host:system.cpu.load[percpu,avg1].last()} > 4.
  4. Tworzenie grafów (Graphs)
    • Wizualizacja → Grafy → Dodaj nowy.
  5. 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
Zabbix instrukcja i konfiguracja
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. 😊