Monitor website is up or down using grafana

Hi There,

I am planning to monitor about 20 websites to see if they are up and running.

Is there a way to monitor if a web page is up or not using grafana.Is there a plugin that is available ?
If there is no plugin available
I can run curl or python to get the status and update influxdb but for grafana how do i create a graph that goes red if the return code is not 200.

Any other ideas or suggestions would be greatly appreciated.

Thanks

Many people are using the Singlestat panel for health checks like this.

With the Singlestat panel, you could create a query that returned a 1 for a service returning 200 and otherwise a 0, and then set up thresholds to set the background color of the panel to either green or red.

1 Like

I run telegraf on all our nodes with URL checks setup against all our sites. This creates a many to many checking relationship that mitigates bad data.

In grafana, I setup two queries, the first one is graphed and records the average response time:

alias(averageSeries(telegraf.*.GET.success.https:--my_url_com*.*.*.response_time), 'Avg Reponse Time')

The second one is disabled on the graph but records the response code:

averageSeries(telegraf.a_server_com.GET.success.https:--my_url_com*.*.http_response.http_response_code)

Then I setup my alert like this:

Essentially, I get an alert if the average response time is greater than 1 second or if the average HTTP response code is greater than 300 (which could indicate any number of problems). This combination seems to catch the problem situations you’ll run into.

Wait…can you use those queries directly in a singlestat panel?
What is the database source? Grafana?

Does Grafana and Telegraf run on the same machine?

Michael

I should have clarified that I’m using the Graph panel, that makes a lot more sense for displaying response times.

I do run telegraf on the host node, I’m using the Grafana docker container.

I suggest you to try blackbox exporter as separate container, which will ping your sites and will give you Prometheus metrics(like http status code and response time) which can be displayed on Grafana.
Docker Images is also available.