Know Your Ports

localhost:9090 - Prometheus Web UI Port Guide

Updated on Oct 25, 2026

localhost:9090

Prometheus Web UI Port

Open localhost:9090

Access the Prometheus query UI and HTTP API running on port 9090

Localhost:9090 is the default port of Prometheus, the open-source monitoring system and time-series database. Open it in a browser and you get the Prometheus web UI: the PromQL query page with graphs, plus the Targets, Alerts and Status pages. The same port serves the HTTP API (/api/v1/query) and Prometheus’s own metrics at /metrics.

Port 9090 has a couple of other well-known tenants: Cockpit, the Linux server web console that ships with Fedora and RHEL-family distros, and the Openfire XMPP server’s admin console. If you came here looking for the OpenClaw dashboard, current OpenClaw releases serve it on port 18789 by default, not 9090.


Access localhost:9090 from Other Devices

Use Pinggy tunnel to share your Prometheus UI easily:

This exposes the UI instantly. Warning: Prometheus has no login by default, so anyone with the URL can run queries and read every metric you collect. Add basic auth to the tunnel with ssh -p 443 -R0:localhost:9090 -t free.pinggy.io b:username:password, or set basic_auth_users in a Prometheus --web.config.file.


Services and Software That Use Port 9090

Prometheus & Monitoring

  • Prometheus: Web UI, HTTP API and self-metrics, default --web.listen-address=":9090"
  • Pushgateway: Prometheus component for short-lived jobs, default port 9091 (Alertmanager uses 9093, exporters start at 9100)

Server Admin & Other Apps

  • Cockpit: Linux server web console, listens on 9090 through cockpit.socket
  • Openfire: XMPP server admin console on 9090 (HTTP) and 9091 (HTTPS)

Looking for OpenClaw? Its Gateway (which connects messaging apps like Telegram and Discord to the LLM) and dashboard default to port 18789. It only listens on 9090 if you start it with openclaw gateway --port 9090 or set gateway.port in its config (or the OPENCLAW_GATEWAY_PORT env var); otherwise open http://127.0.0.1:18789/ or run openclaw dashboard.


How to Troubleshoot Localhost:9090

Step 1: Check if Prometheus is Running

Action: Start it with ./prometheus --config.file=prometheus.yml, check systemctl status prometheus on a packaged install, or run it in Docker with docker run -p 9090:9090 prom/prometheus.

Step 2: See What Owns the Port

Action: Run lsof -i :9090 (macOS/Linux) or netstat -ano | findstr :9090 (Windows). On Fedora or RHEL, the answer is often systemd holding cockpit.socket, not Prometheus.

Step 3: Test the Connection

Action: curl http://localhost:9090/-/healthy should return Prometheus Server is Healthy. and curl http://localhost:9090/-/ready returns Prometheus Server is Ready. once it can serve queries.


Common Problems and Solutions

Here are typical issues with localhost:9090 and how to resolve them:

"Connection Refused" Error

Problem: You cannot reach the Prometheus UI.

Solution: Make sure Prometheus finished starting without config errors. In Docker, the port must be published with -p 9090:9090, and a custom --web.listen-address moves the UI off 9090.

"bind: address already in use" Error

Problem: Prometheus exits at startup because Cockpit or a second Prometheus instance already holds 9090. It does not fall back to another port on its own.

Solution: Use lsof -i :9090 to find the owner. Start Prometheus with --web.listen-address=":9095", or move Cockpit with sudo systemctl edit cockpit.socket. Avoid 9091, which belongs to Pushgateway (and Openfire's HTTPS console).


Summary

  • What it is: localhost:9090 is the default Prometheus web UI and HTTP API port, and also Cockpit’s and Openfire’s admin console port.
  • Troubleshooting: If 9090 is taken, Prometheus fails with “address already in use” rather than switching ports. Find the owner with lsof -i :9090 and move one of the services with --web.listen-address.

Quick Start Commands

# Run Prometheus on port 9090
docker run -p 9090:9090 prom/prometheus

# Check it is healthy
curl http://localhost:9090/-/healthy

# Check what is running on 9090
lsof -i :9090