Commonly used Prometheus exporters and their recommended ports: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
[[ | = Commonly used Prometheus exporters and their recommended ports = | ||
This page serves as a centralized reference for the default and recommended TCP ports used by various Prometheus exporters. The goal is to maintain consistency and avoid port conflicts across our monitoring infrastructure. | |||
== Guiding Principles == | |||
* '''IANA Unofficial Ports''': The port range `9100-9999` is the community-accepted range for monitoring exporters. We will adhere to this where possible [36]. | |||
* '''Consistency is Key''': When a de facto standard port exists (e.g., `9100` for `node_exporter`), we will use it [39]. | |||
* '''Clarity Over Brevity''': For complex tools, a brief explanation is better than a single, potentially misleading port number. | |||
---- | |||
== Core Infrastructure & Virtualization == | |||
These exporters monitor the fundamental layers of our stack, from physical hosts and hypervisors to container orchestration. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ Core Infrastructure | |||
|- | |||
! Exporter | ! Exporter | ||
! Recommended Port | ! Recommended Port | ||
! Notes | ! Notes | ||
|- | |- | ||
| Node Exporter | | '''Node Exporter''' | ||
| 9100 | | 9100 | ||
| Linux/Unix host metrics ( | | For Linux/Unix host metrics (CPU, RAM, disk, network). Universal and essential. | ||
|- | |- | ||
| | | '''Windows Exporter''' | ||
| | | 9109 | ||
| | | The equivalent of the Node Exporter for Windows hosts. | ||
|- | |- | ||
| | | '''Proxmox Exporter''' | ||
| | | 9105 | ||
| | | For Proxmox VE metrics (hypervisor, VM/container status, storage). | ||
|- | |- | ||
| cAdvisor | | '''cAdvisor''' | ||
| 9103 | | 9103 | ||
| | | Provides container metrics. Essential on Kubernetes nodes and Docker hosts. | ||
|- | |- | ||
| kube-state-metrics | | '''kube-state-metrics''' | ||
| 9104 | | 9104 | ||
| Kubernetes | | Exposes metrics about Kubernetes API objects (deployments, pods, services). | ||
|- | |- | ||
| | | '''SNMP Exporter''' | ||
| | | 9120 | ||
| | | For network and legacy equipment that exposes data via SNMP (switches, routers, printers). | ||
|} | |||
---- | |||
== Observability Agent: Grafana Alloy == | |||
Grafana Alloy is not a simple exporter but a powerful, vendor-neutral telemetry collector. It is designed to replace the need for multiple agents by handling metrics, logs, and traces in a single, configurable application. | |||
* '''Role''': Alloy acts as a central pipeline. You configure it to scrape other exporters (like `node_exporter`), receive OpenTelemetry data, and tail log files. It can then process and forward this data to Prometheus, Loki, Tempo, or any OTLP-compatible backend. | |||
* '''No Single "Exporter" Port''': Because Alloy connects to other targets, it doesn't have one single port it "serves" metrics on. | |||
* '''Management UI''': Alloy runs a web interface for debugging and inspecting its components on port '''`12345`''' by default. | |||
* '''Internal Metrics''': You can configure Alloy to expose its own internal performance metrics on a Prometheus endpoint. If you do this, assigning it a dedicated port like '''`9101`''' from your list is a good practice. | |||
; When to use Alloy | |||
: Consider using Alloy when you need to collect multiple types of telemetry (metrics, logs, traces), perform advanced filtering or relabeling, or standardize your data collection across different teams and environments. It simplifies your deployment by reducing the number of running agents. | |||
---- | |||
== Databases & Caching == | |||
Exporters for common databases, caches, and data stores. | |||
{| class="wikitable" | |||
|+ Databases & Caching | |||
|- | |- | ||
! Exporter | |||
! Recommended Port | |||
! Notes | |||
|- | |- | ||
| PostgreSQL Exporter | | '''PostgreSQL Exporter''' | ||
| 9107 | | 9107 | ||
| PostgreSQL databases | | For PostgreSQL databases. | ||
|- | |||
| '''MySQL Exporter''' | |||
| 9106 | |||
| For MySQL and MariaDB databases. | |||
|- | |- | ||
| Redis Exporter | | '''Redis Exporter''' | ||
| 9108 | | 9108 | ||
| Redis in-memory | | For Redis in-memory databases. | ||
|- | |- | ||
| MongoDB Exporter | | '''MongoDB Exporter''' | ||
| 9110 | | 9110 | ||
| MongoDB databases | | For MongoDB databases. | ||
|- | |- | ||
| | | '''Elasticsearch Exporter''' | ||
| | | 9118 | ||
| | | For Elasticsearch and OpenSearch clusters. | ||
|} | |||
---- | |||
== Applications & Services == | |||
Exporters for common applications, web servers, and other services. | |||
{| class="wikitable" | |||
|+ Applications & Services | |||
|- | |- | ||
! Exporter | |||
! Recommended Port | |||
! Notes | |||
|- | |- | ||
| | | '''Blackbox Exporter''' | ||
| | | 9102 | ||
| | | For probing endpoints over HTTP, HTTPS, DNS, TCP, and ICMP to measure uptime. | ||
|- | |- | ||
| | | '''JMX Exporter''' | ||
| | | 9111 | ||
| | | For any Java application using JMX (e.g., Kafka, Cassandra, ActiveMQ). | ||
|- | |- | ||
| | | '''NGINX Exporter''' | ||
| | | 9113 | ||
| | | For NGINX web and reverse proxy servers. | ||
|- | |- | ||
| RabbitMQ Exporter | | '''RabbitMQ Exporter''' | ||
| 9116 | | 9116 | ||
| RabbitMQ messaging | | For RabbitMQ messaging systems. | ||
|} | |||
<!-- | |||
== CI/CD & Development == | |||
Exporters for development tools and continuous integration pipelines. | |||
{| class="wikitable" | |||
|+ CI/CD | |||
|- | |- | ||
! Exporter | |||
! Recommended Port | |||
! Notes | |||
|- | |- | ||
| | | '''GitLab Exporter''' | ||
| | | 9114 | ||
| | | For GitLab application metrics. | ||
|- | |- | ||
| | | '''GitLab Runner Exporter''' | ||
| | | 9115 | ||
| | | For GitLab Runner agents. | ||
|} | |} | ||
--> | |||
<!-- Add other categories as needed, such as "Cloud Services", "Networking", etc. --> | |||
[[Category:Prometheus]] | |||
[[Category:Snippets & Notes]] | |||
Revision as of 16:11, 27 August 2025
Commonly used Prometheus exporters and their recommended ports
This page serves as a centralized reference for the default and recommended TCP ports used by various Prometheus exporters. The goal is to maintain consistency and avoid port conflicts across our monitoring infrastructure.
Guiding Principles
- IANA Unofficial Ports: The port range `9100-9999` is the community-accepted range for monitoring exporters. We will adhere to this where possible [36].
- Consistency is Key: When a de facto standard port exists (e.g., `9100` for `node_exporter`), we will use it [39].
- Clarity Over Brevity: For complex tools, a brief explanation is better than a single, potentially misleading port number.
Core Infrastructure & Virtualization
These exporters monitor the fundamental layers of our stack, from physical hosts and hypervisors to container orchestration.
| Exporter | Recommended Port | Notes |
|---|---|---|
| Node Exporter | 9100 | For Linux/Unix host metrics (CPU, RAM, disk, network). Universal and essential. |
| Windows Exporter | 9109 | The equivalent of the Node Exporter for Windows hosts. |
| Proxmox Exporter | 9105 | For Proxmox VE metrics (hypervisor, VM/container status, storage). |
| cAdvisor | 9103 | Provides container metrics. Essential on Kubernetes nodes and Docker hosts. |
| kube-state-metrics | 9104 | Exposes metrics about Kubernetes API objects (deployments, pods, services). |
| SNMP Exporter | 9120 | For network and legacy equipment that exposes data via SNMP (switches, routers, printers). |
Observability Agent: Grafana Alloy
Grafana Alloy is not a simple exporter but a powerful, vendor-neutral telemetry collector. It is designed to replace the need for multiple agents by handling metrics, logs, and traces in a single, configurable application.
- Role: Alloy acts as a central pipeline. You configure it to scrape other exporters (like `node_exporter`), receive OpenTelemetry data, and tail log files. It can then process and forward this data to Prometheus, Loki, Tempo, or any OTLP-compatible backend.
- No Single "Exporter" Port: Because Alloy connects to other targets, it doesn't have one single port it "serves" metrics on.
- Management UI: Alloy runs a web interface for debugging and inspecting its components on port `12345` by default.
- Internal Metrics: You can configure Alloy to expose its own internal performance metrics on a Prometheus endpoint. If you do this, assigning it a dedicated port like `9101` from your list is a good practice.
- When to use Alloy
- Consider using Alloy when you need to collect multiple types of telemetry (metrics, logs, traces), perform advanced filtering or relabeling, or standardize your data collection across different teams and environments. It simplifies your deployment by reducing the number of running agents.
Databases & Caching
Exporters for common databases, caches, and data stores.
| Exporter | Recommended Port | Notes |
|---|---|---|
| PostgreSQL Exporter | 9107 | For PostgreSQL databases. |
| MySQL Exporter | 9106 | For MySQL and MariaDB databases. |
| Redis Exporter | 9108 | For Redis in-memory databases. |
| MongoDB Exporter | 9110 | For MongoDB databases. |
| Elasticsearch Exporter | 9118 | For Elasticsearch and OpenSearch clusters. |
Applications & Services
Exporters for common applications, web servers, and other services.
| Exporter | Recommended Port | Notes |
|---|---|---|
| Blackbox Exporter | 9102 | For probing endpoints over HTTP, HTTPS, DNS, TCP, and ICMP to measure uptime. |
| JMX Exporter | 9111 | For any Java application using JMX (e.g., Kafka, Cassandra, ActiveMQ). |
| NGINX Exporter | 9113 | For NGINX web and reverse proxy servers. |
| RabbitMQ Exporter | 9116 | For RabbitMQ messaging systems. |