Prometheus Systeem Monitoring gereedschap installeren op Ubuntu 20.04
In deze handleiding leren we hoe je Prometheus op Ubuntu 20.04 kunt installeren. Voor wie Prometheus niet kent, het is een systeem-monitoring gereedschap dat een overzicht geeft van alle meetgegevens en prestatie-informatie van je systeem, zodat je eventuele problemen of knelpunten kunt opsporen. Je vindt het wellicht nuttig als je bronnen wilt bijhouden zoals CPU gebruik, geheugengebruik, netwerk IO wachttijd, enz… Het heeft een webinterface waarmee je vanaf elk toestel met een internetverbinding gemakkelijk toezicht kunt houden en ondersteunt ook waarschuwingen via e-mail en sms-berichten voor het geval de meetwaarden een ingestelde drempel overschrijden.
Vereisten
- Een server met Ubuntu 20.04 LTS, minstens 2 GB RAM en 1 vCPU.
- Log in als root of een niet-root gebruiker met sudo rechten.
Installeer Nginx
Je moet je repository altijd bijwerken door dit commando uit te voeren:
sudo apt update
Dit vraagt je, het standaard antwoord is y en Enter. We raden je af om op n te drukken als je daarom gevraagd wordt, want dat kan problemen veroorzaken met pakketten of programma’s die later geïnstalleerd worden.
De repositories worden nu door je systeem bijgewerkt via een tussenproces en na voltooiing van deze stap kun je verder gaan met de installatie van nginx met het onderstaande commando:
sudo apt install nginx
De Nginx service draait nu en zal op verzoeken reageren. Je kunt het controleren door het onderstaande commando uit te voeren:
sudo systemctl status nginx
Als je uitvoer ziet die lijkt op het volgende, dan draait Nginx:
Als je Nginx dienst niet draait, kun je hem starten door het volgende commando in te voeren:
sudo systemctl start nginx
Dat is het! nginx is op je server gaan draaien
Maak Prometheus systeemgebruiker
De Prometheus server heeft een service gebruikersaccount nodig om te kunnen draaien. Je kunt de gebruiker aanmaken met het volgende commando. Vervang je eigen toepassingsnaam door prometheus-server in plaats van “node_exporter”.
sudo useradd --no-create-home --shell /bin/false prome
sudo useradd --no-create-home --shell /bin/false node_exporter
Maak Prometheus mappen
Vervolgens moet je een aantal mappen maken. Dit zijn de mappen waar de configuratiebestanden en andere gegevens zullen worden opgeslagen. Deze mappen worden aangemaakt in de directory die je eerder voor Prometheus koos. In dit voorbeeld gebruiken we /ect/prometheus en /var/lib/prometheus als basis directory:
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
Downloaden en installeren van Prometheus
We kunnen Prometheus voor Linux downloaden door eenvoudig wget te gebruiken. We navigeren naar de meest recente versie van downloads op hun website en pakken het van daar.
wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz
Als je de binary gedownload hebt, pak je hem uit met het tar commando:
tar -xvf prometheus-2.28.1.linux-amd64.tar.gz
Kopieer uit de uitgepakte map de prometheus en promtool binaries naar de map /usr/local/bin:
sudo cp prometheus-2.28.1.linux-amd64/prometheus /usr/local/bin/
sudo cp prometheus-2.28.1.linux-amd64/promtool /usr/local/bin/
Verander na het kopiëren het eigendom van de bestanden in prometheus door de onderstaande commando’s in te voeren:
sudo chown prome:prome /usr/local/bin/prometheus
sudo chown prome:prome /usr/local/bin/promtool
Kopieer vervolgens de volgende directories naar je Prometheus configuratie directory /etc/prometheus: “console_libraries” en “prometheus”. Het is belangrijk dat je deze stap niet vergeet!
sudo cp -r prometheus-2.28.1.linux-amd64/consoles /etc/prometheus
sudo cp -r prometheus-2.28.1.linux-amd64/console_libraries /etc/prometheus
Gebruik de volgende commando’s om het eigendom van de bestanden te veranderen:
sudo chown -R prome:prome /etc/prometheus/consoles
sudo chown -R prome:prome /etc/prometheus/console_libraries
Maak Prometheus configuratiebestand
Prometheus heeft een configuratiebestand nodig om te werken. Het prometheous.yml is de meest gebruikte manier om het in te stellen. In dit onderdeel maken we de configuratiebestanden met de naam prometheus.yml aan in de eerder aangemaakte map /etc/prometheus.
sudo nano /etc/prometheus/prometheus.yml
Kopieer en plak vervolgens de volgende regels in je terminal:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
Als je klaar bent druk je op Ctrl+x dan op y en dan op enter om het bestand op te slaan.
De standaard configuratie heeft een enkele job met de naam Prometheus die de door de server blootgelegde tijdreeksgegevens afschraapt. De job bevat slechts één doel, localhost op poort 9090 en is statisch geconfigureerd.
We moeten nu een bestand maken voor de systemd dienst. Voer het onderstaande commando uit:
sudo nano /etc/systemd/system/prometheus.service
Kopieer en plak de volgende inhoud in het bestand:
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prome
Group=prome
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]
Het dienstbestand vertelt systemd om Prometheus te draaien als de prometheus gebruiker, met een configuratie in de map /etc/prometheus en gegevens opgeslagen in de map /var/libdirectory.
Als je klaar bent druk je op Ctrl+x dan op y en dan op enter om het bestand op te slaan.
Om de nieuw aangemaakte dienst te gebruiken, herlaad je systemd door het onderstaande commando uit te voeren:
sudo systemctl daemon-reload
Je kunt nu Prometheus starten met het volgende commando:
sudo systemctl enable prometheus
Je kunt de status van de dienst controleren met het onderstaande commando:
sudo systemctl status prometheus
prometheus.service - Prometheus
Loaded: loaded (/etc/systemd/system/prometheus.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2021-07-15 22:31:10 UTC; 3s ago
Process: 3949 ExecStart=/usr/local/bin/prometheus --config.file /etc/prometheus>
Main PID: 3949 (prometheus)
Tasks: 7
Memory: 13.8M
CPU: 470ms
CGroup: /system.slice/prometheus.service
De Prometheus status monitor vertelt je het huidige activiteitsniveau van de dienst. Je kunt ook zien welk proces het momenteel draait en hoeveel geheugen het op een bepaald moment gebruikt.
Prometheus testen
Prometheus biedt een eenvoudige webinterface waarmee gebruikers statistieken kunnen bekijken over zichzelf en over andere programma’s die ze geïnstalleerd hebben, om na te gaan of daarbinnen problemen aan de hand zijn.
Om toegang te krijgen tot de Prometheus dienst moet je eerst poort 9090 op je firewall openzetten. Je kunt dit doen door in te typen:
ufw allow 9090/tcp
Open nu een web browser en navigeer naar het volgende adres:
http://ip-address:9090
Vervang de term “ip-adres” door het eigenlijke IP adres van je server. Je kunt ook localhost of 127.0.0.1 gebruiken om Prometheus op je systeem lokaal te benaderen en te zien of het goed werkt.
De Prometheus toepassing is nu live en klaar om web verzoeken te ontvangen:
Conclusie
We hopen dat je de handleiding nuttig vond en enthousiast bent om je eigen installatie uit te testen. Dit is slechts een van de vele handleidingen op onze website, dus als er nog iets is dat je wilt weten over monitoring of Prometheus, laat het ons dan weten in een commentaar hieronder!