Apache APISIX Prometheus Metrics Not Scraped
You encounter a apisix configuration issue that prevents your workflow from completing. This guide walks through the fix step by step.
Wrong ❌
{
"plugins": {
"prometheus": {}
}
# No configuration - uses default which may conflict with existing plugins
}
Wrong Output
Prometheus scrapes the endpoint but no APISIX metrics. Default configuration may not expose the correct metrics endpoint.
Right ✅
# Enable prometheus plugin globally
PUT /apisix/admin/routes/prometheus-metrics
{
"uri": "/apisix/prometheus/metrics",
"plugins": {
"public-api": {}
},
"upstream": { "type": "roundrobin", "nodes": { "127.0.0.1:1": 1 } }
}
# Enable prometheus plugin on the route
PUT /apisix/admin/plugin_metadata/prometheus
{
"prefer_name": true
}
# Verify
curl http://localhost:9091/apisix/prometheus/metrics
Right Output
Prometheus metrics available. apisix_http_status, apisix_etcd_reachable, etc. Prometheus targets UP.
Prevention
- Enable Prometheus plugin per-route or globally.
- Use the public-api plugin to expose the metrics endpoint.
- Configure Prometheus to scrape the APISIX status port (9091).
- Verify metrics with curl to the /apisix/Prometheus/metrics endpoint.
- Set prefer_name: true for human-readable metric labels.
DodaTech applies similar defensive patterns across Doda Browser, DodaZIP, and Durga Antivirus Pro infrastructure for production reliability.
Common Mistakes with Prometheus plugin
- Using
headandtailinstead of pattern matching, causing runtime errors on empty lists - Forgetting that lazy evaluation defers computation until the value is forced, causing space leaks with unevaluated thunks
- Using
returnto exit a function early instead of wrapping a pure value in the monad
These mistakes appear frequently in real-world APISIX code. DodaTech's contributors have identified these patterns through analysis of open-source projects and production systems.
Practice Exercise
Write a pure function that safely divides two integers using Maybe, then test it with edge cases like division by zero and negative numbers.
This exercise reinforces the concepts covered in this guide. Try implementing it before checking online solutions.
FAQ
This quick fix is part of the DodaTech infrastructure engineering series. Learn more at DodaTech tutorials.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro