Index denníkaDockup / poznámka z terénu
Note / self-host-grafana

Ako hostovať Grafana vo vlastnej réžii v roku 2026: dashboardy, alerty a trvalý stav

Nasaďte Grafana so správnym portom, trvalým úložiskom, TLS, autentifikáciou a zálohami. Riešte problémy, keď dashboardy zmiznú spolu so súborom SQLite v produkcii.

Existujú dve verzie „prevádzky Grafana“: kontajner existuje alebo služba plní svoju skutočnú úlohu. Dôležitá je iba druhá možnosť. Dôkazom je pridanie read-only data source, uloženie panelu, vyhodnotenie alert rule a doručenie testovej notifikácie prostredníctvom contact point.

Grafana slúži na tento účel: dashboardy a alerty nad metrikami, logmi a traces. Nasadenie musí zachovať časti, ktoré toto správanie umožňujú; port, volume a certifikát sú vstupy, nie výsledok.

Produkčná podoba Grafana

HTTP proces Grafana počúva na porte 3000; tento port ponechajte v aplikačnej sieti a zverejnite iba route platformy. Sieťový kontrakt pre Grafana tvoria dostupné data sources a SMTP, ak sa vyžaduje doručovanie alertov. Súkromné endpointy ponechajte na internom DNS, povoľte iba potrebné odchádzajúce volania a Grafana prideľte service credential s obmedzeným rozsahom.

Hranicu zapíšte do krátkeho kontraktu: kto vlastní požiadavku, ktoré credential sa používa, aký timeout je prijateľný a ako sa prejaví zlyhanie. Potom spustite túto transakciu: pridajte read-only data source, uložte panel, vyhodnoťte alert rule a doručte testovú notifikáciu prostredníctvom contact point. Počas behu sledujte fan-out query, intervaly obnovovania dashboardov, vyhodnocovanie alertov a pamäť pluginov namiesto vlastných uložených metrík Grafana, pretože táto záťaž poskytne užitočnejšiu počiatočnú veľkosť než nečinný kontajner.

Spustite Grafana bez skrývania dôležitých častí

Spustite Grafana tak, aby route zostala súkromná, kým sa nedokončí 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

Ak proces vstupuje do slučky reštartov, porovnajte očakávaného používateľa image s vlastníkom každej pripojenej cesty. Ak zostane spustený, lokálne otestujte port 3000 a potom okamžite prejdite na workflow: pridajte read-only data source, uložte panel, vyhodnoťte alert rule a doručte testovú notifikáciu prostredníctvom contact point. Image pripnite na konkrétnu verziu až po úspešnom end-to-end overení a presnú konfiguráciu uložte vedľa služby.

Priraďte Grafana jednu kanonickú adresu

Vydanie TLS certifikátu je iba polovica route pre Grafana. Nastavte GF_SERVER_ROOT_URL na verejnú HTTPS URL. Premávku smerujte interne na port 3000 a odovzdávajte externú schému, aby vygenerované URL a secure cookies zostali konzistentné.

Kompletný scenár Grafana spustite z čistej siete, nielen na koreňovej stránke. Chybu 502 alebo zlyhanie certifikátu môžete izolovať pomocou automatického nastavenia domény a TLS. Ak sa premávka dostane k procesu a dashboardy zmiznú spolu so súborom SQLite alebo OAuth callbacks používajú localhost, diagnostikujte túto podmienku priamo na mieste jej vzniku namiesto pridávania ďalších redirectov.

Navrhnite obnovu Grafana ešte pred spustením

Trvalú sadu na obnovu tvoria databáza Grafana, pluginy a provisioned konfigurácia. Pred bootstrapom pripojte /var/lib/grafana, zapíšte neškodné vzorové dáta a nahraďte kontajner, aby ste overili, že táto cesta je skutočne persistentná. Volume chráni dáta pred nahradením kontajnera, nie však pred stratou hostiteľa, náhodným vymazaním alebo poškodením na úrovni aplikácie.

Vytvárajte zálohy, ktoré rozumejú data source: podľa potreby používajte logical dumpy pre live databázy a súbory kopírujte iba z konzistentného stavu. Jednu šifrovanú kópiu uchovávajte mimo hostiteľa Grafana. Akceptačné kritérium obnovy musí byť konkrétne — vrátia sa users, folders, dashboardy, alert rules a metadata data sources a testovací alert sa vyhodnotí. Príručka k zálohám overeným obnovou vysvetľuje, prečo samotný úspech jobu nestačí.

Zrušte dočasný prístup na nastavenie

Bezpečné nasadenie Grafana začína odstránením oprávnení. Nenechávajte admin/admin ani neúmyselne nevystavujte anonymous access; namiesto toho zmeňte bootstrap admin password, obmedzte úpravy data sources a service-account tokens ponechajte s obmedzeným rozsahom.

GF_SECURITY_ADMIN_PASSWORD zo vzorovej konfigurácie okamžite nahraďte, uložte ho mimo image a v prípade odhalenia ho rotujte rovnako ako prihlasovací údaj administrátora. Obmedzte administratívne routes, pre závislosti používajte private DNS a skontrolujte každý bind mount. Keď sa logy odosielajú centrálne, pred opustením servera z nich odstráňte secrets a súkromný obsah.

