Rejstřík deníkuDockup / terénní poznámka
Note / self-host-grafana

Jak si v roce 2026 hostovat Grafanu: dashboardy, alerty a trvalý stav

Nasaďte Grafanu se správným portem, trvalým úložištěm, TLS, autentizací a zálohami. Řešte potíže, když v produkci zmizí dashboardy spolu se souborem SQLite.

„Spouštění Grafany“ může znamenat dvě různé věci: kontejner existuje, nebo služba skutečně plní svou úlohu. Důležitá je pouze druhá možnost. Důkazem je přidání read-only data source, uložení panelu, vyhodnocení alert rule a doručení testovací notifikace prostřednictvím contact pointu.

Grafana slouží k tomuto účelu: poskytuje dashboardy a alerty nad metrikami, logy a traces. Nasazení musí zachovat součásti, které toto chování zajišťují; port, volume a certifikát jsou vstupy, nikoli výsledek.

Produkční podoba Grafany

HTTP proces Grafany naslouchá na portu 3000; tento port ponechte v aplikační síti a publikujte pouze platformní route. Síťový kontrakt pro Grafanu tvoří dostupné data sources a SMTP, pokud je vyžadováno doručování alertů. Privátní endpointy ponechte na interním DNS, povolte pouze nezbytná odchozí volání a Grafaně přidělte service credential s omezeným rozsahem oprávnění.

Hranici si zapište jako krátký kontrakt: kdo požadavek vlastní, který credential se používá, jaký timeout je přijatelný a jak se projeví selhání. Poté spusťte tuto transakci: přidejte read-only data source, uložte panel, vyhodnoťte alert rule a doručte testovací notifikaci prostřednictvím contact pointu. Během běhu sledujte fan-out dotazů, intervaly obnovování dashboardů, vyhodnocování alertů a paměť pluginů, nikoli vlastní uložené metriky Grafany, protože tato zátěž poskytne užitečnější výchozí velikost než nečinný kontejner.

Spusťte Grafanu, aniž byste skryli důležité části

Spusťte Grafanu tak, aby route zůstala privátní, dokud nebude dokončen bootstrap.

docker run -d \
  --name grafana \
  --restart unless-stopped \
  -p 127.0.0.1:3000:3000 \
  -v grafana-data:/var/lib/grafana \
  -e GF_SECURITY_ADMIN_PASSWORD=replace-with-a-long-random-value \
  grafana/grafana:latest

Pokud proces opakovaně končí a znovu se spouští, porovnejte očekávaného uživatele image s vlastníkem každé připojené cesty. Pokud zůstane spuštěný, otestujte lokálně port 3000 a poté rovnou projděte workflow: přidejte read-only data source, uložte panel, vyhodnoťte alert rule a doručte testovací notifikaci prostřednictvím contact pointu. Image opatřete pevnou verzí až poté, co tato end-to-end kontrola proběhne úspěšně, a přesnou konfiguraci zaznamenejte vedle služby.

Dejte Grafaně jednu kanonickou adresu

Vystavení TLS je pouze polovina route Grafany. Nastavte GF_SERVER_ROOT_URL na veřejnou HTTPS URL. Interně směrujte provoz na port 3000 a předejte externí scheme, aby vygenerované URL a secure cookies zůstaly konzistentní.

Kompletní scénář Grafany spusťte z čisté sítě, ne pouze načtení kořenové stránky. Chybu 502 nebo selhání certifikátu lze izolovat pomocí automatického nastavení domény a TLS. Pokud provoz dorazí k procesu a dashboardy zmizí spolu se souborem SQLite nebo OAuth callbacky používají localhost, diagnostikujte tento stav přímo na místě jeho vzniku, místo abyste vrstvili další redirecty.

Navrhněte obnovu Grafany ještě před spuštěním

Trvalou sadu pro obnovu tvoří databáze Grafany, pluginy a provisionovaná konfigurace. Před bootstrapem připojte /var/lib/grafana, zapište neškodná ukázková data a nahraďte kontejner, abyste ověřili, že je tato cesta skutečně persistentní. Volume chrání data před nahrazením kontejneru, nikoli však před ztrátou hostitele, náhodným smazáním nebo poškozením na úrovni aplikace.

Zálohujte způsobem, který odpovídá data source: podle potřeby používejte pro živé databáze logical dumpy a soubory kopírujte pouze z konzistentního stavu. Jednu šifrovanou kopii uchovávejte mimo hostitele Grafany. Akceptační kritérium obnovy musí být konkrétní — vrátí se users, folders, dashboardy, alert rules i metadata data sources a testovací alert se vyhodnotí. Příručka k zálohám ověřeným obnovou vysvětluje, proč samotný úspěch jobu nestačí.

Uzavřete dočasný přístup pro nastavení

Bezpečné nasazení Grafany začíná odebráním nadbytečných oprávnění. Nenechávejte admin/admin ani nechtěně nevystavujte anonymous access; místo toho změňte bootstrap admin password, omezte úpravy data sources a udržujte tokeny service accountů s omezeným rozsahem oprávnění.

