INTEGRITY Dokumentace

Prometheus

Tento návod vysvětluje, jak exportovat metriky Cloudflare do Prometheus ↗ pomocí Cloudflare Prometheus Exporter ↗, open-source nástroj postavený na Cloudflare Workers s Durable Objects.

Přehled

Než nastavíte Cloudflare Prometheus Exporter, vezměte na vědomí, že tato integrace:

Předpoklady

Než exportér nasadíte, ujistěte se, že:

Úkol 1 - Nasazení exportéru

Exportér můžete nasadit buď jedním kliknutím, nebo manuálně.

Nasazení jedním kliknutím

Kliknutím na tlačítko níže nasadíte exportér do svého účtu Cloudflare Workers:

Deploy to Cloudflare Workers

Po nasazení nakonfigurujte CLOUDFLARE_API_TOKEN jako tajný klíč (secret). Volitelně nastavte BASIC_AUTH_USER a BASIC_AUTH_PASSWORD k zabezpečení exportéru pomocí HTTP Basic Auth.

Ruční nasazení

git clone https://github.com/cloudflare/cloudflare-prometheus-exporter.git
cd cloudflare-prometheus-exporter
bun install
wrangler secret put CLOUDFLARE_API_TOKEN
bun run deploy

Úkol 2 - Vytvoření API tokenu

Vytvořte token Cloudflare API s následujícími oprávněními:

Vytvoření tokenu s předvyplněnými oprávněními ↗

Oprávnění Access Povinné
Zone > Analytics Čtení Ano
Account > Account Analytics Čtení Ano
Account > Workers Scripts Čtení Ano
Zone > SSL and Certificates Čtení Volitelné
Zone > Firewall Services Čtení Volitelné
Zone > Load Balancers Čtení Volitelné
Account > Logs Čtení Volitelné
Account > Magic Transit Čtení Volitelné

Úkol 3 - Konfigurace Prometheus

Přidejte exportér jako scrape target do konfigurace Prometheus:

scrape_configs:
  - job_name: 'cloudflare'
    scrape_interval: 60s
    scrape_timeout: 30s
    static_configs:
      - targets: ['your-worker.your-subdomain.workers.dev']

S Basic Auth

Pokud jste na exportéru nakonfigurovali Basic Auth, upravte konfiguraci Prometheus:

scrape_configs:
  - job_name: 'cloudflare'
    scrape_interval: 60s
    scrape_timeout: 30s
    basic_auth:
      username: 'your-username'
      password: 'your-password'
    static_configs:
      - targets: ['your-worker.your-subdomain.workers.dev']

Konfigurace

Konfigurace se řeší v tomto pořadí: Přepsání KV > proměnné prostředí > výchozí hodnoty. Pro dynamické změny bez nutnosti opětovného nasazení můžete použít runtime config API.

Nastavte proměnné prostředí v wrangler.jsonc nebo přes wrangler secret put:

Proměnná Výchozí Popis
CLOUDFLARE_API_TOKEN - Cloudflare API token (tajný)
SCRAPE_DELAY_SECONDS 300 Zpoždění před načtením metrik (šíření dat)
TIME_WINDOW_SECONDS 60 Časové okno dotazu
METRIC_REFRESH_INTERVAL_SECONDS 60 Interval aktualizace na pozadí
CF_ACCOUNTS - ID účtů oddělená čárkami, která se mají zahrnout (výchozí: all)
CF_ZONES - ID zón oddělená čárkami, která se mají zahrnout (výchozí: all)
METRICS_DENYLIST - Seznam metrik k vyloučení, oddělený čárkami
EXCLUDE_HOST false Vyloučit štítky hostitele z metrik
METRICS_PATH /metrics Vlastní cesta pro koncový bod metrik
BASIC_AUTH_USER - Uživatelské jméno pro Basic Auth (tajné)
BASIC_AUTH_PASSWORD - Heslo pro Basic Auth (tajné)

Úplný seznam možností konfigurace najdete v README exportéru ↗.

Endpointy

Cesta Metoda Popis
/ GET Vstupní stránka
/metrics GET Metriky Prometheus
/health GET Kontrola stavu
/config GET Získat celou konfiguraci runtime
/config/:key PUT Nastavte přepis konfigurace (uložený v KV)
/config/:key DELETE Obnovení klíče konfigurace na výchozí hodnotu

Dostupné metriky

Exportér poskytuje více než 90 metrik v následujících kategoriích:

Úplný seznam metrik s typy a popisky najdete v README exportéru ↗.

Omezení zón v tarifu Free

Zóny na plánu Cloudflare Free nemají přístup k rozhraní GraphQL Analytics API. Exportér automaticky rozpozná zóny na bezplatné úrovni a u metrik, které toto rozhraní vyžadují, je přeskočí.

Zóny v tarifu Free přesto exportují:

Vynechané zóny můžete sledovat pomocí cloudflare_zones_skipped_free_tier metriku.