Monitoring dysku w Zabbixie: miejsce, inode i mountpointy

Brak miejsca na dysku to jedna z tych awarii, które rzadko wyglądają efektownie, ale potrafią zatrzymać pół systemu. Baza danych przestaje zapisywać dane, aplikacja zaczyna zwracać błędy, logi nie mają gdzie się dopisywać, a administrator widzi problem dopiero wtedy, gdy użytkownicy już dzwonią.

Zabbix nadaje się do tego bardzo dobrze, ale samo dodanie hosta do monitoringu nie zawsze wystarczy. Warto sprawdzić, czy monitorowane są właściwe partycje, czy alerty mają sensowne progi i czy nie pomijamy inode.

Problem

Na serwerach Linux zwykle patrzymy na zajętość partycji przez df -h:

df -h

Przykładowy problem widać od razu: partycja / ma 95%, aplikacja zapisuje pliki tymczasowe, a logi rosną dalej. Jeżeli monitoring wyśle alert dopiero przy 99%, może być już za późno na spokojną reakcję.

Druga rzecz to inode. Możesz mieć jeszcze wolne gigabajty, ale jeśli skończą się inode, system nadal nie utworzy nowych plików.

df -i

To często wychodzi przy dużej liczbie małych plików: cache, sesje, kolejki, pliki tymczasowe, stare logi albo źle sprzątane backupy.

Co Zabbix powinien sprawdzać

Na zwykłym serwerze Linux sensowne minimum to:

  • zajętość partycji w procentach,
  • wolne miejsce w bajtach,
  • liczba wolnych inode,
  • tempo przyrostu zajętości,
  • czy ważne mountpointy są nadal zamontowane.

Sam procent nie zawsze wystarczy. 90% na partycji 20 GB oznacza coś innego niż 90% na macierzy 10 TB. Dlatego dobrze mieć progi procentowe i dodatkowo patrzeć na realną ilość wolnego miejsca.

Discovery partycji

W typowej konfiguracji Zabbix używa low-level discovery do wykrywania systemów plików. Dzięki temu nie trzeba ręcznie dodawać każdego mountpointu.

W praktyce po podpięciu template Linux sprawdź w Zabbixie, jakie file systemy zostały wykryte. Nie zakładaj, że monitoring objął dokładnie to, co trzeba.

Na serwerze pomocniczo sprawdzisz mountpointy tak:

df -hT

Warto porównać wynik z tym, co widzisz w Zabbixie. Szczególnie przy serwerach z dodatkowymi dyskami, udziałami sieciowymi, katalogami aplikacji albo osobnym /var.

Progi alertów

Najprostsze progi mogą wyglądać tak:

  • warning przy 80% zajętości,
  • high przy 90%,
  • disaster przy 95% albo mniej, jeśli partycja jest mała.

To nie jest uniwersalna reguła. Dla małej partycji systemowej 90% może oznaczać kilkaset megabajtów wolnego miejsca. Dla dużej partycji danych może to być jeszcze spory zapas.

Dlatego przy ważniejszych serwerach warto mieć osobne podejście do:

  • /,
  • /var,
  • /var/log,
  • katalogów baz danych,
  • katalogów backupu,
  • partycji aplikacyjnych.

Nie zapomnij o inode

Alert na miejsce na dysku nie zastępuje alertu na inode. To osobna rzecz.

Na serwerze sprawdzisz to poleceniem:

df -i

Jeżeli użycie inode rośnie szybko, trzeba znaleźć katalogi z dużą liczbą plików. Pomocne może być takie podejście:

sudo find /var -xdev -type f | cut -d/ -f1-4 | sort | uniq -c | sort -nr | head

To nie jest komenda do bezmyślnego odpalania na każdym systemie w godzinach szczytu, ale przy diagnostyce potrafi szybko pokazać kierunek.

Mountpointy, które znikają

Osobny problem to mountpointy z NFS, SMB, iSCSI albo dodatkowych dysków. Jeżeli taki zasób się odmontuje, aplikacja może zacząć zapisywać dane w pustym katalogu lokalnym. Z zewnątrz wygląda to czasem jak normalna praca, dopóki nie zabraknie miejsca na partycji systemowej.

