In this guide, we will learn how to install the Prometheus server on Ubuntu 20.04. Prometheus is an open-source system monitoring and alerting toolkit. Prometheus collects and stores its metrics as time-series data. Metrics information is stored with the timestamp at which it was recorded, alongside optional key-value pairs called labels.
And now you are wondering what are metrics? Metrics are numeric measurements and time series mean that the changes are recorded over time.
Components
- Has an alertmanager to handle alerts
- Has a push gateway for supporting short-lived jobs
- Has main Prometheus server which scrapes and stores time series data
- Client libraries for instrumenting application code
- Special purpose exporters for services like HAProxy, statD, Graphite etc
Related Article
Install Prometheus 2.30
Let us update the system first:
$ sudo apt updateDownload and install Prometheus
Download the latest release of 2.30.3 into our system.
$ wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
After the download is complete, the next step is to extract the archive:
$ tar xvf prometheus-2.30.3.linux-amd64.tar.gzFor convenience, we can change the directory for the extracted archive
$ cd prometheus-2.30.3.linux-amd64From there we can create a configuration file directory
$ sudo mkdir -p /etc/prometheusThen we can create the data directory
$sudo mkdir -p /var/lib/prometheusLet’s now move the binary files Prometheus and promtool to /usr/local/bin/
Use the following code snippet
$ sudo mv prometheus promtool /usr/local/bin/Move the template configuration file prometheus.yml to /etc/prometheus/ directory
$ sudo mv prometheus.yml /etc/prometheus/prometheus.ymlWe have installed Prometheus. Lets verify the version
$ prometheus --versionCreate Prometheus System group
The following code can help create the Prometheus system group.
$ sudo groupadd --system prometheusWe can then create Prometheus system user and assign the primary group created
$ sudo useradd -s /sbin/nologin --system -g prometheus prometheusSet the ownership of Prometheus files and data directories to the Prometheus group and user.
$ sudo chown -R prometheus:prometheus /etc/prometheus/  /var/lib/prometheus/
$ sudo chmod -R 775 /etc/prometheus/ /var/lib/prometheus/Lastly, we can create a systemd service to run at boot time
$ sudo nano /etc/systemd/system/prometheus.serviceAdd the following content to prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Restart=always
Type=simple
ExecStart=/usr/local/bin/prometheus \
    --config.file=/etc/prometheus/prometheus.yml \
    --storage.tsdb.path=/var/lib/prometheus/ \
    --web.console.templates=/etc/prometheus/consoles \
    --web.console.libraries=/etc/prometheus/console_libraries \
    --web.listen-address=0.0.0.0:9090
[Install]
WantedBy=multi-user.targetStart the Prometheus service
$ sudo systemctl start prometheusNow we can check if our Prometheus is up and running
$ sudo systemctl status prometheusAdd firewall rules to allow Prometheus to run on TCP port 9090
$ ufw allow 9090/tcpAccess your server from the browser.
http://or:9090
for example
http://192.0.1.1:9090  Conclusion
Congratulations! you have successfully installed Prometheus on Ubuntu 20.04. To read more consult Prometheus documentation.