Skip to main content

Instalace Smoke ping na portaineru Raspberry PI

Předpoklady:

  1. Máte funkční Raspberry Pi 5 s nainstalovaným operačním systémem (např. Raspberry Pi OS).
  2. Máte nainstalovaný Docker a Portainer a Portainer běží.
  3. Máte přístup k terminálu (příkazové řádce) vašeho Raspberry Pi 5 (např. přes SSH nebo přímo).
  4. Máte nainstalovaný textový editor pro terminál, např. nano (sudo apt update && sudo apt install nano pokud nemáte).

Krok 1: Připojení k Raspberry Pi a otevření terminálu

Připojte se k vašemu Raspberry Pi přes SSH nebo otevřete terminál přímo na zařízení.

Krok 2: Zjištění vašeho User ID (UID) a Group ID (GID)

Pro správné nastavení oprávnění souborů, které bude kontejner používat, je dobré zjistit UID a GID vašeho uživatele (obvykle výchozí uživatel pi nebo ten, kterého jste vytvořili). Zadejte příkaz:

id

Výstup bude vypadat nějak takto: uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),...

Poznamenejte si čísla za uid= (např. 1000) a gid= (např. 1000). Toto jsou vaše PUID a PGID, které použijeme později.

Krok 3: Vytvoření adresářové struktury na hostiteli (RPi)

Vytvoříme adresáře pod /opt/, kam bude Smokeping ukládat svou konfiguraci a data.

sudo mkdir -p /opt/smokeping/config
sudo mkdir /opt/smokeping/data
  • /opt/smokeping/config: Zde budou uloženy konfigurační soubory Smokepingu (např. Targets, Probes, General). Budeme je moci snadno editovat přímo z Raspberry Pi.
  • /opt/smokeping/data: Zde bude Smokeping ukládat RRD soubory (data pro grafy) a cache obrázků.

Krok 4: Vytvoření základního konfiguračního souboru Targets (Volitelné, ale doporučené)

Aby Smokeping po spuštění hned něco monitoroval, je dobré vytvořit základní soubor s cíli. Pokud tento krok přeskočíte, kontejner by si měl vytvořit výchozí konfiguraci, ale ta nemusí být hned užitečná.

Vytvořte a otevřete soubor Targets v adresáři /opt/smokeping/config:

sudo nano /opt/smokeping/config/Targets

Vložte do něj následující jednoduchý příklad (můžete si ho upravit):

*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of 'Modelarna-Janota.eu' Ltd. \
         Here you will learn all about the latency of our network.

+ LocalNetwork
menu = Local Network
title = Local Network Monitoring

++ Gateway
menu = Gateway
title = Ping to Default Gateway
host = 192.168.1.1  # <--- ZMĚŇTE NA IP ADRESU VAŠEHO ROUTERU/BRÁNY

++ GoogleDNS
menu = Google DNS
title = Ping to Google Public DNS
host = 8.8.8.8

# Můžete přidat další sekce (+) nebo hosty (++)
# Například:
# + Internet
# menu = Internet Targets
# title = Monitoring externích služeb
#
# ++ SeznamCZ
# menu = Seznam.cz
# title = Ping na Seznam.cz
# host = www.seznam.cz
  • DŮLEŽITÉ: Nahraďte 192.168.1.1 skutečnou IP adresou vašeho routeru (výchozí brány). Můžete ji zjistit např. příkazem ip r | grep default.
  • Uložte soubor (v nano stiskněte Ctrl+O, potvrďte Enter, a pak Ctrl+X pro ukončení).

Krok 5: Nastavení vlastnictví adresářů

Aby kontejner Smokeping (který poběží pod specifickým uživatelem definovaným PUID/PGID) mohl zapisovat do vytvořených adresářů, musíme jim nastavit správné vlastnictví. Použijte UID a GID, které jste zjistili v Kroku 2. Nahraďte VASE_PUID a VASE_PGID skutečnými čísly.

sudo chown -R VASE_PUID:VASE_PGID /opt/smokeping
Například, pokud vaše PUID i PGID bylo 1000:


