localhost:9090
Port 9090 is claimed by two completely unrelated tools that you'd typically never run on the same machine: Prometheus (the industry-standard metrics monitoring system) and Cockpit (a web-based Linux server management panel). They serve different audiences — Prometheus is for DevOps engineers monitoring application infrastructure, while Cockpit is for sysadmins managing Linux servers through a browser.
Prometheus — Metrics Monitoring
Prometheus scrapes metrics from your applications and infrastructure at regular intervals, stores them as time-series data, and lets you query and alert on them. It's the monitoring backbone for most Kubernetes deployments and a cornerstone of modern observability alongside Grafana.
The web UI at localhost:9090 gives you an expression browser where you can run PromQL queries, inspect scraped targets, and check alerting rules.
# Install and run Prometheus
# Download from prometheus.io, then:
./prometheus --config.file=prometheus.yml
# Docker
docker run -d --name prometheus \
-p 9090:9090 \
-v ./prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
# Minimal prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'my-app'
static_configs:
- targets: ['localhost:8080']
Quick PromQL Examples
# CPU usage rate over 5 minutes
rate(process_cpu_seconds_total[5m])
# HTTP request rate by status code
rate(http_requests_total{status="500"}[5m])
# Memory usage
process_resident_memory_bytes / 1024 / 1024
# 99th percentile request duration
histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))
Prometheus alone gives you raw metrics. Pair it with Grafana (typically on port 3000) for beautiful dashboards, and Alertmanager (port 9093) for sending alerts to Slack, email, or PagerDuty.
Cockpit — Linux Server Management
Cockpit is entirely different — it's a web-based admin interface for managing Linux servers. Think of it as a graphical alternative to SSH for everyday server tasks: checking disk usage, managing services, viewing logs, configuring networking, and managing containers.
# Install Cockpit (Ubuntu/Debian)
sudo apt install cockpit
sudo systemctl enable --now cockpit.socket
# Install Cockpit (RHEL/CentOS/Fedora)
sudo dnf install cockpit
sudo systemctl enable --now cockpit.socket
# Access at https://localhost:9090
# Login with your Linux username and password
Cockpit uses HTTPS on port 9090 (note: https, not http). It authenticates with your actual Linux system credentials — the same username and password you'd use for SSH. It comes pre-installed on many RHEL and Fedora server installations.
Both on the Same Machine?
If you need both Prometheus and Cockpit, change one of them:
# Move Prometheus to a different port
./prometheus --web.listen-address=":9091"
# Or move Cockpit — edit /etc/cockpit/cockpit.conf:
[WebService]
Port = 9443
Other Services on 9090
Occasionally you'll see port 9090 used by: Portainer (older versions), SonarQube, or custom Spring Boot apps (developers often pick 9090 as an alternative to 8080).