2.2. 查询警报
在 OpenShift 上的 Red Hat OpenStack Services (RHOSO)中,确保警报定义中的查询与 PromQL 兼容。
流程
-
在查询中包含
server_group=<stack_id>,以仅选择堆栈中的实例。 -
ceilometer_cpu指标存储为自实例创建以来的总 CPU 时间的累计值。您可以使用 PromQLrate ()函数来仅在特定持续时间内查询指定 CPU 时间或 CPU 时间百分比值。在以前的 Red Hat OpenStack Platform (RHOSP)版本中,这不是自动的,但您现在可以自动计算查询的百分比。 -
您可以使用 PromQL
rate ()函数,如下所示:rate (ceilometer_cpu{server_group=<stack_id>}[<duration>])。为了避免不稳定的查询结果,请通过将 <ceilometer polling interval> 添加到 <prometheus scrape interval> 来计算 <duration>。 可选: 您可以使用
$ openstack metric query命令检查新查询返回的内容。确保您测试了查询。您可以检查仅查询相关堆栈中的实例,记下查询返回的指标值,并确保在警报定义中相应地设置阈值。autoscaling.yaml
47,49c50,53 < list_join: < - '' < - - {'=': {server_group: {get_param: "OS::stack_id"}}} --- > str_replace: > template: "(rate(ceilometer_cpu{server_group='stack_id'}[150s]))/10000000" > params: > stack_id: {get_param: OS::stack_id} 68,70c67,70 < list_join: < - '' < - - {'=': {server_group: {get_param: "OS::stack_id"}}} --- > str_replace: > template: "(rate(ceilometer_cpu{server_group='stack_id'}[150s]))/10000000" > params: > stack_id: {get_param: OS::stack_id}