{"repo":"mbelloiseau/website-monitoring","free":true,"listed":false,"github":"https://github.com/mbelloiseau/website-monitoring","clone":"git clone https://github.com/mbelloiseau/website-monitoring.git","description":"Monitore your websites availability, http status code (current and history), certificate, redirects and more with Grafana and Prometheus blackbox exporter.","language":"Shell","stars":129,"topics":["prometheus","availability","grafana-dashboard","monitoring","website-monitoring","grafana","observability"],"license":null,"category":"analytics","readme_excerpt":"website-monitoring Monitore your websites availability, http status code (current and history), certificate, redirects and more with Prometheus Prometheus blackbox exporter Grafana Dependencies docker docker-composer 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 Overview Total number of targets Percentage of HTTP 200 status code Percentage of targets using SSL Global invalid status code history 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)))","default_branch":null,"files":null,"tree":[],"storefront":"/r/mbelloiseau","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mbelloiseau/website-monitoring/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}