INTEGRITY Dokumentace

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

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-tunnel

Pokud 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):

  1. Stáhnout Prometheus.

  2. Extrahujte Prometheus:

    tar xvfz prometheus-*.tar.gz
    cd prometheus-*
  3. Otevřete prometheus.yml v textovém editoru a přidejte cloudflared ú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
  4. 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.

  5. Otevřete prohlížeč a přejděte na http://localhost:9090/. Měli byste mít přístup k řídicímu panelu Prometheus.

  6. Chcete-li ověřit, že Prometheus načítá metriky tunelu, zadejte cloudflared_tunnel_total_requests do konzole výrazů a vyberte Spustit.

    Dashboard Prometheus zobrazující data o metrikách tunelu

Viz Dostupné metriky a zkontrolujte, jaké další metriky jsou k dispozici.

Připojení Grafana k Prometheus

  1. Stáhnout a nainstalujte Grafana.

  2. Spusťte Grafana jako systémovou službu:

    sudo systemctl daemon-reload
    sudo systemctl start grafana-server
  3. Ověřte, že Grafana běží:

    sudo systemctl status grafana-server
  4. Otevřete prohlížeč a přejděte na http://localhost:3000/. Výchozí port HTTP, na kterém Grafana naslouchá, je 3000 pokud jste nenakonfigurovali jiný port.

  5. Na přihlašovací stránce zadejte přihlašovací údaje Grafana.

    Chcete-li otestovat bez účtu, můžete zadat admin pro uživatelské jméno i heslo a přeskočte krok změny hesla.

  6. V Grafana přejděte do Připojení > Zdroje dat.

  7. Vyberte Přidejte nový zdroj dat a vyberte Prometheus.

  8. V URL adresa serveru Prometheus pole zadejte adresu IP a port vašeho dashboardu Prometheus (http://localhost:9090).

  9. Vyberte Uložit a otestovat.

Sestavit dashboard Grafana

  1. V Grafana přejděte do Dashboardy > New > Nový dashboard.
  2. Vyberte Přidejte vizualizaci.
  3. Vyberte Prometheus.
  4. Do pole metriky zadejte cloudflared_tunnel_total_requests a vyberte Spouštění dotazů. Zobrazí se graf znázorňující počet požadavků v závislosti na čase.
Grafana dashboard zobrazující graf metrik tunelu

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.