Commonly used Prometheus exporters and their recommended ports

From Jwiki
Revision as of 16:15, 27 August 2025 by Gyurci08 (talk | contribs)

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.

Core Infrastructure
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.

Databases & Caching
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.

Applications & Services
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.

CI/CD
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.

Networking
Exporter Assigned Port Notes
SNMP Exporter `9140` For network gear (switches, routers) and other hardware supporting SNMP.