Skip to main content
This guide walks through installing a Prometheus server on a Bare-Metal/VM system using the precompiled Linux binary. It covers downloading the release, extracting the archive, inspecting the directory layout, starting the server, and verifying the installation with the web UI and a simple PromQL query.
The image shows an installation instruction for Bare-Metal/VM with a download link for Prometheus and a download icon.

Overview — high level

  • Download the Prometheus tarball for your OS/architecture from the official downloads page.
  • Extract the tarball to get the prometheus binary, promtool, and prometheus.yml.
  • Start the server with ./prometheus.
  • Visit the web UI at http://<PROMETHEUS_HOST>:9090 and run a basic up query to confirm the server is scraping itself.
Always download the latest stable Prometheus release from the official site: https://prometheus.io/download/. New releases include bug fixes and new features; examples in this guide use older version filenames for illustration only.

1) Download the Prometheus binary

Visit the Prometheus download page, select the Linux AMD64 (or the correct OS/arch), and copy the link to the tarball. You can fetch it directly on the target machine with wget (paste the copied URL). Example (replace with the URL you copied):
After downloading, verify the tarball exists:

2) Extract the tarball and inspect contents

Extract the downloaded tarball:
Move into the extracted directory and list its contents:
What each important file is for:
  • prometheus — the Prometheus server executable.
  • prometheus.yml — the main configuration file; defines scrape targets and jobs.
  • promtool — CLI utility to validate configuration and assist with rule files.
  • consoles/ and console_libraries/ — optional UI console templates.

3) Start the Prometheus server

From the extracted directory run:
You should see logs indicating the server and TSDB started, the configuration file was loaded, and the HTTP server is ready. Example lines:
If running on a remote machine, ensure port 9090 is reachable (open in firewall/security group) before connecting with a browser. Also avoid running Prometheus as root; use a dedicated user for production deployments.

4) Verify via the web UI and a simple query

Open a browser to the Prometheus web UI:
  • Local: http://localhost:9090
  • Remote: http://<PROMETHEUS_HOST_IP>:9090
The default web expression browser lets you execute PromQL queries. To verify Prometheus is scraping itself, run the simplest query:
You should see a result similar to: up{instance="localhost:9090", job="prometheus"} A value of 1 indicates the target is up; 0 indicates down.

Visual: Prometheus website and download block

Here’s the Prometheus website download block where you choose the binary and version:
The image is a screenshot of the Prometheus website, featuring information about their open-source monitoring solution and a statement condemning Russia's invasion of Ukraine.
And the releases page listing precompiled binaries and checksums (select the correct OS/arch and copy the link address for wget):
The image shows a download page for Prometheus, listing precompiled binaries for different operating systems and architectures. It includes versions, file sizes, and SHA256 checksums for Prometheus components like alertmanager and others.

Quick reference table

Follow these steps to get a local Prometheus server running quickly. Once confirmed, you can customize prometheus.yml to add scrape targets and integrate Alertmanager, Grafana, or other monitoring components.

Watch Video