Warto monitorować nie tylko wolne miejsce, ale też fakt, czy dany mountpoint jest naprawdę zamontowany.

Na serwerze można to sprawdzić:

mountpoint /mnt/dane

W Zabbixie można to rozwiązać przez gotowe itemy z templatek albo własny user parameter, zależnie od środowiska.

Przykład własnego sprawdzenia

Jeżeli chcesz mieć proste sprawdzenie konkretnego katalogu, można przygotować user parameter. Przykład koncepcyjny:

UserParameter=custom.mountpoint.check[*],mountpoint -q "$1" && echo 1 || echo 0

Po zmianie konfiguracji agenta trzeba go zrestartować:

sudo systemctl restart zabbix-agent2

Potem test z serwera Zabbix:

zabbix_get -s ADRES_HOSTA -k custom.mountpoint.check[/mnt/dane]

Wynik 1 oznacza, że mountpoint jest zamontowany. Wynik 0 powinien uruchomić alert.

Co sprawdzić po dodaniu alertów

Po ustawieniu monitoringu dysku warto zrobić prosty przegląd:

  • czy Zabbix widzi wszystkie ważne partycje,
  • czy ignoruje pseudo-systemy plików, których nie chcesz alertować,
  • czy progi mają sens dla rozmiaru partycji,
  • czy jest alert na inode,
  • czy mountpointy krytyczne są monitorowane,
  • czy alert trafia do właściwej osoby,
  • czy wiadomo, co zrobić po takim alercie.

Sam alert „disk space is low” jest mało pomocny, jeśli nikt nie wie, który katalog rośnie i co można bezpiecznie usunąć.

Typowe przyczyny zapełnienia dysku

Najczęściej winne są:

  • logi bez rotacji,
  • backupy robione lokalnie bez sprzątania,
  • cache aplikacji,
  • pliki tymczasowe,
  • stare obrazy Dockera,
  • duże dumpy baz danych zostawione po migracji,
  • aplikacja zapisująca dane w złym katalogu po awarii mountpointu.

Przy Dockerze warto sprawdzić:

docker system df

Ale czyszczenie Dockera rób świadomie. Komendy typu prune potrafią usunąć więcej, niż ktoś zakładał.

Na co uważać

  • Nie ustawiaj progów tak wysoko, że alert przychodzi dopiero w momencie awarii.
  • Nie ignoruj inode, szczególnie na serwerach z dużą liczbą małych plików.
  • Nie monitoruj wszystkiego jednym progiem bez patrzenia na rozmiar partycji.
  • Nie traktuj lokalnego backupu jako bezpiecznej kopii, jeśli zapełnia produkcyjny serwer.
  • Nie kasuj plików w ciemno tylko dlatego, że są duże.

Podsumowanie

Monitoring dysku w Zabbixie powinien dawać czas na reakcję, a nie tylko potwierdzać awarię. Dobrze ustawiony monitoring sprawdza zajętość partycji, wolne miejsce, inode i ważne mountpointy.

Najważniejsze jest dobranie progów do konkretnego serwera. Inaczej monitoruje się mały VPS, inaczej serwer plików, a jeszcze inaczej host z bazą danych. Zabbix daje narzędzia, ale sensowne alerty trzeba dopasować do środowiska.

Zabbix Agent 2 na Ubuntu Server: instalacja i pierwsza diagnostyka

Zabbix Agent 2 to dobry wybór, jeśli chcesz monitorować serwer Ubuntu i mieć więcej możliwości niż przy klasycznym agencie. Samo zainstalowanie paczki to jednak dopiero początek. Trzeba jeszcze ustawić adres serwera Zabbix, nazwę hosta, firewall i sprawdzić, czy agent naprawdę odpowiada.

Ten wpis pokazuje praktyczną ścieżkę instalacji i pierwszej diagnostyki. Bez rozbudowanej teorii, raczej lista rzeczy, które administrator zwykle musi zrobić na świeżym serwerze.

Dla kogo jest ten wpis

Dla administratora, który ma serwer Ubuntu i chce dodać go do monitoringu Zabbix. Zakładam, że serwer Zabbix już istnieje, a my konfigurujemy tylko monitorowaną maszynę.

