Commonly used Prometheus exporters and their recommended ports
Prometheus Exporter Port Allocation Standard
This document defines the official internal standard for Prometheus exporter port assignments within our infrastructure. The primary goal is to create a cohesive, consistent, and maintainable port scheme that prevents conflicts and is easy to understand.
Guiding Principles
- Internal Consistency is Priority: This list is our single source of truth. It overrides external community standards if they conflict with our internal scheme.
- Uniqueness is Mandatory: Every exporter in this list is assigned a unique port to prevent overlaps.
- Logical Grouping: Ports are allocated in logical, contiguous blocks where possible, making the scheme predictable and easy to manage.
- Documentation First: Before deploying a new exporter, it must be added to this list with an assigned port.
Observability Agent: Grafana Alloy
Grafana Alloy is a special case. It is a telemetry collector, not a simple exporter.
- Role: Alloy is configured to scrape other exporters on their assigned ports (e.g., it scrapes Node Exporter on `9100`). It can also receive OpenTelemetry data (typically on port `4317`) and tail log files.
- No "Exporter" Port: Alloy does not have a single data-serving port itself.
- Internal Ports:
- `12345`: The default port for the Alloy management and debugging web UI.
- `9090`: If exposing Alloy's own internal metrics is required, it will be configured to use this port.
Core Infrastructure & Virtualization (9100-9109)
The fundamental layer of our stack.
| Exporter | Assigned Port | Notes |
|---|---|---|
| Node Exporter | `9100` | Linux/Unix host metrics. This is the foundational exporter. |
| Windows Exporter | `9101` | Windows host metrics. Logically follows the Node Exporter. |
| Proxmox VE Exporter | `9102` | Proxmox hypervisor, VM, and container metrics. |
| cAdvisor | `9103` | Container-level resource usage metrics. |
| kube-state-metrics | `9104` | Kubernetes API object state metrics. |
Databases & Caching (9110-9119)
Data stores, caches, and queues.
| Exporter | Assigned Port | Notes |
|---|---|---|
| PostgreSQL Exporter | `9110` | For all PostgreSQL instances. |
| MySQL Exporter | `9111` | For all MySQL and MariaDB instances. |
| Redis Exporter | `9112` | For all Redis instances. |
| MongoDB Exporter | `9113` | For all MongoDB instances. |
| Elasticsearch Exporter | `9114` | For Elasticsearch / OpenSearch clusters. |
| RabbitMQ Exporter | `9115` | For RabbitMQ message brokers. |
Applications, Services & Proxies (9120-9129)
Web servers, proxies, and other user-facing or middleware applications.
| Exporter | Assigned Port | Notes |
|---|---|---|
| Blackbox Exporter | `9120` | Probing endpoints (HTTP, TCP, ICMP) for availability and performance. |
| NGINX Exporter | `9121` | For NGINX web servers and reverse proxies. |
| JMX Exporter | `9122` | For JVM-based applications (Kafka, Cassandra, etc.). |
CI/CD & Development (9130-9139)
Exporters for development tools and continuous integration pipelines.
| Exporter | Assigned Port | Notes |
|---|---|---|
| GitLab | `9130` | For the main GitLab application metrics. |
| GitLab Runner | `9131` | For GitLab Runner agents. |
Networking & Hardware (9140-9149)
Exporters for network devices and other hardware.
| Exporter | Assigned Port | Notes |
|---|---|---|
| SNMP Exporter | `9140` | For network gear (switches, routers) and other hardware supporting SNMP. |