Commonly used Prometheus exporters and their recommended ports: Difference between revisions

From Jwiki
No edit summary
No edit summary
Line 1: Line 1:
= Prometheus Exporter Port Allocation Standard =
= 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.
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 and extend.


== Guiding Principles ==
== 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.
* '''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.
* '''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.
* '''Logical Grouping''': Ports are allocated in logical, contiguous blocks, 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.
* '''Documentation First''': Before deploying a new exporter, it '''must''' be added to this list with an assigned port.


----
----


== Observability Agent: Grafana Alloy ==
== Observability & Core Infrastructure (9100-9119) ==
Grafana Alloy is a special case. It is a telemetry '''collector''', not a simple exporter.
This block covers the foundational layer of our stack, from the observability agent itself to the hosts and orchestration platforms.
 
* '''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.


{| class="wikitable"
{| class="wikitable"
Line 32: Line 21:
! Notes
! Notes
|-
|-
| '''Node Exporter'''
| '''Grafana Alloy'''
| `9100`
| `9100`
| Linux/Unix host metrics. This is the foundational exporter.
| For exposing Alloy's '''own internal metrics'''. Its management UI remains on port `12345`. Alloy scrapes other exporters on their respective ports below.
|-
|-
| '''Windows Exporter'''
| '''Node Exporter'''
| `9101`
| `9101`
| Windows host metrics. Logically follows the Node Exporter.
| Linux/Unix host metrics.
|-
|-
| '''Proxmox VE Exporter'''
| '''Windows Exporter'''
| `9102`
| `9102`
| Proxmox hypervisor, VM, and container metrics.
| Windows host metrics.
|-
| '''Blackbox Exporter'''
| `9103`
| Probing endpoints (ICMP/HTTP/TCP) for availability.
|-
|-
| '''cAdvisor'''
| '''cAdvisor'''
| `9103`
| `9104`
| Container-level resource usage metrics.
| Container-level resource usage metrics.
|-
|-
| '''kube-state-metrics'''
| '''kube-state-metrics'''
| `9104`
| `9105`
| Kubernetes API object state metrics.
| Kubernetes API object state metrics.
|-
| '''Proxmox VE Exporter'''
| `9106`
| Proxmox hypervisor, VM, and container metrics.
|-
| '''eBPF Exporters'''
| `9107`
| For advanced Linux kernel telemetry.
|-
| '''Process Exporter'''
| `9108`
| For detailed metrics on specific Linux processes.
|}
|}


----
----


== Databases & Caching (9110-9119) ==
== Databases & Caching (9120-9139) ==
Data stores, caches, and queues.
Data stores, caches, message queues, and related proxies.


{| class="wikitable"
{| class="wikitable"
Line 66: Line 71:
|-
|-
| '''PostgreSQL Exporter'''
| '''PostgreSQL Exporter'''
| `9110`
| `9120`
| For all PostgreSQL instances.
| For PostgreSQL databases.
|-
|-
| '''MySQL Exporter'''
| '''MySQL Exporter'''
| `9111`
| `9121`
| For all MySQL and MariaDB instances.
| For MySQL and MariaDB databases.
|-
|-
| '''Redis Exporter'''
| '''Redis Exporter'''
| `9112`
| `9122`
| For all Redis instances.
| For Redis in-memory databases.
|-
|-
| '''MongoDB Exporter'''
| '''MongoDB Exporter'''
| `9113`
| `9123`
| For all MongoDB instances.
| For MongoDB document databases.
|-
|-
| '''Elasticsearch Exporter'''
| '''Elasticsearch Exporter'''
| `9114`
| `9124`
| For Elasticsearch / OpenSearch clusters.
| For Elasticsearch / OpenSearch clusters.
|-
|-
| '''RabbitMQ Exporter'''
| '''RabbitMQ Exporter'''
| `9115`
| `9125`
| For RabbitMQ message brokers.
| For RabbitMQ message brokers.
|-
| '''Kafka Exporter'''
| `9126`
| For Apache Kafka cluster metrics.
|-
| '''Memcached Exporter'''
| `9127`
| For Memcached key-value stores.
|-
| '''Oracle DB Exporter'''
| `9128`
| For Oracle Database instances.
|-
| '''SQL Exporter'''
| `9129`
| For running generic SQL queries against various databases.
|-
| '''ClickHouse Exporter'''
| `9130`
| For ClickHouse columnar database.
|}
|}


----
----


== Applications, Services & Proxies (9120-9129) ==
== Applications & Web Services (9140-9159) ==
Web servers, proxies, and other user-facing or middleware applications.
Web servers, application servers, and specific software platforms.


{| class="wikitable"
{| class="wikitable"
|+ Applications & Services
|+ Applications & Web Services
|-
|-
! Exporter
! Exporter
Line 102: Line 127:
! Notes
! Notes
|-
|-
| '''Blackbox Exporter'''
| '''JMX Exporter'''
| `9120`
| `9140`
| Probing endpoints (HTTP, TCP, ICMP) for availability and performance.
| For any JVM-based application (e.g., Tomcat, custom Java apps).
|-
| '''Apache Exporter'''
| `9141`
| For Apache HTTPD servers.
|-
|-
| '''NGINX Exporter'''
| '''NGINX Exporter'''
| `9121`
| `9142`
| For NGINX web servers and reverse proxies.
| For NGINX web servers and reverse proxies.
|-
|-
| '''JMX Exporter'''
| '''HAProxy Exporter'''
| `9122`
| `9143`
| For JVM-based applications (Kafka, Cassandra, etc.).
| For HAProxy load balancers.
|}
 
----
 
== CI/CD & Development (9130-9139) ==
Exporters for development tools and continuous integration pipelines.
 
{| class="wikitable"
|+ CI/CD
|-
|-
! Exporter
| '''PHP-FPM Exporter'''
! Assigned Port
| `9144`
! Notes
| For PHP FastCGI Process Manager.
|-
|-
| '''GitLab'''
| '''GitLab'''
| `9130`
| `9145`
| For the main GitLab application metrics.
| For the main GitLab application metrics.
|-
|-
| '''GitLab Runner'''
| '''GitLab Runner'''
| `9131`
| `9146`
| For GitLab Runner agents.
| For GitLab Runner agents.
|-
| '''Consul Exporter'''
| `9147`
| For HashiCorp Consul service mesh.
|-
| '''Nomad Exporter'''
| `9148`
| For HashiCorp Nomad cluster orchestrator.
|}
|}


----
----


== Networking & Hardware (9140-9149) ==
== Networking, Security & Miscellaneous (9160-9189) ==
Exporters for network devices and other hardware.
Exporters for network devices, protocols, security tools, and other utilities.


{| class="wikitable"
{| class="wikitable"
|+ Networking
|+ Networking, Security & Miscellaneous
|-
|-
! Exporter
! Exporter
Line 149: Line 177:
|-
|-
| '''SNMP Exporter'''
| '''SNMP Exporter'''
| `9140`
| `9160`
| For network gear (switches, routers) and other hardware supporting SNMP.
| For network gear (switches, routers) and other hardware via SNMP.
|-
| '''Script Exporter'''
| `9161`
| For wrapping arbitrary shell scripts as a metrics endpoint.
|-
| '''CloudWatch Exporter'''
| `9162`
| For fetching metrics from AWS CloudWatch.
|-
| '''Azure Exporter'''
| `9163`
| For fetching metrics from Azure Monitor.
|-
| '''Stackdriver Exporter'''
| `9164`
| For fetching metrics from Google Cloud Platform.
|-
| '''BIND Exporter'''
| `9165`
| For BIND DNS server metrics.
|-
| '''WireGuard Exporter'''
| `9166`
| For WireGuard VPN tunnel metrics.
|-
| '''OpenVPN Exporter'''
| `9167`
| For OpenVPN server metrics.
|-
| '''DHCPD Leases Exporter'''
| `9168`
| For monitoring DHCP server leases.
|}
|}


<!--
<!--
== Reserved for Future Use (9150-9999) ==
== Reserved for Future Use (9190-9999) ==
This block is reserved for future allocation.
This block is reserved for future allocation. Please update this page before using a port from this range.
-->
-->



Revision as of 16:18, 27 August 2025

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 and extend.

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, 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 & Core Infrastructure (9100-9119)

This block covers the foundational layer of our stack, from the observability agent itself to the hosts and orchestration platforms.

Core Infrastructure
Exporter Assigned Port Notes
Grafana Alloy `9100` For exposing Alloy's own internal metrics. Its management UI remains on port `12345`. Alloy scrapes other exporters on their respective ports below.
Node Exporter `9101` Linux/Unix host metrics.
Windows Exporter `9102` Windows host metrics.
Blackbox Exporter `9103` Probing endpoints (ICMP/HTTP/TCP) for availability.
cAdvisor `9104` Container-level resource usage metrics.
kube-state-metrics `9105` Kubernetes API object state metrics.
Proxmox VE Exporter `9106` Proxmox hypervisor, VM, and container metrics.
eBPF Exporters `9107` For advanced Linux kernel telemetry.
Process Exporter `9108` For detailed metrics on specific Linux processes.

Databases & Caching (9120-9139)

Data stores, caches, message queues, and related proxies.

Databases & Caching
Exporter Assigned Port Notes
PostgreSQL Exporter `9120` For PostgreSQL databases.
MySQL Exporter `9121` For MySQL and MariaDB databases.
Redis Exporter `9122` For Redis in-memory databases.
MongoDB Exporter `9123` For MongoDB document databases.
Elasticsearch Exporter `9124` For Elasticsearch / OpenSearch clusters.
RabbitMQ Exporter `9125` For RabbitMQ message brokers.
Kafka Exporter `9126` For Apache Kafka cluster metrics.
Memcached Exporter `9127` For Memcached key-value stores.
Oracle DB Exporter `9128` For Oracle Database instances.
SQL Exporter `9129` For running generic SQL queries against various databases.
ClickHouse Exporter `9130` For ClickHouse columnar database.

Applications & Web Services (9140-9159)

Web servers, application servers, and specific software platforms.

Applications & Web Services
Exporter Assigned Port Notes
JMX Exporter `9140` For any JVM-based application (e.g., Tomcat, custom Java apps).
Apache Exporter `9141` For Apache HTTPD servers.
NGINX Exporter `9142` For NGINX web servers and reverse proxies.
HAProxy Exporter `9143` For HAProxy load balancers.
PHP-FPM Exporter `9144` For PHP FastCGI Process Manager.
GitLab `9145` For the main GitLab application metrics.
GitLab Runner `9146` For GitLab Runner agents.
Consul Exporter `9147` For HashiCorp Consul service mesh.
Nomad Exporter `9148` For HashiCorp Nomad cluster orchestrator.

Networking, Security & Miscellaneous (9160-9189)

Exporters for network devices, protocols, security tools, and other utilities.

Networking, Security & Miscellaneous
Exporter Assigned Port Notes
SNMP Exporter `9160` For network gear (switches, routers) and other hardware via SNMP.
Script Exporter `9161` For wrapping arbitrary shell scripts as a metrics endpoint.
CloudWatch Exporter `9162` For fetching metrics from AWS CloudWatch.
Azure Exporter `9163` For fetching metrics from Azure Monitor.
Stackdriver Exporter `9164` For fetching metrics from Google Cloud Platform.
BIND Exporter `9165` For BIND DNS server metrics.
WireGuard Exporter `9166` For WireGuard VPN tunnel metrics.
OpenVPN Exporter `9167` For OpenVPN server metrics.
DHCPD Leases Exporter `9168` For monitoring DHCP server leases.