Nie zakładam konkretnej wersji Ubuntu ani Zabbixa, bo repozytoria i nazwy paczek mogą się różnić zależnie od wersji. Tego nie mogę potwierdzić na podstawie dostępnych danych. Przed wdrożeniem sprawdź aktualną dokumentację Zabbix dla swojej wersji.

Co warto przygotować przed instalacją

Przed wejściem na serwer przygotuj trzy informacje:

  • adres IP albo DNS serwera Zabbix,
  • nazwę hosta, która ma być widoczna w Zabbixie,
  • informację, czy agent ma działać pasywnie, aktywnie, czy w obu trybach.

W małym środowisku często wystarcza tryb pasywny, gdzie serwer Zabbix odpytuje agenta. Przy większej liczbie hostów albo problemach z NAT-em przydaje się tryb aktywny.

Instalacja Zabbix Agent 2

Najpierw zaktualizuj listę pakietów:

sudo apt update

Jeśli repozytorium Zabbixa jest już dodane, instalacja agenta zwykle sprowadza się do:

sudo apt install zabbix-agent2

Jeżeli paczka nie jest dostępna, trzeba dodać oficjalne repozytorium Zabbix dobrane do wersji systemu i wersji Zabbixa. Nie warto zgadywać adresu paczki z pamięci, bo wersje zmieniają się w czasie.

Podstawowa konfiguracja

Główny plik konfiguracyjny agenta znajduje się zwykle tutaj:

/etc/zabbix/zabbix_agent2.conf

Edytujemy go:

sudo nano /etc/zabbix/zabbix_agent2.conf

Najważniejsze parametry do sprawdzenia:

Server=ADRES_SERWERA_ZABBIX
ServerActive=ADRES_SERWERA_ZABBIX
Hostname=NAZWA_HOSTA

Server określa, kto może odpytywać agenta pasywnie. ServerActive jest używany przy checkach aktywnych. Hostname powinien zgadzać się z nazwą hosta dodaną w panelu Zabbix, jeśli nie korzystasz z autorejestracji.

Restart i sprawdzenie usługi

Po zmianie konfiguracji restartujemy usługę:

sudo systemctl restart zabbix-agent2

Sprawdzamy status:

sudo systemctl status zabbix-agent2

Warto też od razu zobaczyć logi:

sudo journalctl -u zabbix-agent2 -n 50 --no-pager

Jeżeli agent nie startuje, log zwykle powie więcej niż sam status usługi.

Firewall na monitorowanym serwerze

Jeżeli używasz UFW i agent ma działać pasywnie, trzeba dopuścić połączenia z serwera Zabbix do portu agenta. Domyślnie jest to port 10050/tcp.

sudo ufw allow from ADRES_SERWERA_ZABBIX to any port 10050 proto tcp

Potem sprawdź reguły:

sudo ufw status numbered

Nie otwieraj portu dla całego internetu, jeśli nie musisz. Agent powinien być dostępny tylko z serwera monitoringu albo z konkretnej sieci administracyjnej.

Test połączenia z serwera Zabbix

Najprościej sprawdzić odpytywanie z poziomu serwera Zabbix, używając zabbix_get. Przykład:

zabbix_get -s ADRES_MONITOROWANEGO_SERWERA -k agent.ping

Poprawna odpowiedź dla agent.ping to zwykle:

1

Można też sprawdzić nazwę hosta:

zabbix_get -s ADRES_MONITOROWANEGO_SERWERA -k agent.hostname

Jeśli nie ma odpowiedzi, sprawdź po kolei: firewall, adres w parametrze Server, routing, DNS i logi agenta.

Dodanie hosta w panelu Zabbix

W panelu Zabbix dodaj nowego hosta i ustaw:

  • nazwę hosta zgodną z konfiguracją agenta,
  • grupę hostów,
  • interfejs agenta z adresem IP albo DNS,
  • template dla Linuxa.

Po zapisaniu hosta trzeba chwilę poczekać. Jeśli wszystko jest poprawnie ustawione, dostępność agenta powinna zmienić się na zieloną.

Najczęstsze problemy

