Diagnostika služeb

Tato příručka vás provede základními kontrolami nasazení Team assistant: ověřením, že služby Docker Compose běží, čtením protokolů služby a testem dostupnosti vzdálené služby, například databáze.

Většina těchto kontrol je pouze pro čtení a je bezpečné je spustit kdykoli.

Některé kontroly jsou dostupné přímo z nabídky tas-manager; zbytek se spouští ze systémového shellu. Projekt Docker Compose se nachází v $TAS_COMPOSE_PATH (výchozí ~/tas-compose), kde jsou umístěny soubory compose.yaml a .env.

1. Kontrola stavu služeb z nabídky

V hlavní nabídce přejděte na:

Stav → Team assistant

Zobrazí se stav tří aplikačních služeb — tas-frontend, tas-backend a tas-backend-cron — spolu s nakonfigurovanými adresami URL frontendu a backendu a názvy imagí. Pomlčka () ve sloupci stavu znamená, že kontejner neběží.

Když spustíte sadu služeb přes Správa → Team assistant → Spravovat služby, zobrazí se živě výstup spouštění a kontrola stavu jednotlivých služeb — nejrychlejší způsob, jak odhalit službu, která se nespustí.

2. Kontrola všech kontejnerů z shellu

Nabídka zobrazuje pouze tři aplikační služby. Chcete-li vidět celou sadu — včetně podpůrných a jednorázových kontejnerů — otevřete systémový shell:

Správa → Systém → [!] Otevřít systémový shell (pouze pro zkušené uživatele)

Potvrďte varovné okno a poté spusťte:

cd "$TAS_COMPOSE_PATH"
docker compose ps
docker compose ps --all
  • docker compose ps vypíše aktuálně běžící kontejnery.
  • docker compose ps --all navíc vypíše i kontejnery, které se zastavily, včetně jednorázových kontejnerů init-* (viz krok 3).

Přečtěte si sloupec STATUS:

  • Up (případně s (healthy)) znamená, že služba běží normálně,
  • (starting) znamená, že kontrola stavu ještě neproběhla úspěšně,
  • (unhealthy) nebo Exited znamená, že služba vyžaduje pozornost.

3. Porozumění init kontejnerům, které skončí

Sada obsahuje několik jednorázových inicializačních kontejnerů, které provedou jeden nastavovací úkol a poté se záměrně zastaví:

Kontejner

Účel

init-folders

Připraví datové složky

init-certificates

Připraví certifikáty TLS

init-db

Připraví připojení k databázi

init-db-migration

Spustí migraci schématu databáze

init-admin-password

Nastaví počáteční heslo správce

U těchto kontejnerů stav Exited (0) znamená, že krok proběhl úspěšně — to je normální a nejedná se o chybu. Nenulový návratový kód (například Exited (1)) znamená, že nastavovací krok selhal; přečtěte si protokoly daného kontejneru, abyste zjistili proč (krok 4).

4. Čtení protokolů služby

Pro zobrazení protokolů neexistuje položka nabídky — čtěte je ze systémového shellu. Například pro kontrolu backendu:

docker compose logs tas-backend
docker compose logs --tail=100 --follow tas-backend
  • První příkaz vypíše celý protokol.
  • Druhý zobrazí posledních 100 řádků a poté živě sleduje nový výstup; sledování ukončíte stisknutím Ctrl+C.

Nahraďte tas-backend názvem libovolné služby, chcete-li zkontrolovat jiný kontejner — například tas-frontend, tas-backend-cron, init-db nebo traefik.

5. Test síťového přístupu ke vzdálené službě

Team assistant se připojuje ke vzdálené databázi Microsoft SQL Server. Chcete-li ověřit, že je hostitel a port databáze z tohoto počítače dostupný, použijte ze systémového shellu curl. Použijte hodnoty TAS_DB_HOSTNAME a TAS_DB_PORT ze souboru $TAS_COMPOSE_PATH/.env (výchozí port je 1433):

curl -v telnet://sql.example.local:1433

Řádek jako Connected to sql.example.local (…) port 1433 potvrzuje, že síťová cesta a port jsou otevřené. curl se nepokouší o přihlášení k databázi — testuje pouze připojení TCP. Zpráva Connection refused nebo vypršení časového limitu poukazuje na firewall, problém se směrováním nebo nesprávného hostitele či port.

Stejný postup funguje i pro koncové body HTTP frontendu a backendu zobrazené na stránce Stav → Team assistant, například:

curl -v <TAS_BACKEND_URL>

6. Kontrola systémových prostředků

V hlavní nabídce přejděte na:

Stav → Systém

Zobrazí se název hostitele, operační systém, síťová rozhraní a přípojné body s využitím disku.

Zaplněný disk je častou příčinou toho, že se kontejnery nespustí nebo se stanou nefunkčními.

Ze systémového shellu můžete zkontrolovat totéž i vlastní využití Dockeru:

df -h
docker system df

7. Kontrola protokolu tas-manager

tas-manager zaznamenává vlastní akce a chyby do $LOG_FILE (výchozí ~/.local/state/tas-manager.log). Prohlédněte si jej, když se nesprávně chová samotný nástroj nabídky — například když akce údržby selže bez jasné zprávy. Ze systémového shellu:

tail -n 100 "$LOG_FILE"
less "$LOG_FILE"

Návrat do nabídky

Zadáním exit opustíte systémový shell a vrátíte se do nabídky tas-manager.

Chcete-li po vyřešení problému restartovat služby, použijte Správa → Team assistant → Spravovat služby. Chcete-li změnit nastavení připojení k databázi, viz článek Připojení Team assistant k jinému databázovému serveru.

Frantisek Brych Updated by Frantisek Brych

Připojení k jiné databázi

Change the default URL in Oracle VirtualBox

Contact

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)