Nacvičte rizikovú zmenu Grafana

Spustený kontajner so zeleným stavom je nevyhnutný, ale nestačí. Service-level indicator predstavuje úspešné dokončenie operácie „pridajte read-only data source, uložte panel, vyhodnoťte alert rule a doručte testovú notifikáciu prostredníctvom contact point“, zatiaľ čo pravdepodobné signály preťaženia sú fan-out query, intervaly obnovovania dashboardov, vyhodnocovanie alertov a pamäť pluginov, nie vlastné uložené metriky Grafana.

Change control je dôležitý, pretože migrácie databázy Grafana a kompatibilita pluginov vyžadujú postupný upgrade s rovnakými provisioning súbormi. Zachovajte starý image, migrácie otestujte na skopírovanom stave a zdokumentujte, či je po zmene schémy podporovaný rollback. Ak dashboardy zmiznú spolu so súborom SQLite alebo OAuth callbacks používajú localhost, diagnostikujte prvú hranicu, ktorá sa líši od funkčného prostredia.

Zdokumentujte známe dobré nasadenie Grafana

Pre Grafana pred spustením definujte známu dobrú transakciu: pridajte read-only data source, uložte panel, vyhodnoťte alert rule a doručte testovú notifikáciu prostredníctvom contact point. Jej predpoklady, očakávanú odpoveď a kroky čistenia uložte do version control bez hodnôt secretov. Pripnite image použitý na vytvorenie tejto referencie.

Transakciu použite na overenie náhrady aj nezávislej obnovy. Obnovená služba je prijateľná iba vtedy, keď sa vrátia users, folders, dashboardy, alert rules a metadata data sources a testovací alert sa vyhodnotí. Zároveň sledujte fan-out query, intervaly obnovovania dashboardov, vyhodnocovanie alertov a pamäť pluginov namiesto vlastných uložených metrík Grafana a najpomalšiu alebo najviac obmedzenú časť premeňte na service-level alert.

Gate musí obsahovať aj negatívny prípad: dočasne odoberte testovacej identity prístup k dostupným data sources a SMTP, ak sa vyžaduje doručovanie alertov. Overte, že Grafana vytvorí použiteľnú chybovú správu a zároveň zachová dáta, obnovte platnú podmienku a zopakujte známu dobrú transakciu. Uchovávanie oboch výsledkov zabráni tomu, aby sa povrchný health endpoint stal jediným produkčným dôkazom.

Kde Dockup odstraňuje prácu pri Grafana

Routing, certifikáty, nahradenie služby a pripojené úložisko sú rozumné ciele automatizácie. Dockup ich pre Grafana spravuje a môže provisionovať súvisiacu managed database alebo sa pripojiť k službám na vlastnom serveri zákazníka.

Nemalo by však vymýšľať trust policy Grafana. Po nasadení nastavte GF_SERVER_ROOT_URL na verejnú HTTPS URL, vynúťte túto hranicu — nahraďte bootstrap admin password, obmedzte úpravy data sources a service-account tokens ponechajte s obmedzeným rozsahom — a overte výsledok tohto scenára: pridajte read-only data source, uložte panel, vyhodnoťte alert rule a doručte testovú notifikáciu prostredníctvom contact point. Výsledkom je infraštruktúra na jedno kliknutie s akceptačným testom špecifickým pre aplikáciu.

Často kladené otázky

Čo Grafana potrebuje na produkčné nasadenie?

Smerujte kontajner Grafana na porte 3000 cez jeden HTTPS origin. Podporu siete tvoria dostupné data sources a SMTP, ak sa vyžaduje doručovanie alertov. Grafana nepovažujte za pripravenú, kým nemôžete pridať read-only data source, uložiť panel, vyhodnotiť alert rule a doručiť testovú notifikáciu prostredníctvom contact point.

Ktoré dáta Grafana patria do zálohy?

Zachovajte /var/lib/grafana a do rovnakého recovery manifestu zahrňte databázu Grafana, pluginy a provisioned konfiguráciu. Čistá obnova Grafana je úspešná iba vtedy, keď sa vrátia users, folders, dashboardy, alert rules a metadata data sources a testovací alert sa vyhodnotí.

Vyžaduje Grafana za reverse proxy HTTPS?

Pre verejný origin Grafana používajte HTTPS a port 3000 ponechajte na internej route. Nastavenie Grafana aplikujte správne: nastavte GF_SERVER_ROOT_URL na verejnú HTTPS URL. V prípade Grafana HTTPS chráni credentialy alebo používateľský obsah počas prenosu a zachováva konzistentné správanie klienta závislé od originu.

Ako testovať upgrade Grafana?

Obnovte aktuálny stav Grafana do izolovaného nasadenia, použite kandidátsku verziu a zopakujte jej akceptačnú transakciu. Venujte tomu mimoriadnu pozornosť, pretože migrácie databázy Grafana a kompatibilita pluginov vyžadujú postupný upgrade s rovnakými provisioning súbormi. Predchádzajúci image Grafana ponechajte, kým nebudete rozumieť hraniciam migrácie dát a rollbacku.