Agent działa, ale Zabbix go nie widzi

Sprawdź firewall na monitorowanym serwerze i po drodze. Sprawdź też, czy w Server= jest właściwy adres serwera Zabbix.

W panelu jest zła nazwa hosta

Porównaj Hostname= w konfiguracji agenta z nazwą hosta w Zabbixie. Przy checkach aktywnych ta zgodność ma duże znaczenie.

Po zmianie konfiguracji nic się nie zmieniło

Sprawdź, czy usługa została zrestartowana:

sudo systemctl restart zabbix-agent2

Potem sprawdź log:

sudo journalctl -u zabbix-agent2 -n 100 --no-pager

Port jest otwarty dla wszystkich

To nie jest dobra praktyka. Ogranicz dostęp do portu agenta tylko do serwera Zabbix.

Co warto monitorować na start

Po dodaniu hosta nie trzeba od razu budować skomplikowanych dashboardów. Na początek wystarczy:

  • dostępność agenta,
  • CPU load,
  • zużycie RAM,
  • miejsce na dysku,
  • inode,
  • status ważnych usług,
  • restarty systemu,
  • czas działania serwera.

Najbardziej praktyczne alerty to zwykle te, które dają czas na reakcję: kończące się miejsce na dysku, niedostępna usługa albo serwer, który nagle przestał odpowiadać.

Przykład z praktyki

Typowy błąd przy wdrożeniu monitoringu wygląda tak: agent jest zainstalowany, usługa działa, ale w Zabbixie host jest niedostępny. Administrator sprawdza status usługi i wygląda dobrze, więc problem wydaje się dziwny.

Najczęściej winne są trzy rzeczy: firewall, zły adres w Server= albo inna nazwa hosta w konfiguracji niż w panelu. Dlatego warto testować po kolei: usługa, log, port, zabbix_get, panel.

Na co uważać

  • Nie otwieraj portu 10050 dla całego internetu.
  • Nie zakładaj, że zielona ikonka w panelu oznacza kompletny monitoring.
  • Nie ignoruj logów agenta, bo często pokazują dokładny powód problemu.
  • Nie mieszaj przypadkowych wersji repozytorium Zabbix i systemu.
  • Nie dodawaj alertów, których nikt nie będzie obsługiwał.

Podsumowanie

Zabbix Agent 2 na Ubuntu Server można uruchomić szybko, ale warto zrobić to porządnie. Najważniejsze rzeczy to poprawny adres serwera Zabbix, zgodna nazwa hosta, ograniczony firewall i test połączenia z serwera monitoringu.

Dopiero potem ma sens dopracowywanie templatek, triggerów i dashboardów. Monitoring zaczyna działać naprawdę wtedy, gdy alert trafia do właściwej osoby i wiadomo, co z nim zrobić.

Ubuntu Server po instalacji: lista rzeczy do zrobienia przed produkcją

Świeżo zainstalowany Ubuntu Server zwykle działa od razu, ale to nie znaczy, że jest gotowy do produkcji. W praktyce najwięcej problemów pojawia się później: brak aktualizacji, nieczytelny hostname, otwarty SSH, brak monitoringu, brak backupu albo nikt nie wie, co właściwie jest na tym serwerze uruchomione.

Ten wpis to prosta lista rzeczy, które warto sprawdzić po instalacji Ubuntu Server, zanim postawisz na nim usługę dla firmy.

Dla kogo jest ten wpis

Dla administratora, który stawia nowy serwer VPS, maszynę wirtualną albo fizyczny serwer w małej firmie. Nie jest to opis instalatora krok po kroku. To lista czynności po pierwszym logowaniu.

Czytaj dalej „Ubuntu Server po instalacji: lista rzeczy do zrobienia przed produkcją”

Administrator IT – kluczowe umiejętności i narzędzia niezbędne w 2026 roku

Firma może mieć serwery lokalne, kilka usług w chmurze, Microsoft 365, backup na NAS-ie, VPN, monitoring, WordPressa, Docker Compose na jednym Ubuntu i użytkowników, którzy oczekują, że wszystko po prostu działa. W 2026 roku administrator IT nie jest już tylko osobą od restartu serwera i zakładania kont. To ktoś, kto musi ogarniać systemy, sieć, bezpieczeństwo, automatyzację, kopie zapasowe, dokumentację i coraz częściej narzędzia AI.