sudo chown -R 1000:1000 /opt/smokeping

Krok 6: Vytvoření Stacku v Portaineru

  1. Otevřete webové rozhraní Portaineru ve vašem prohlížeči.
  2. V levém menu vyberte vaše Docker prostředí (obvykle pojmenované primary nebo local).
  3. Přejděte do sekce "Stacks".
  4. Klikněte na tlačítko "+ Add stack".
  5. Zadejte název stacku, například smokeping.
  6. V části "Build method" vyberte "Web editor".
  7. Do velkého textového pole vložte následující docker-compose.yml konfiguraci:
version: '3.8'

services:
  smokeping:
    image: lscr.io/linuxserver/smokeping:latest
    container_name: smokeping
    environment:
      - PUID=1000  # <--- ZMĚŇTE NA VAŠE PUID z Kroku 2
      - PGID=1000  # <--- ZMĚŇTE NA VAŠE PGID z Kroku 2
      - TZ=Europe/Prague # <--- NASTAVTE VAŠI ČASOVOU ZÓNU
    volumes:
      - /opt/smokeping/config:/config
      - /opt/smokeping/data:/data
    ports:
      - 8080:80 # <--- Hostitelský port : Port kontejneru (můžete změnit 8080, pokud je obsazený)
    restart: unless-stopped
  • DŮLEŽITÉ ÚPRAVY V YAML:
    • Nahraďte 1000 u PUID a PGID hodnotami, které jste zjistili v Kroku 2.
    • Zkontrolujte a případně upravte časovou zónu TZ. Seznam zón najdete např. na Wikipedii (List of tz database time zones). Europe/Prague je pro Česko správně.
    • ports:: Mapuje port 8080 na vašem Raspberry Pi na port 80 uvnitř kontejneru Smokeping. Pokud už port 8080 používáte pro jinou službu, změňte první číslo (např. na 8081:80). Port 80 vpravo (uvnitř kontejneru) neměňte.

Krok 7: Nasazení Stacku

  1. Pečlivě zkontrolujte vložený YAML kód, zejména úpravy PUID/PGID a portu.
  2. Sjeďte dolů a klikněte na tlačítko "Deploy the stack".
  3. Portainer stáhne potřebný Docker obraz (pokud ho ještě nemáte lokálně) a spustí kontejner podle vaší definice. Může to chvíli trvat.

Krok 8: Kontrola a přístup ke Smokepingu

  1. Po nasazení byste měli vidět stack smokeping v seznamu stacků a kontejner smokeping v seznamu kontejnerů jako běžící (running).

  2. Pokud se vyskytnou problémy, můžete se podívat na logy kontejneru kliknutím na ikonu logu u kontejneru smokeping v Portaineru.

  3. Otevřete webový prohlížeč a zadejte adresu vašeho Raspberry Pi následovanou portem, který jste definovali v docker-compose.yml (v našem příkladu 8586):

    http://<IP_ADRESA_VAŠEHO_RPI>:8586

    Například: http://192.168.1.50:8586

    (IP adresu vašeho RPi zjistíte např. příkazem hostname -I v terminálu RPi).

  4. Měli byste vidět webové rozhraní Smokepingu s grafy pro cíle, které jste definovali v souboru Targets. Může trvat několik minut, než se začnou objevovat první data v grafech.

Krok 9: Další konfigurace

Pokud chcete přidat další cíle, změnit typy sond (probe) nebo upravit jiné aspekty Smokepingu:

  1. Editujte konfigurační soubory v adresáři /opt/smokeping/config na vašem Raspberry Pi (např. sudo nano /opt/smokeping/config/Targets).
  2. Po uložení změn je potřeba restartovat kontejner Smokeping, aby se změny načetly. To můžete udělat v Portaineru:
    • Přejděte do sekce "Containers".
    • Najděte kontejner smokeping.
    • Klikněte na tlačítko "Restart".

Hotovo! Nyní máte Smokeping běžící v Docker kontejneru na vašem Raspberry Pi 5, spravovaný přes Portainer, s konfigurací a daty uloženými na hostitelském systému.