Ubuntu 24.04 LTS
Creating Prometheus System Users and Directory
$ sudo apt update && sudo apt upgrade
$ sudo useradd --no-create-home --shell /bin/false prometheus
$ sudo mkdir /etc/prometheus
$ sudo mkdir /var/lib/prometheus
Download Prometheus Binary File
$ cd /tmp/
$ wget https://github.com/prometheus/prometheus/releases/download/v3.5.0/prometheus-3.5.0.linux-amd64.tar.gz
$ tar -xvf prometheus-3.5.0.linux-amd64.tar.gz
$ cd prometheus-3.5.0.linux-amd64
$ sudo mv prometheus.yml /etc/prometheus
$ sudo chown -R prometheus:prometheus /etc/prometheus
$ sudo mv prometheus /usr/local/bin/
$ sudo chown prometheus:prometheus /usr/local/bin/prometheus
$ sudo mv promtool /usr/local/bin/
$ sudo chown prometheus:prometheus /usr/local/bin/promtool
Prometheus configuration file
$ sudo vim /etc/prometheus/prometheus.yml
$ sudo systemctl restart prometheus
global:
scrape_interval: 15s
evaluation_interval: 15s
rule_files:
# - "first.rules"
# - "second.rules"
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
Creating Prometheus Systemd file
$ sudo vim /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
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/ \
[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo systemctl start prometheus
$ sudo systemctl enable prometheus
$ sudo systemctl status prometheus
Accessing Prometheus in Browser
$ sudo ufw allow 9090/tcp
http://server-IP-or-Hostname:9090
Links
Prometheus
Github
Prometheus doc