localhost:9090

http://localhost:9090

Port 9090 is commonly used by Prometheus monitoring system, Cockpit server administration tool, OpenShift console, and as an alternative HTTP development port. Multiple applications default to this port for web interfaces and APIs.

→ Open localhost:9090

What Uses Port 9090?

  • Prometheus - Monitoring and alerting toolkit
  • Cockpit - Linux server web administration interface
  • OpenShift Console - Kubernetes platform web console
  • Alternative Web Servers - Development HTTP servers
  • Sonarr - TV series management application
  • WebLogic Server - Oracle enterprise application server
  • Apache Spark - Cluster computing framework web UI
  • Custom Applications - Development and testing servers
  • API Gateways - Microservices management interfaces
  • Monitoring Tools - System metrics and dashboards

Prometheus on Port 9090

Start Prometheus Server

# Download and extract Prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.x.x/prometheus-2.x.x.linux-amd64.tar.gz tar xvfz prometheus-*.tar.gz cd prometheus-* # Start Prometheus on port 9090 ./prometheus --config.file=prometheus.yml # Start with custom port ./prometheus --config.file=prometheus.yml --web.listen-address=:9091 # Access at: http://localhost:9090

Prometheus Configuration

# prometheus.yml global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'node' static_configs: - targets: ['localhost:9100']

Prometheus Web Interface URLs

  • Main Interface: http://localhost:9090
  • Targets: http://localhost:9090/targets
  • Graph: http://localhost:9090/graph
  • Alerts: http://localhost:9090/alerts
  • Status: http://localhost:9090/status
  • Config: http://localhost:9090/config
  • Metrics: http://localhost:9090/metrics

Cockpit on Port 9090

Install and Start Cockpit

# Ubuntu/Debian sudo apt update sudo apt install cockpit # CentOS/RHEL/Fedora sudo dnf install cockpit sudo yum install cockpit # Start Cockpit service sudo systemctl start cockpit sudo systemctl enable cockpit # Check if Cockpit is running sudo systemctl status cockpit # Access at: https://localhost:9090

Cockpit Configuration

# Change Cockpit port sudo nano /etc/systemd/system/cockpit.socket.d/listen.conf # Add custom port [Socket] ListenStream= ListenStream=9091 # Restart Cockpit sudo systemctl daemon-reload sudo systemctl restart cockpit.socket # Check port binding sudo ss -tlnp | grep cockpit

Cockpit Features

  • System resource monitoring (CPU, memory, disk)
  • Service management (start, stop, restart systemd services)
  • User account management
  • Network configuration
  • Storage and disk management
  • Docker container management
  • Virtual machine management
  • Terminal access in browser
  • Log viewer and journal inspection

Check What's Using Port 9090

# Windows - Find process on port 9090 netstat -ano | findstr :9090 tasklist | findstr [PID] # Kill process by PID taskkill /F /PID [process_id] # Linux - Find process on port 9090 sudo lsof -i :9090 sudo netstat -tulpn | grep :9090 sudo ss -tulpn | grep :9090 # Kill process by name sudo pkill -9 prometheus sudo pkill -9 cockpit # Mac - Find process on port 9090 lsof -i :9090 sudo lsof -ti:9090 | xargs kill -9

Fix "Port 9090 Already in Use"

Error: Address already in use on port 9090

Another service is occupying port 9090.

  • Identify which application is using port 9090
  • Stop the conflicting service
  • Configure one application to use different port
  • Kill the process if not needed
  • Check for multiple instances running
  • Restart computer to clear hung processes

Change Prometheus Port

# Start Prometheus on different port ./prometheus --web.listen-address=:9091 # Or edit prometheus.yml # Add under global section web: listen-address: "0.0.0.0:9091"

Change Cockpit Port

# Edit Cockpit socket configuration sudo mkdir -p /etc/systemd/system/cockpit.socket.d/ sudo nano /etc/systemd/system/cockpit.socket.d/listen.conf # Add these lines [Socket] ListenStream= ListenStream=9091 # Reload and restart sudo systemctl daemon-reload sudo systemctl restart cockpit.socket

Start Servers on Port 9090

Python HTTP Server on Port 9090

# Python 3 python -m http.server 9090 # Python 2 python -m SimpleHTTPServer 9090 # Access at: http://localhost:9090

Node.js Server on Port 9090

// server.js const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, {'Content-Type': 'text/html'}); res.end('Server running on port 9090'); }); server.listen(9090, 'localhost', () => { console.log('Server running at http://localhost:9090/'); }); // Run: node server.js

PHP Built-in Server on Port 9090

# Start PHP server php -S localhost:9090 # Serve specific directory php -S localhost:9090 -t public/ # Access at: http://localhost:9090

Firewall Configuration for Port 9090

Windows Firewall

# Allow port 9090 netsh advfirewall firewall add rule name="Port 9090" dir=in action=allow protocol=TCP localport=9090 # Remove firewall rule netsh advfirewall firewall delete rule name="Port 9090" # Check firewall rules netsh advfirewall firewall show rule name=all | findstr 9090

Linux Firewall (UFW)

# Allow port 9090 sudo ufw allow 9090/tcp # Check firewall status sudo ufw status numbered # Remove rule sudo ufw delete allow 9090/tcp

Linux Firewall (firewalld)

# Allow port 9090 sudo firewall-cmd --permanent --add-port=9090/tcp sudo firewall-cmd --reload # Check open ports sudo firewall-cmd --list-ports # Remove port sudo firewall-cmd --permanent --remove-port=9090/tcp sudo firewall-cmd --reload