Czytaj dalej „Administrator IT – kluczowe umiejętności i narzędzia niezbędne w 2026 roku”

Jak zrobić sensowny backup WordPressa: pliki, baza danych i test odtworzenia

Backup WordPressa to nie jest tylko kliknięcie wtyczki i nadzieja, że „jakoś będzie”. Jeśli strona ma znaczenie dla firmy, trzeba mieć kopię plików, kopię bazy danych i przynajmniej prosty test odtworzenia.

Najgorszy moment na sprawdzanie backupu jest wtedy, kiedy strona już nie działa.

Dla kogo jest ten wpis

Ten wpis jest dla administratora albo właściciela małej firmy, który ma WordPressa na hostingu, VPS-ie albo własnym serwerze i chce mieć kopię, z której naprawdę da się wrócić.

Nie opisuję tutaj konkretnej wtyczki. Chodzi o podstawy, które warto rozumieć niezależnie od narzędzia.

Czytaj dalej „Jak zrobić sensowny backup WordPressa: pliki, baza danych i test odtworzenia”

Jak zainstalować Certbot i zautomatyzować odnowienie certyfikatów Let’s Encrypt przy użyciu hooks

Certyfikaty SSL/TLS są niezbędnym elementem dzisiejszego internetu, zapewniając bezpieczeństwo i prywatność danych przesyłanych między użytkownikami a serwerami. Dzięki Let’s Encrypt oraz narzędziu Certbot, możliwe jest bezpłatne generowanie certyfikatów SSL. W tym wpisie opiszę, jak zainstalować Certbot, wygenerować certyfikat Let’s Encrypt oraz zautomatyzować proces odnowienia za pomocą hooks.

Co to jest Certbot?

Certbot to otwarto źródłowe narzędzie do automatyzacji procesu uzyskiwania i odnawiania certyfikatów SSL od Let’s Encrypt. Certbot sprawia, że wdrożenie certyfikatu na serwerze WWW jest szybkie i proste, a dodatkowo pozwala na automatyczne odnawianie certyfikatów.

Instalacja Certbot w systemie Ubuntu

Aby zainstalować Certbot w systemie Ubuntu, wykonaj poniższe polecenia. Zawsze warto upewnić się, że masz aktualne pakiety na swoim serwerze:

sudo apt-get update

 

sudo apt-get install certbot

Generowanie certyfikatów Let’s Encrypt 

Gdy Certbot jest już zainstalowany, możesz wygenerować swój pierwszy certyfikat SSL. Załóżmy, że chcesz wygenerować certyfikat dla domeny krawaczynski.pl. W tym celu możesz użyć trybu standalone, który nie wymaga działającego serwera WWW:

sudo certbot certonly --standalone -d krawaczynski.pl

 Certbot utworzy plik certyfikatu oraz odpowiednie klucze na twoim serwerze. Certyfikat ten będzie ważny przez 90 dni, więc zaleca się automatyzowanie procesu odnawiania.

  uwagaUWAGA! Serwery let’s encrypt łączą się z Twoim komputerem na porcie :80 musisz zadbać aby na Twoim firewall otworzyć ten port. Jeżeli jest zajęty możesz sprawdzić jaka usługa go zajmuje

sudo lsof -i :80 

Generowanie pliku PSK12 

Często w aplikacjach wymagany jest format PKCS12  (.p12)

Konwersja: 

openssl pkcs12 -export -in /etc/letsencrypd t/live/twoja-domena.com/fullchain.pem -inkey /etc/letsencrypt/live/twoja-domena.com/privkey.pem -out pakiet.p12 -name alias -CAfile /etc/letsencrypt/live/twoja-domena.com/chain.pem -caname root

Automatyzacja z hooks Certbot 

Certbot oferuje funkcję zwaną „hooks”, która pozwala na automatyczne uruchamianie skryptów przed lub po odnowieniu certyfikatu. Jest to szczególnie przydatne, gdy musisz np. skopiować certyfikat do innych aplikacji lub zrestartować usługi, które używają certyfikatów.

