← Cloudflare One / cloudflare-one / tutorials
Sledujte Cloudflare Tunnel pomocí Grafany
Grafana ↗ je dashboard nástroj, který vizualizuje data uložená v jiných databázích. Pomocí Grafany můžete převést metriky tunelu na využitelné poznatky.
Není možné odesílat metriky přímo z cloudflared do Grafana. Místo toho, cloudflared spouští Prometheus ↗ endpoint metrik, který server Prometheus pravidelně scrapuje. Grafana pak používá Prometheus jako zdroj dat pro zobrazení metrik administrátorovi.
flowchart LR
subgraph 192.168.1.1
A[cloudflared]-->B[Metrics endpoint]
end
B--->C
subgraph 192.168.1.2
C[Prometheus server]-->D[Grafana dashboard]
end
Tento návod se zabývá tím, jak vytvořit metrics endpoint, nastavit server Prometheus a zobrazit data v Grafaně.
Než začnete
- Budete potřebovat Cloudflare Tunnel. Chcete-li tunel vytvořit, přečtěte si naši úvodní příručka.
Vytvořit endpoint metrik
Pokud byl váš tunel vytvořen pomocí CLI, spusťte následující příkaz na cloudflared server (192.168.1.1):
cloudflared tunnel --metrics 192.168.1.1:60123 run my-tunnelPokud byl váš tunel vytvořen na dashboardu, --metrics příznak musí být přidán do vašeho cloudflared konfigurace systémové služby. Více informací najdete v Přidejte parametry spuštění tunelu pro pokyny, jak to provést.
Nastavení Prometheus
Na serveru Prometheus a Grafana (192.168.1.2):
-
Stáhnout ↗ Prometheus.
-
Extrahujte Prometheus:
tar xvfz prometheus-*.tar.gz cd prometheus-* -
Otevřete
prometheus.ymlv textovém editoru a přidejtecloudflaredúlohu na konec souboru:# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"] ## Address of Prometheus dashboard - job_name: "cloudflared" static_configs: - targets: ["198.168.1.1:60123"] ## cloudflared server IP and the --metrics port configured for the tunnel -
Spusťte Prometheus:
./prometheus --config.file="prometheus.yml"Prometheus můžete volitelně nakonfigurovat tak, aby běžel jako služba a po restartu počítače se nemusel ručně spouštět.
-
Otevřete prohlížeč a přejděte na
http://localhost:9090/. Měli byste mít přístup k řídicímu panelu Prometheus. -
Chcete-li ověřit, že Prometheus načítá metriky tunelu, zadejte
cloudflared_tunnel_total_requestsdo konzole výrazů a vyberte Spustit.
Viz Dostupné metriky a zkontrolujte, jaké další metriky jsou k dispozici.
Připojení Grafana k Prometheus
-
Stáhnout ↗ a nainstalujte Grafana.
-
Spusťte Grafana jako systémovou službu:
sudo systemctl daemon-reload sudo systemctl start grafana-server -
Ověřte, že Grafana běží:
sudo systemctl status grafana-server -
Otevřete prohlížeč a přejděte na
http://localhost:3000/. Výchozí port HTTP, na kterém Grafana naslouchá, je3000pokud jste nenakonfigurovali jiný port. -
Na přihlašovací stránce zadejte přihlašovací údaje Grafana.
Chcete-li otestovat bez účtu, můžete zadat
adminpro uživatelské jméno i heslo a přeskočte krok změny hesla. -
V Grafana přejděte do Připojení > Zdroje dat.
-
Vyberte Přidejte nový zdroj dat a vyberte Prometheus.
-
V URL adresa serveru Prometheus pole zadejte adresu IP a port vašeho dashboardu Prometheus (
http://localhost:9090). -
Vyberte Uložit a otestovat.
Sestavit dashboard Grafana
- V Grafana přejděte do Dashboardy > New > Nový dashboard.
- Vyberte Přidejte vizualizaci.
- Vyberte Prometheus.
- Do pole metriky zadejte
cloudflared_tunnel_total_requestsa vyberte Spouštění dotazů. Zobrazí se graf znázorňující počet požadavků v závislosti na čase.
K dotazům můžete přidat operace a upravit tak zobrazovaná data. Můžete si například zobrazit všechny požadavky tunelu za nedávné období, například za jeden den, místo všech požadavků tunelu od začátku sběru metrik.