Skip to content

Monitore your websites availability, http status code (current and history), certificate, redirects and more with Grafana and Prometheus blackbox exporter.

Notifications You must be signed in to change notification settings

mbelloiseau/website-monitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

website-monitoring

web-1

Monitore your websites availability, http status code (current and history), certificate, redirects and more with

Dependencies

Usage

  • git clone git@github.com:mbelloiseau/website-monitoring.git && cd website-monitoring
  • Edit config/prometheus/targets.yml (see targets.yml.example) or use ./gen_target.sh website-1.tld website-2.tld ...
  • Create and start containers docker-compose up -d
  • Visualize dashboards

If you already have Prometheus and Prometheus blackbox exporter up and running just import the dashboards (website-monitoring or overview) and use the right datasource and jobs (http_job and icmp_job)

Dashboards

Website monitoring

  • HTTP status code
  • HTTP redirects
  • HTTP version
  • TLS version
  • Certificate validity
  • ICMP
  • DNS lookup time
  • Availability over the last 24 hours, 3 days and 7 days
  • Probe duration and status code history

web-2 web-3

Overview

  • Total number of targets
  • Percentage of HTTP 200 status code
  • Percentage of targets using SSL
  • Global invalid status code history

overview

Tips and tricks

PromQL

Some useful PromQL queries

  • Number of days till certificate expiration
    • (probe_ssl_earliest_cert_expiry{instance=~"$target",job="$http_job"} - time()) / (60*60*24)
  • Display bad HTTP status code
    • probe_http_status_code{job="$http_job",instance=~"$target"} != 200
  • Count the number of each status code
    • count_values("code", probe_http_status_code)
  • Percentage of HTTP 200
    • ((count(count by (instance) (probe_http_status_code == 200))) / (count(count by (instance) (probe_http_status_code)))) * 100

Misc

  • Request blackbox exporter
    • curl -s "localhost:9115/probe?module=http_2xx&target=target.tld"

About

Monitore your websites availability, http status code (current and history), certificate, redirects and more with Grafana and Prometheus blackbox exporter.

Topics

Resources

Stars

Watchers

Forks

Languages