 PromQL 从入门到精通这个查询表达式就变成了 Range Query, Range Query里有个时间范围,其 Table 视图的截图如下: 第 4 台机器相比其他的机器,返回了更多数据,是因为那个机器的监控数据采集频率是 10s, 而其他的机器采集频率是 30s。 ? 通过 range query + Table 视图,可以让我们直观看到原始上报的监控数据以及上报的具 体时刻(对于排查监控数据采集相关的问题尤为有用),如果在 想找出所有有问题的数据,只要在 promql 中 拼上 < 60 即可: 1 如上的方法,其实就是告警引擎的核心逻辑。告警规则里会要求用户配置promql以及执行频 率,告警引擎就会根据执行频率周期性执行,每次执行的时候就是拿着promql去查询,promql 中带有阈值,即上例中的 <60,所以如果所有机器的内存可用率都很高,比如维持在80~90, 那这个promql是不会返回查询结 要求全局的90分位值,可以把所有 实例的90分位值取个平均,虽然不是那么准确,也凑合能用。而实际上,对于一个服务部署多 个实例的场景,通常这多个实例是负载均衡的,查看其中一个实例的分位值和查看总体的分位值 理论上差不太多。而且,如果某个机器有问题,比如某个机器磁盘故障,导致部署在上面的实例 异常,延迟变高,其他实例都是正常的,全局查看延迟数据的时候,每个实例是一条曲线,那个 故障的机器,0 码力 | 16 页 | 2.77 MB | 1 年前3 PromQL 从入门到精通这个查询表达式就变成了 Range Query, Range Query里有个时间范围,其 Table 视图的截图如下: 第 4 台机器相比其他的机器,返回了更多数据,是因为那个机器的监控数据采集频率是 10s, 而其他的机器采集频率是 30s。 ? 通过 range query + Table 视图,可以让我们直观看到原始上报的监控数据以及上报的具 体时刻(对于排查监控数据采集相关的问题尤为有用),如果在 想找出所有有问题的数据,只要在 promql 中 拼上 < 60 即可: 1 如上的方法,其实就是告警引擎的核心逻辑。告警规则里会要求用户配置promql以及执行频 率,告警引擎就会根据执行频率周期性执行,每次执行的时候就是拿着promql去查询,promql 中带有阈值,即上例中的 <60,所以如果所有机器的内存可用率都很高,比如维持在80~90, 那这个promql是不会返回查询结 要求全局的90分位值,可以把所有 实例的90分位值取个平均,虽然不是那么准确,也凑合能用。而实际上,对于一个服务部署多 个实例的场景,通常这多个实例是负载均衡的,查看其中一个实例的分位值和查看总体的分位值 理论上差不太多。而且,如果某个机器有问题,比如某个机器磁盘故障,导致部署在上面的实例 异常,延迟变高,其他实例都是正常的,全局查看延迟数据的时候,每个实例是一条曲线,那个 故障的机器,0 码力 | 16 页 | 2.77 MB | 1 年前3
共 1 条
- 1
相关搜索词