OpenShift Console on Port 9090

Access OpenShift Web Console

# Start OpenShift cluster oc cluster up # Get console URL oc get routes -n openshift-console # Forward port to localhost oc port-forward -n openshift-console svc/console 9090:443 # Access at: https://localhost:9090

OpenShift CLI Commands

# Login to OpenShift oc login https://localhost:9090 # Check cluster status oc status # Get cluster info oc cluster-info

Sonarr on Port 9090

Sonarr is a TV series management application that can use port 9090:

# Install Sonarr on Ubuntu sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2009837CBFFD68F45BC180471F4F90DE2A9B4BF8 echo "deb https://apt.sonarr.tv/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/sonarr.list sudo apt update sudo apt install sonarr # Start Sonarr sudo systemctl start sonarr # Access at: http://localhost:9090 # Or default port: http://localhost:8989

Test Port 9090 Connection

# Test with telnet telnet localhost 9090 # Test with netcat nc -zv localhost 9090 # Test with curl curl http://localhost:9090 # Windows PowerShell Test-NetConnection -ComputerName localhost -Port 9090 # Check if port is listening netstat -an | grep 9090

Docker Containers on Port 9090

# Run Prometheus container docker run -d -p 9090:9090 prom/prometheus # Run custom container docker run -d -p 9090:80 nginx # Run with port mapping docker run -d -p 9090:8080 myapp # List containers with ports docker ps # Access at: http://localhost:9090

Nginx Reverse Proxy for Port 9090

# nginx.conf server { listen 80; server_name prometheus.local; location / { proxy_pass http://localhost:9090; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } # Test nginx configuration nginx -t # Reload nginx sudo systemctl reload nginx

Common Applications Using Port 9090

Application Type Default Protocol
Prometheus Monitoring system HTTP
Cockpit Server administration HTTPS
OpenShift Console Container platform UI HTTPS
Sonarr Media management HTTP
WebLogic Application server HTTP
Apache Spark UI Cluster computing HTTP
Development servers Testing/staging HTTP

Prometheus Monitoring Setup

Install Node Exporter

# Download Node Exporter wget https://github.com/prometheus/node_exporter/releases/download/v1.x.x/node_exporter-1.x.x.linux-amd64.tar.gz tar xvfz node_exporter-*.tar.gz cd node_exporter-* # Start Node Exporter ./node_exporter # Runs on port 9100 by default

Query Prometheus Metrics

# Example PromQL queries at http://localhost:9090/graph # CPU usage 100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) # Memory usage node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 # Disk usage (node_filesystem_size_bytes - node_filesystem_avail_bytes) / node_filesystem_size_bytes * 100 # HTTP requests rate(http_requests_total[5m])

Security Considerations for Port 9090

  • Prometheus does not have built-in authentication
  • Use reverse proxy (nginx, Apache) for authentication
  • Cockpit uses HTTPS by default with certificate
  • Restrict port 9090 to localhost only if not needed externally
  • Use firewall rules to limit access by IP address
  • Enable VPN for remote access to monitoring tools
  • Keep applications updated to latest versions
  • Use strong passwords for administrative interfaces
  • Monitor access logs for suspicious activity
  • Consider using SSH tunneling for remote access
Security Note: Applications like Prometheus on port 9090 often lack built-in authentication. Never expose port 9090 directly to the internet without proper security measures like reverse proxy authentication or VPN access.

Common Port 9090 Issues

Cannot access localhost:9090

  • Verify application is actually running
  • Check if listening on 127.0.0.1 or 0.0.0.0
  • Try 127.0.0.1:9090 instead of localhost:9090
  • Check firewall is not blocking connections
  • Review application logs for errors
  • Ensure no conflicting applications on same port

Prometheus scrape errors

  • Check target endpoints are reachable
  • Verify exporters are running and accessible
  • Review prometheus.yml configuration
  • Check DNS resolution for target hostnames
  • Look at Targets page for specific error messages

Cockpit certificate warnings

  • Cockpit uses self-signed certificate by default
  • Accept certificate exception in browser
  • Install custom SSL certificate if needed
  • Use organization CA certificate for production

Alternative Ports

If port 9090 is in use, these ports are common alternatives:

  • 9091 - Next sequential port
  • 9092 - Kafka broker port
  • 9093 - Prometheus Alertmanager
  • 9100 - Prometheus Node Exporter
  • 8080 - Standard alternative HTTP port
  • 8888 - Alternative development port
  • 3000 - Grafana default port

Frequently Asked Questions

What is the main use of port 9090?

Port 9090 is most commonly used by Prometheus monitoring system and Cockpit server administration tool. It's also used as an alternative HTTP port for development servers.

How do I access Prometheus web interface?

Open browser and navigate to http://localhost:9090. The Prometheus expression browser will load, allowing you to query metrics and view targets.

Is port 9090 secure?

Port 9090 typically uses HTTP (Prometheus) or HTTPS (Cockpit). Prometheus has no authentication by default, while Cockpit requires system login. Use reverse proxy for added security.

Can I run multiple services on port 9090?

No, only one service can bind to port 9090 at a time. If multiple applications need port 9090, configure them to use different ports.

How do I monitor Prometheus itself?

Prometheus scrapes its own metrics. Add Prometheus as a target in prometheus.yml with targets: ['localhost:9090'] to monitor its own performance.

Related Ports and Resources