Blackbox Exporter (HTTP prober) | Grafana Labs 13659
blackbex_exporter监控指标
bleshbes-exter是一个Ptometheus监控系统的扩展组件,用于监控以网络为基础的服务。它通过使用HTTP、HITPS、DNS、ICR等协议发送请求,然后检查响应的状态码、内容、延迟等指标,并将这些指标报告给Prometheus。
以下是blackbex_exporter可以监控的一些指标:
1.HTTP指标:
- http_status_code:HTTP响应状态码,例如200、404、500等。
- http_content_length:HTTP响应内容长度。
- http_request_duration_seconds:HTTP请求延迟。|
- http_ssl_expiry_seconds:HTTPS证书过期时间。
2.DNS指标:
- dns_lookup_time_seconde:DNS查询时间。
- dns_lookup_error:DNS查询是否出错。
3.TCP指标
- tcp_connect_time_second:TCP连接时间。
- tcp_connection_refused:TCP连接是否被拒绝。
4.ICMP指标
- icmp_response:ICMP响应是否正常。
这些指标可以帮助你了解被监控服务的可用性、性能和故障情况。你可以使用Prometheus的查询语言PromQL来分析和可视化这些指标,以便更好地监控和管理你的网络服务。
上面大多数指标的类型为gauge类型。
Gauge 可增可减的仪表盘 当前状态
与 Counter
不同,Gauge
(可增可减的仪表盘)类型的指标侧重于反应系统的当前状态,因此这类指标的样本数据可增可减,不像counter是一直增长的。
常见指标如 node_memory_MemFree_bytes
(当前主机空闲的内存大小)、node_memory_MemAvailable_bytes
(可用内存大小)都是 Gauge
类型的监控指标。
由于 Gauge 指标仍然带有时间戳存储,所有我们可以看到随时间变化的值,通常可以直接把它们绘制出来,这样就可以看到值本身而不是变化率了,通过 Gauge
指标,用户可以直接查看系统的当前状态。
在绘制图行查看状态的时候,直接使用指标值就可以绘制出来,因为本身就表示当前的状态。
这些简单的指标类型都只是为每个样本获取一个数字,但 Prometheus 的强大之处在于如何让你跟踪它们。
比如我们绘制了两张图,一个是 HTTP 请求的变化率,另一个是分配的 gauge 类型的实际内存,直接从图上就可以看出这两个之间有一种关联性,当请求出现峰值的时候,内存的使用也会出现峰值,但是我们仔细观察也会发现在峰值过后,内存使用量并没有恢复到峰值前的水平,整体上它在逐渐增加,这表明很可能应用程序中存在内存泄露的问题,通过这些简单的指标就可以帮助我们找到这些可能存在的问题。
delta()差异函数:
对于 Gauge
类型的监控指标,通过 PromQL
内置函数 delta()
可以获取样本在一段时间范围内的变化情况。例如,计算 CPU 温度在两个小时内的差异:
delta(cpu_temp_celsius{host="zeus"}[2h])
还可以直接使用 predict_linear()
对数据的变化趋势进行预测:
例如,预测系统磁盘空间在 4 个小时之后的剩余情况:这个函数是用来做预测的,predict_linear()
这个函数对于磁盘空间来说的话是非常有用的,因为磁盘在实际使用的过程当中一下子就增长起来了,这是一个缓慢的过程,所以可以根据这个函数来判断4个小时之后磁盘剩余的情况,根据这个情况就可以提前去将磁盘空间清理或者扩容。
predict_linear(node_filesystem_free_bytes[1h], 4 * 3600)