Cloudflare Prometheus Exporter

This commit is contained in:
Dillon Mulroy
2025-12-07 22:38:22 -05:00
committed by dmmulroy
parent 8cb54fc243
commit e64d93a520
39 changed files with 179753 additions and 1699 deletions

View File

@@ -4,56 +4,68 @@
*/
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "cloudflare-prometheus-exporter-v2",
"main": "src/index.ts",
"compatibility_date": "2025-12-02",
"name": "cloudflare-prometheus-exporter",
"main": "src/worker.tsx",
"compatibility_date": "2025-12-09",
"compatibility_flags": ["nodejs_compat"],
"migrations": [
{
"tag": "v1",
"new_sqlite_classes": [
"MyDurableObject"
],
"tag": "v1"
"MetricExporter",
"MetricCoordinator",
"AccountMetricCoordinator"
]
}
],
"durable_objects": {
"bindings": [
{
"class_name": "MyDurableObject",
"name": "MY_DURABLE_OBJECT"
"name": "MetricCoordinator",
"class_name": "MetricCoordinator"
},
{
"name": "AccountMetricCoordinator",
"class_name": "AccountMetricCoordinator"
},
{
"name": "MetricExporter",
"class_name": "MetricExporter"
}
]
},
"observability": {
"enabled": true
},
"kv_namespaces": [
{
"binding": "CONFIG_KV"
}
],
"ratelimits": [
{
"name": "CF_API_RATE_LIMITER",
"namespace_id": "1",
"simple": {
"limit": 40,
"period": 10
}
}
],
"vars": {
"QUERY_LIMIT": 10000,
"SCRAPE_DELAY_SECONDS": 300,
"TIME_WINDOW_SECONDS": 60,
"METRIC_REFRESH_INTERVAL_SECONDS": 60,
"LOG_FORMAT": "json",
"LOG_LEVEL": "info",
"ACCOUNT_LIST_CACHE_TTL_SECONDS": 600,
"ZONE_LIST_CACHE_TTL_SECONDS": 1800,
"SSL_CERTS_CACHE_TTL_SECONDS": 1800,
"EXCLUDE_HOST": false,
"CF_HTTP_STATUS_GROUP": false,
"METRICS_PATH": "/metrics",
"DISABLE_UI": false,
"DISABLE_CONFIG_API": false
}
/**
* Smart Placement
* Docs: https://developers.cloudflare.com/workers/configuration/smart-placement/#smart-placement
*/
// "placement": { "mode": "smart" }
/**
* Bindings
* Bindings allow your Worker to interact with resources on the Cloudflare Developer Platform, including
* databases, object storage, AI inference, real-time communication and more.
* https://developers.cloudflare.com/workers/runtime-apis/bindings/
*/
/**
* Environment Variables
* https://developers.cloudflare.com/workers/wrangler/configuration/#environment-variables
*/
// "vars": { "MY_VARIABLE": "production_value" }
/**
* Note: Use secrets to store sensitive data.
* https://developers.cloudflare.com/workers/configuration/secrets/
*/
/**
* Static Assets
* https://developers.cloudflare.com/workers/static-assets/binding/
*/
// "assets": { "directory": "./public/", "binding": "ASSETS" }
/**
* Service Bindings (communicate between multiple Workers)
* https://developers.cloudflare.com/workers/wrangler/configuration/#service-bindings
*/
// "services": [{ "binding": "MY_SERVICE", "service": "my-service" }]
}
}