Service Linux Unix Windows Prometheus Monitoring system for collecting and storing time series data. Ubuntu 24.04 LTS Creating Prometheus System Users and Directory 1 2 3 4 5 $ 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 1 2 3 4 5 6 7 8 9 10 11 12 13 $ 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 1 2 $ sudo vim /etc/prometheus/prometheus.yml $ sudo systemctl restart prometheus 1 2 3 4 5 6 7 8 9 10 11 12 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 1 $ sudo vim /etc/systemd/system/prometheus.service 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [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 1 2 3 4 $ sudo systemctl daemon-reload $ sudo systemctl start prometheus $ sudo systemctl enable prometheus $ sudo systemctl status prometheus Accessing Prometheus in Browser 1 2 $ sudo ufw allow 9090/tcp http://server-IP-or-Hostname:9090 Links Prometheus Github Prometheus doc