Prometheus: Blackbox Exporter
Hoe Prometheus Blackbox Exporter te gebruiken om HTTP- en ICMP (ping) endpoints te onderzoeken
👋 Welkom bij de Stackhero-documentatie!
Stackhero biedt een kant-en-klare Prometheus cloud oplossing die tal van voordelen biedt, waaronder:
Alert Managerinbegrepen om meldingen te sturen naarSlack,Mattermost,PagerDuty, enz.- Toegewijde e-mailserver om onbeperkte e-mailmeldingen te verzenden.
BlackboxomHTTP,ICMP,TCPen meer te testen.- Eenvoudige configuratie met online configuratiebestand editor.
- Moeiteloze updates met slechts één klik.
- Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.
Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Prometheus cloud hosting oplossing van Stackhero te proberen!
Introductie tot Prometheus Blackbox Exporter
De Prometheus Blackbox Exporter is een krachtig hulpmiddel waarmee u endpoints kunt onderzoeken met verschillende protocollen, waaronder HTTP, HTTPS, DNS, TCP en ICMP. Deze flexibiliteit maakt uitgebreide monitoring van verschillende aspecten van uw infrastructuur en diensten mogelijk.
Bijvoorbeeld, bij het onderzoeken van HTTP- en HTTPS-endpoints kunt u:
- De beschikbaarheid van een website verifiëren door te controleren op een 2xx HTTP-statuscode.
- Ervoor zorgen dat specifieke inhoud wordt geretourneerd, zoals het matchen van een webpagina-titel met de verwachte tekst.
- TLS-certificaten valideren door hun vervaldatums op te halen, zodat u onverwachte verlengingsproblemen kunt voorkomen.
- Prestaties meten door DNS-resolutietijden en de duur van de TLS-handshake te beoordelen.
Met ICMP kunt u bevestigen dat servers reageren op ping-verzoeken en hun reactietijden meten. Bovendien biedt DNS-onderzoek inzicht in antwoordtijden, terwijl TCP-onderzoek u in staat stelt verbinding te maken met een service om de inhoud en versie van een SSH-serverbanner te verifiëren.
Groot overzicht van Stackhero voor Prometheus
Configuratie van Prometheus Blackbox Exporter
Het instellen van de Blackbox Exporter omvat het werken met twee belangrijke bestanden: blackbox-exporter.yml voor kerninstellingen en prometheus.yml om te definiëren hoe Prometheus gegevens van de exporter verzamelt.
Configuratie van de kern van de Blackbox Exporter
De kernconfiguratie, te vinden in het bestand blackbox-exporter.yml, specificeert welke protocollen moeten worden ondersteund en hoe ze moeten worden gemonitord.
Op Stackhero voor Prometheus is dit bestand vooraf geconfigureerd om zowel ICMP-monitoring als HTTP/HTTPS-monitoring (via GET- en POST-verzoeken) direct uit de doos te ondersteunen. Als u dit bestand voor meer geavanceerde scenario's moet aanpassen, kunt u configuratievoorbeelden bekijken in de Blackbox Exporter repository en de officiële documentatie raadplegen voor verdere begeleiding.
Configuratie van het doel van Prometheus Blackbox Exporter
Het grootste deel van uw configuratie vindt plaats in het bestand prometheus.yml, waar u Prometheus instrueert om gegevens van de Blackbox Exporter te verzamelen zoals elke andere exporter.
Overweeg bijvoorbeeld de onderstaande configuratie die ICMP (ping) reacties van prometheus.io en grafana.com elke 15 seconden controleert (zoals gedefinieerd door het scrape_interval). U kunt dit blok toevoegen aan uw prometheus.yml bestand binnen de scrape_configs sectie en de targets array bijwerken met de domeinnamen of IP-adressen die u wilt monitoren:
- job_name: "blackbox-icmp"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "icmp" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "prometheus.io", "grafana.com" ]
Op dezelfde manier controleert de onderstaande configuratie HTTP-servers. In deze setup, als de HTTP-responsstatus niet in het 2xx-bereik ligt, wordt het doel als foutief gemarkeerd. U kunt dit blok invoegen in uw prometheus.yml bestand onder de scrape_configs sectie en de targets array bijwerken met de URL's die u wilt monitoren:
- job_name: "blackbox-http"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "http_2xx" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "https://prometheus.io/", "https://grafana.com/" ]
Zodra uw scrape-taken zijn geconfigureerd, kunt u de debuglogs bekijken in de Blackbox UI. De link naar de UI is beschikbaar op uw Stackhero-dashboard en biedt waardevolle inzichten in de resultaten van de onderzoeken.
Blackbox UI die de resultaten van de laatste scrapes toont
Configuratie van Grafana om Prometheus-gegevens van de Blackbox Exporter weer te geven
Grafana maakt het eenvoudig om dashboards te maken die de prestatie- en beschikbaarheidsstatistieken visualiseren die door de Blackbox Exporter zijn verzameld. Met slechts een paar klikken kunt u dynamische dashboards instellen die uw Prometheus-gegevens tot leven brengen. Voor meer details over het integreren van Grafana met Prometheus, kunt u de documentatie van Grafana verkennen.
Voorbeeld van een dashboard gegenereerd door Grafana, gebaseerd op Prometheus Blackbox Exporter gegevens