报告使用Grafana的网站上的黑匣子导出器http_status_code。

huangapple go评论78阅读模式
英文:

report on website with grafana using blackbox exporter http_status_code

问题

我处于一个可以使用黑匣子导出器来收集特定指标的环境中。
其中之一是http_probe_status_code,它将探测一个网站,返回http_status_code。它会返回一个数字,如200、500、301等。到目前为止一切顺利。

然而,我想使用这些指标的集合来计算30天内的可用性百分比。事实证明,这个网站几乎没有宕机时间,所以在搜索非200状态代码的指标时可能会出现没有数据的情况。

我尝试了多个查询(对于PromQL来说有点新手)。

在哪种情况下,基于状态码200和非200的数量来计算百分比(在Grafana中使用仪表盘)的最佳方式,而且查询能够处理非200返回状态码的0次情况?

提前感谢您分享您的想法。

英文:

I am in an environment where one can use blackbox exporter to gather specific metrics.
One of them is http_probe_status_code, it will probe a website, return the http_status_code. It will return a number, 200, 500, 301 etc. So far so good.

However i want to use the collection of metrics to give an availability percentage over the time of 30 days. It turns out this site does not have much downtime, so it is possible to end up with no data when searching the metrics for a non 200 status code.

I have tried multiple queries(kind of a novice when it comes to promQL voodoo.)

What is the best way to calculate a percentage (gauge bar in grafana) based on the number of statuscode 200 and non 200, where the query is capable of handeling 0(zero) times of non 200 returned status code.

Thank in advance for sharing your thoughts on this

答案1

得分: 1

你可以使用如下查询来实现这个目标:

count_over_time((probe_http_status_code==200)[30d:]) / count_over_time(probe_http_status_code[30d:]) * 100

在这里,我们统计了在过去30天内成功的探测次数,然后除以同一时间范围内的总探测次数。

你可以在这里看到这个查询的演示。

英文:

You can achive this with query like this:

count_over_time((probe_http_status_code==200)[30d:]) / count_over_time(probe_http_status_code[30d:]) * 100

Here we count number of successful probes over 30 days, and divide by total number of probes over same range.

Demo of this query can be seen here.

huangapple
  • 本文由 发表于 2023年7月20日 16:39:36
  • 转载请务必保留本文链接:https://go.coder-hub.com/76728093.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定