Prometheus is een krachtig open-source monitoring- en alerting-toolkit dat veel wordt gebruikt voor het verzamelen van metrics van verschillende services. Prometheus zelf hosten op een VPS geeft je volledige controle over je monitoring-opstelling. In deze gids lopen we door het proces van het installeren van Prometheus op een virtual private server (VPS), met behulp van Docker voor eenvoudige beheer en deployment.
Stap 1: Kies een VPS-provider
Voordat we beginnen, moet je een VPS-provider kiezen. Hieronder vind je een vergelijking van enkele populaire VPS-opties geschikt voor het hosten van Prometheus:
| Provider | Prijs (per maand) | Kenmerken | Link |
|---|---|---|---|
| Contabo VPS | 5.99 EUR | Hoge RAM, SSD-opslag | Contabo |
| Hetzner Cloud | 4.15 EUR | Uitstekende prestaties, schaalbare oplossingen | Hetzner Cloud |
| DigitalOcean | 6 USD | Gebruiksvriendelijke interface, ruime credits | DigitalOcean |
| Vultr | 6 USD | Geografisch brede locaties | Vultr |
| Linode (Akamai) | 5 USD | Eenvoudige prijsstelling, betrouwbaarheid | Linode |
Voor ontwikkelaars en homelabbers springt Hetzner Cloud er vaak uit vanwege de concurrerende prijzen en prestaties.
Stap 2: Je VPS instellen
Na het kiezen van een VPS-provider, start je een instance met minimaal 1 GB RAM en een degelijke CPU. Volg deze stappen voor servervoorbereiding:
-
Maak verbinding met je server via SSH:
ssh root@your_vps_ip -
Update je systeem:
sudo apt update && sudo apt upgrade -y -
Installeer Docker:
sudo apt install docker.io -y -
Start en enable Docker:
sudo systemctl start docker sudo systemctl enable docker
Stap 3: Installeer Prometheus met Docker
Met Docker geรฏnstalleerd, kun je snel Prometheus in een container uitrollen.
-
Haal de officiรซle Prometheus Docker-image op:
sudo docker pull prom/prometheus -
Maak een configuratiebestand voor Prometheus. Je kunt de standaardconfiguratie gebruiken of je eigen instellingen maken. Hier is een eenvoudig voorbeeld:
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] -
Sla dit bestand op als
prometheus.yml. -
Start Prometheus met Docker:
sudo docker run -d \ -p 9090:9090 \ --name prometheus \ -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus -
Toegang krijgen tot Prometheus: Open in je webbrowser
http://your_vps_ip:9090om het Prometheus-dashboard te zien.
Stap 4: Prometheus configureren
Als Prometheus draait, kun je verdere configuraties maken voor je applicatiemetrics. Hier enkele basisopties:
- Extra Targets toevoegen: Pas
prometheus.ymlaan om andere services te monitoren. - Alerting regels: Stel alertingregels in in een apart configuratiebestand en integreer Alertmanager voor notificaties.
Stap 5: Data opslaan
Prometheus gebruikt een tijdreeksdatabase om metrics efficiรซnt op te slaan. Standaard wordt de data in het geheugen opgeslagen, maar je kunt persistentieopties configureren indien nodig.
FAQ
Hoe beveilig ik Prometheus op mijn VPS?
Om je Prometheus-instance te beveiligen, overweeg de volgende stappen:
- Gebruik HTTPS: Zet een webserver (zoals Nginx) op om verzoeken door te sturen naar Prometheus en content via HTTPS te serveren.
- Basis authenticatie: Voeg een laag van authenticatie toe bij Nginx of de webserver.
- Firewallregels: Maak firewallregels om alleen jouw IP of vertrouwde netwerken toegang te geven.
Zo blijven je gegevens veilig tegen onbevoegde toegang.
Kan ik andere services monitoren met Prometheus?
Ja, een van de sterke punten van Prometheus is dat het metrics kan scrapen van verschillende services. Je kunt monitoren:
- Applicatiestatistieken direct als zij Prometheus-compatibele endpoints exposen.
- Exporters voor populaire databases (MySQL, PostgreSQL) en services (Redis, Nginx).
- Aangepaste metrics vanuit je applicaties door een
/metricsendpoint te exposen.
Deze flexibiliteit maakt een allesomvattende monitoring setup mogelijk.
Hoe stel ik alerts in Prometheus in?
Prometheus kan je waarschuwen op basis van regels in je configuratie. Zo stel je basisalerts in:
-
Definieer alertingregels: Maak een YAML-bestand met je alertdefinities. Voorbeeld:
groups: - name: voorbeeld rules: - alert: HogeLoad expr: job:load1:avg5m > 0.7 for: 10m labels: severity: critical annotations: summary: "Hoge belasting op instantie {{ $labels.instance }}" -
Configureer Alertmanager: Installeer en configureer Alertmanager om alerts van Prometheus te verwerken.
-
Notificatiekanalen: Zet notificatiekanalen op (e-mail, Slack) in Alertmanager voor het afhandelen van alerts.
Voor geavanceerdere configuraties, zie de Prometheus documentatie.
Conclusie
Prometheus zelf hosten op een VPS biedt een robuuste oplossing voor het monitoren van je applicaties en infrastructuur. Met de bovenstaande stappen kun je Prometheus installeren, configureren en aanpassen aan jouw behoeften. Voor een volledige VPS-vergelijking bezoek je onze volledige VPS-vergelijking. Veel plezier met monitoren!