博客/工程

你应该知道…这些有用的普罗米修斯报警规则

2021年4月1日 5分钟

设置普罗米修斯刮你的目标指标通常是一个更大的可观测性策略的一部分。另一方程中找出你想要你的度量来告诉你,你应该知道什么时候、多久。值得庆幸的是,普罗米修斯使它很容易定义报警规则使用PromQL,所以你知道当事情北,南,或在任何方向。

确定当你应该提醒可以理解你的练习组合系统的kpi和依靠自己的经验和直觉。为你提供一些灵感马上开始,Grafana实验室解决方案工程团队放在一起这个快速博客的一些我们最喜欢的报警规则。bob电竞频道bob彩票中奖计划

“了”查询

从Eldin:

最大的好处之一有一个基于监控系统是你有一个更好的了解知道服务是向上或向下。第一条规则,我认为重要的是了解的向上查询。它是如此难以置信的简单,然而如此强大。注意:我主要用它来出口。

#警惕任何不可到达的目标> 1分钟。-提醒:TargetMissing expr: = = 0: 1 m标签:严重性:关键注释:总结:“普罗米修斯目标缺失(实例{{$标签。实例}})”描述:“普罗米修斯目标失踪,请调查”

和红色警报

从迈克·约翰逊:

许多人熟悉监控关心创建另一个警报扩张发电机当普罗米修斯等迁移到一个新的平台。有些人甚至认为,而不是报警指标,他们应该警惕仅在应用程序或服务指标。我们相信你还想设置参数标准提醒在某些能力…但也许不是每幅CPU或内存。

相反,我们建议你关注使用(基础设施利用率、饱和度、错误)红色(利率、错误持续时间/延迟服务)关键绩效指标。

为您的使用指标,node_exporter生成代表你的这些指标。提醒你在哪里接近物理限制基础设施是关键,比如内存:

——提醒:HostOutOfMemory expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10: 2 m标签:严重性:警告注释:摘要:主机的内存(实例{{$标签。}})描述:实例节点内存满(< 10%左)\ n值={{$价值}}\ n标签:{{$标签}}

或磁盘:

#请忽略了node_exporter挂载点参数添加#”——collector.filesystem.ignored-mount-points = ^ / (sys | proc | dev |运行)($ | /)”。#相同规则使用“node_filesystem_free_bytes”将火当磁盘填充非root用户。——提醒:HostDiskWillFillIn24Hours expr:(node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 10和(设备,挂载点)predict_linear (node_filesystem_avail_bytes {fstype !~“tmpfs”} (1 h), 24 * 3600) < 0,(设备,挂载点)node_filesystem_readonly = = 0: 2 m标签:严重性:警告注释:摘要:主机磁盘将在24小时内填写(实例{{$标签。实例}})描述:文件系统将耗尽空间在未来24小时内当前写速度\ n值={{$价值}}\ n标签:{{$标签}}

不是所有的警告都是平等的,所以是很重要的选择性(和本地Grafana实验室解决方案工程师可以帮助!)。bob电竞频道bob彩票中奖计划

关于应用程序层:普罗米修斯,是很常见的,开发人员将生成红色指标使用普罗米修斯客户端库得到更好的理解应用程序状态和性能,能够切片数据的元数据字段(URL、主机数据中心,等等),为更快的问题通过日志仅检测与故障诊断。

红色的指标,跟踪第95个百分位延迟可以看这个:

警报High95thResponseTime如果histogram_quantile(0.95,总和(率(http_request_duration_ms_bucket [1 m])), (le、服务路线、方法))> 500年60年代注释{总结= "第95个百分位响应时间超过了{{$标签上。服务}}和{{$标签。方法}}{{$标签。路线}}”,描述= "{{$标签。服务}},{{$标签。方法}}{{$标签。路线}}有一个95的响应时间超过500 ms(当前值:{{$价值}})女士”,}

警惕pod重启

从hed西蒙斯:

原:峰会不是部署初始化。油炸或节点。

编辑:如果我知道Eldin发布我们的谈话的,我就不会调用本机伯明翰,英国,口音。:D

这个警报是一个简化的例子使用变化聚合器看到多少次吊舱或容器指定重启的时间——在这种情况下,最后5分钟。实际上是有理由撞这个数字稍有上升,和增加时间,以确保你不会得到一个“假警报”新部署(尽管通常你会知道当你部署)。添加一个还有一个理由条款,不过真的,我们想知道如果豆荚重启不管它经常发生在一个时间周期。

警告:ETOOMANYRESTARTS expr:变化(kube_pod_container_status_restarts_total{<容器/荚> = ~“<名称> |。*”}(5米))> 2标签:严重性:警告注释:摘要:“pod重启是频繁发生”

警报的时候太慢了

莱恩:

这都是很好的提醒时失踪,或在错误的状态,但也警告当事情很重要表现比预期的要慢得多。好是为了你的负载均衡器在线如果每个请求需要10秒?写这变成一个规则将取决于可用的指标,但这是一个例子HAproxy:

——提醒:HaproxyHttpSlowingDown expr: avg(代理)(haproxy_backend_max_total_time_seconds) > 1: 1 m标签:严重性:警告注释:摘要:HAProxy HTTP放缓(实例{{$标签。}})实例描述:平均请求时间增加\ n值={{$价值}}\ n标签:{{$标签}}

最后一些注意事项

为我们的Grafana云客户,我们想提醒你们,我们有一个对你的提醒Prometheus-style UI、记录规则和Alertmanager。如果你不知道从哪里开始,我们也有时髦的集成为您提供正确的刮配置,规则/警报,和仪表板。如果你没有使用云Grafana,免费和付费的计划适合每个用例-现在免费注册

喊出最好的SE团队分享他们的最爱。现在我们已经覆盖了Grafana转换和普罗米修斯报警规则。让我们知道你想让我们谈论下一个!