Prometheus is a powerful tool for monitoring your infrastructure. Getting started with Prometheus is as easy as setting up a single Prometheus server. There are multiple ways to install Prometheus. In this lab, you will have the opportunity to set up a Prometheus server by installing Prometheus from pre-compiled binaries made available by the Prometheus team.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Download and Install Prometheus
Create the
prometheus
user and directories:sudo useradd -M -r -s /bin/false prometheus
sudo mkdir /etc/prometheus /var/lib/prometheus
Download and extract the pre-compiled binaries:
wget https://github.com/prometheus/prometheus/releases/download/v2.16.0/prometheus-2.16.0.linux-amd64.tar.gz
tar xzf prometheus-2.16.0.linux-amd64.tar.gz prometheus-2.16.0.linux-amd64/
Move the files from the downloaded archive to the appropriate locations, and set ownership on these files and directories to the
prometheus
user:sudo cp prometheus-2.16.0.linux-amd64/{prometheus,promtool} /usr/local/bin/
sudo chown prometheus:prometheus /usr/local/bin/{prometheus,promtool}
sudo cp -r prometheus-2.16.0.linux-amd64/{consoles,console_libraries} /etc/prometheus/
sudo cp prometheus-2.16.0.linux-amd64/prometheus.yml /etc/prometheus/prometheus.yml
sudo chown -R prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus
Run Prometheus in the foreground to make sure everything is set up correctly so far:
prometheus --config.file=/etc/prometheus/prometheus.yml
- Configure Prometheus as a `systemd` Service
Create a
systemd
unit file for Prometheus:sudo vi /etc/systemd/system/prometheus.service
Define the Prometheus service in the unit file:
[Unit] Description=Prometheus Time Series Collection and Processing Server Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus 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 [Install] WantedBy=multi-user.target
Start and enable the Prometheus service:
sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
Verify the Prometheus service is healthy:
sudo systemctl status prometheus
Make an HTTP request to Prometheus to verify it is able to respond:
curl localhost:9090
You can also access Prometheus in a browser using the server’s public IP address:
http://<PROMETHEUS_SERVER_PUBLIC_IP>:9090
.