Przykład zastosowania hooks z Prosody

Załóżmy, że korzystasz z serwera komunikacyjnego Prosody, który obsługuje szyfrowaną komunikację dla Jabber/XMPP. Po każdym odnowieniu certyfikatu musisz zaktualizować certyfikaty w Prosody i zrestartować usługę.

Utwórz skrypt do aktualizacji certyfikatów dla Prosody

Najpierw musisz utworzyć prosty skrypt, który będzie kopiował nowo wygenerowane certyfikaty do odpowiedniego folderu Prosody i restartował usługę. Skrypt zapisz np. pod nazwą /usr/local/bin/update-prosody-cert.sh:

#!/bin/bash

# Ścieżka do certyfikatów
CERT_PATH=”/etc/letsencrypt/live/krawaczynski.pl”

# Kopiowanie nowego certyfikatu i klucza
cp $CERT_PATH/fullchain.pem /etc/prosody/certs/fullchain.pem
cp $CERT_PATH/privkey.pem /etc/prosody/certs/privkey.pem

# Restart Prosody
systemctl restart prosody

Skonfiguruj hooks Certbot

Aby uruchomić ten skrypt po każdym odnowieniu certyfikatu, musisz skonfigurować hook w Certbot. Możesz to zrobić, dodając poniższy parametr do crona lub do pliku konfiguracyjnego Certbot:

certbot renew --deploy-hook "/usr/local/bin/update-prosody-cert.sh"

Teraz, za każdym razem, gdy Certbot odnowi certyfikat, skrypt automatycznie skopiuje nowe pliki certyfikatów i zrestartuje Prosody

Często zadawane pytania (FAQ)

1. Jak często muszę odnawiać certyfikat Let’s Encrypt?

Certyfikat Let’s Encrypt jest ważny przez 90 dni, ale dzięki Certbotowi proces odnowienia może być automatyzowany.

2. Czy mogę używać Certbot z serwerami innymi niż Apache lub Nginx?

Tak, Certbot obsługuje tryb standalone, który pozwala generować certyfikaty bez uruchomionego serwera WWW. To idealne rozwiązanie dla użytkowników takich aplikacji jak Prosody, HAProxy, czy inne niestandardowe usługi.

3. Jak sprawdzić, czy automatyczne odnowienie działa poprawnie? Możesz ręcznie przetestować odnowienie certyfikatu, uruchamiając polecenie:

sudo certbot renew --dry-run

Certbot to wszechstronne narzędzie, które pozwala szybko wygenerować certyfikaty SSL z Let’s Encrypt. Dzięki hooks możesz zautomatyzować wiele zadań, takich jak kopiowanie certyfikatów do aplikacji i restartowanie usług. Dla administratorów serwerów, którzy dbają o bezpieczeństwo i automatyzację, Certbot jest idealnym rozwiązaniem. Skorzystaj z powyższych przykładów, aby zaimplementować automatyzację w swojej infrastrukturze!

Przykład zastosowania ceryfikatu 

Certyfikat dla XMPP Serwer

Prosody XMPP Serwer

Administrator IT – Kluczowe umiejętności i narzędzia niezbędne w 2024 roku

Rola administratora IT stale się rozwija, obejmując coraz więcej obszarów technologicznych. Administratorzy IT nie tylko zarządzają serwerami i sieciami, ale także dbają o automatyzację, bezpieczeństwo oraz monitorowanie systemów. W tym artykule opiszę najważniejsze umiejętności i narzędzia, które administrator IT powinien posiadać w 2024 roku.

Kim jest administrator IT?

Administrator IT to osoba odpowiedzialna za utrzymanie infrastruktury IT w firmie, w tym serwerów, sieci i aplikacji. Ich zadania obejmują:

  • Monitorowanie sieci i serwerów.
  • Zarządzanie systemami operacyjnymi.
  • Tworzenie kopii zapasowych i odzyskiwanie danych.
  • Zarządzanie dostępem i bezpieczeństwem danych.
Czytaj dalej „Administrator IT – Kluczowe umiejętności i narzędzia niezbędne w 2024 roku”
☕ Postaw mi kawę