Graphite je bezplatný monitorovací nástroj s otevřeným zdrojovým kódem pro ukládání numerických dat časových řad a jejich grafů v reálném čase.
Graphite nesbírá data sám o sobě, ale přijímá data z jiných nástrojů. Jakmile Graphite obdrží data, může vytvářet grafy ve webové aplikaci.
V tomto tutoriálu se naučíme, jak instalovat Graphite a Graphite Web na Ubuntu 20.04 pomocí dockeru . Nejjednodušší způsob, jak mít spuštěnou instanci Graphite, je pomocí dockeru.
Jak grafit funguje?
Přehled architektury Graphite ukazuje, že se skládá ze tří softwarových komponent:
- Uhlík :Twisted démon, který pasivně naslouchá datům časových řad pro sběr dat.
- Šeptat :jednoduchá databázová knihovna pro ukládání dat časových řad
- Graphite WebApp :Django WebApp, která vykresluje grafiku na vyžádání pomocí Cairo.
Aplikace odesílá data do procesoru Graphite, Carbon, který ukládá data do Graphite databáze Whisper. Poté lze data prohlížet prostřednictvím webového rozhraní Graphite, aplikace Graphite Web.
Krok 1:Nainstalujte Docker na Ubuntu
Nejprve nainstalujeme Docker na Ubuntu. Pomocí Dockeru můžete spustit Grapgitue během několika sekund.
Chcete-li nainstalovat docker, budete muset nainstalovat některé předpoklady:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
Nyní přidejte klíč GP úložiště docker:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Nyní přidejte Docker do zdrojů APT. Automaticky aktualizuje mezipaměť.
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Nyní nainstalujte docker pomocí následujícího příkazu:
$ sudo apt install docker-ce
Přidejte uživatele do skupiny docker, aby mohl používat příkaz docker bez oprávnění sudo:
$ sudo usermod -aG docker username
Poté ukončete a znovu se přihlaste, aby se akce projevila
Krok 2:Spusťte grafit pomocí dockeru
Spuštění grafitu pomocí dockeru je velmi rychlé. Tentokrát to bude potřebovat nějaké jiné komponenty než výchozí, které jsme viděli dříve:
- Nginx :reverzní proxy pro grafitovou palubní desku
- Grafit :čelní panel
- Uhlík :back-end
- Statsd :Back-end proxy založený na UDP
Budete také muset zkontrolovat, zda budou k dispozici různé porty, které grafit potřebuje. Během procesu bude také provedeno mapování portů mezi hostitelem a kontejnerem, takže můžete změnit konfiguraci mapování na vaší straně, pokud nevyhovuje vaší skutečné konfiguraci. Více informací můžete získat na oficiálním Github repo grafitu.
Hostitel | Kontejner | Služba |
80 | 80 | nginx |
2003 | 2003 | uhlíkový přijímač – prostý text |
2004 | 2004 | přijímač uhlíku – okurka |
2023 | 2023 | agregátor uhlíku – prostý text |
2024 | 2024 | Agregátor uhlíku – okurka |
8080 | 8080 | Grafitový interní port gunicorn (bez proxy Nginx). |
8125 | 8125 | statsd |
8126 | 8126 | správce statsd |
Spusťte nginx docker
V našem případě spustíme nezávislý kontejner jako náš reverzní proxy server Nginx.
$ docker run -d --name nginx -p 80:80 -p 443:443 -v /etc/nginx/htpasswd:/etc/nginx/htpasswd -v /etc/nginx/vhost.d:/etc/nginx/vhost.d:ro -v /etc/nginx/certs:/etc/nginx/certs -v /var/run/docker.sock:/tmp/docker.sock:ro etopian/nginx-proxy
Pomůže nám to přesměrovat veškerý výchozí HTTP provoz na HTTPS, když integrujete své certifikáty. Měli byste si všimnout namapovaného svazku pro integraci vašich certifikátů, což je /etc/nginx/certs
Nyní otevřete port 80 a 443 na firewallu:
$ sudo ufw allow 80,443/tcp
Krok 3:Grafit – Integrujte svůj certifikát SSL do nginx
Zvažujeme, že již své certifikáty SSL vlastníte. Budete jej muset zkopírovat do namapovaného svazku nakonfigurovaného pro tento případ v Nginx. Náš klíč a certifikát pojmenujeme takto:
- domena.com.crt
- domena.com.key
A zkopírujeme dva soubory v mapovaném svazku. Zkopírujte certifikát
$ cp websitefortesting.com.crt /etc/nginx/certs
Zkopírujte klíč
$ cp websitefortesting.com.key /etc/nginx/certs
Spusťte grafit
Ke spuštění grafitu použijeme také příkaz docker run s některými možnostmi. V našem případě uvedeme název domény naší služby s parametrem -e VIRTUAL_HOST=domain.com
při jeho spouštění
$ docker run -d\
--name graphite\
--restart=always\
-e VIRTUAL_HOST=websitefortesting.com\
-p 2003-2004:2003-2004\
-p 2023-2024:2023-2024\
-p 8125:8125/udp\
-p 8126:8126\
graphiteapp/graphite-statsd
Jak můžete vidět, není třeba mapovat port 80 Nginx, protože již běží. Nyní zkuste získat přístup ke grafitu pomocí adresy URL https://domain.com
Můžete se podívat na statsd.
Výchozí přihlašovací uživatelské jméno Graphite je root a přihlašte se heslem root.
Měli byste změnit výchozí heslo kořenového profilu, aby byl bezpečnější, pomocí https://domain.com/admin/password_change/
Můžete k němu přistupovat pomocí svého nového hesla.
Závěr
V tomto tutoriálu jsme se naučili spouštět grafit na Ubuntu 20.04 pomocí dockeru. Nyní můžete snadno sledovat a vykreslovat numerická data časové řady.