Ukázkové GF_SECURITY_ADMIN_PASSWORD okamžitě nahraďte, uložte ho mimo image a při jeho odhalení ho rotujte stejně jako přihlašovací údaje administrátora. Omezte administrativní routes, pro závislosti používejte privátní DNS a zkontrolujte každý bind mount. Pokud se logy odesílají centrálně, před jejich opuštěním serveru z nich odfiltrujte secrets a soukromý obsah.

Nacvičte rizikovou změnu Grafany

Běžící kontejner je nutný, ale nestačí. Service-level indicator představuje úspěšné dokončení operace „přidat read-only data source, uložit panel, vyhodnotit alert rule a doručit testovací notifikaci prostřednictvím contact pointu“, zatímco pravděpodobnými signály přetížení jsou fan-out dotazů, intervaly obnovování dashboardů, vyhodnocování alertů a paměť pluginů, nikoli vlastní uložené metriky Grafany.

Change control je důležitý, protože migrace databáze Grafany a kompatibilita pluginů vyžadují postupný upgrade se stejnými provisioning soubory. Zachovejte starou image, migrace testujte nad kopií stavu a zdokumentujte, zda je po změně schématu podporován rollback. Pokud dashboardy zmizí spolu se souborem SQLite nebo OAuth callbacky používají localhost, diagnostikujte první hranici, která se liší od fungujícího prostředí.

Zaznamenejte známé dobré nasazení Grafany

Pro Grafanu definujte před spuštěním známou dobrou transakci: přidání read-only data source, uložení panelu, vyhodnocení alert rule a doručení testovací notifikace prostřednictvím contact pointu. Její předpoklady, očekávanou odpověď a kroky úklidu uložte do version control bez secret values. Image použitou k vytvoření této reference opatřete pevnou verzí.

Pomocí transakce ověřte nahrazení služby i nezávislou obnovu. Obnovená služba je přijatelná pouze tehdy, když se vrátí users, folders, dashboardy, alert rules a metadata data sources a testovací alert se vyhodnotí. Současně sledujte fan-out dotazů, intervaly obnovování dashboardů, vyhodnocování alertů a paměť pluginů, nikoli vlastní uložené metriky Grafany, a nejpomalejší nebo nejvíce omezenou část převeďte na service-level alert.

Součástí gate musí být také negativní případ: dočasně testovací identitě odepřete přístup k dostupným data sources a SMTP, pokud je vyžadováno doručování alertů. Ověřte, že Grafana vytvoří použitelnou chybu a přitom zachová data, obnovte platný stav a zopakujte známou dobrou transakci. Uchování obou výsledků zabrání tomu, aby se povrchní health endpoint stal jediným důkazem funkčnosti v produkci.

Kde Dockup Grafaně ušetří práci

Směrování, certifikáty, nahrazování služeb a připojené úložiště jsou rozumnými cíli pro automatizaci. Dockup je pro Grafanu zajišťuje a může také provisionovat související managed database nebo se připojit ke službám na vlastním serveru zákazníka.

Co by však neměl vytvářet za vás, je trust policy Grafany. Po nasazení nastavte GF_SERVER_ROOT_URL na veřejnou HTTPS URL, vynucujte tuto hranici — nahraďte bootstrap admin password, omezte úpravy data sources a udržujte tokeny service accountů s omezeným rozsahem oprávnění — a ověřte výsledek tohoto scénáře: přidejte read-only data source, uložte panel, vyhodnoťte alert rule a doručte testovací notifikaci prostřednictvím contact pointu. Výsledkem je infrastruktura na jedno kliknutí s akceptačním testem specifickým pro aplikaci.

Často kladené otázky

Co Grafana potřebuje pro produkční nasazení?

Směrujte kontejner Grafany na portu 3000 přes jeden HTTPS origin. Podpůrný požadavek na síť tvoří dostupné data sources a SMTP, pokud je vyžadováno doručování alertů. Grafanu nepovažujte za připravenou, dokud nemůžete přidat read-only data source, uložit panel, vyhodnotit alert rule a doručit testovací notifikaci prostřednictvím contact pointu.

Která data Grafany patří do zálohy?

Zachovejte /var/lib/grafana a do stejného recovery manifestu zahrňte databázi Grafany, pluginy a provisionovanou konfiguraci. Čistá obnova Grafany je úspěšná pouze tehdy, když se vrátí users, folders, dashboardy, alert rules a metadata data sources a testovací alert se vyhodnotí.

Vyžaduje Grafana za reverse proxy HTTPS?

Pro veřejný origin Grafany používejte HTTPS a port 3000 ponechte na interní route. Nastavení Grafany aplikujte správně: nastavte GF_SERVER_ROOT_URL na veřejnou HTTPS URL. U Grafany HTTPS chrání credentials nebo obsah uživatelů při přenosu a zachovává konzistentní chování klienta závislé na originu.

Jak testovat upgrade Grafany?

Obnovte aktuální stav Grafany do izolovaného nasazení, aplikujte kandidátní verzi a zopakujte její akceptační transakci. Věnujte tomu zvláštní pozornost, protože migrace databáze Grafany a kompatibilita pluginů vyžadují postupný upgrade se stejnými provisioning soubory. Předchozí image Grafany ponechte, dokud nebudete rozumět hranici migrace dat a rollbacku.