如何强制立即触发 aodh 警报操作?
How to force trigger aodh alarm action immediately?
我有一个 Openstack Aodh 警报,当内存使用率大于 85% 并持续一分钟时,它会启动操作。现在我想立即触发动作,手动,这意味着即使条件没有达到限制也强制启动警报动作,但是如何?
根据 docs,我尝试将 Aodh 警报的状态设置为 alarm
,但它没有用,它评估了内存使用情况并且什么都不做(因为它小于 85%),然后再次将状态设置回 ok
。
有什么方法可以强制触发 Aodh 警报动作?如果有任何帮助,我将不胜感激。
以下是我的 Aodh 警报的部分内容:
aggregation_method: mean
alarm_actions: [u'trust+http://192.168.0.100:8004/v1/284e047522bd4adfa3aa5109f1c7513b/stacks/corey_test/d9915fd3-5086-4d38-971b-2694c41e8099/resources/rdgw_scaleup_policy/signal']
alarm_id: e6402673-9a8e-4745-a8df-699edd6ab57a
comparison_operator: gt
enabled: True
evaluation_periods: 1
granularity: 60
metric: memory_util
ok_actions: []
repeat_actions: True
resource_type: instance
severity: low
state: ok
state_reason: Transition to ok due to 1 samples inside threshold, most recent: 11.0
threshold: 85.0
type: gnocchi_aggregation_by_resources_threshold
更新 2020/11/04
我唯一想到的是暂时降低阈值和 evalution_periods(例如:threshold:1、periods:1),这将强制警报开始缩放,之后创建新实例,恢复阈值和 evalution_periods 值。它有效,但我认为这不是最好的方法。
警报操作是 AFAIU 只是 HTTP POSTs 到 'alarm_actions' 中列出的 URLs,所以你可以自己做(前提是你有权访问那个 URL).
在您的特定情况下,这显然是 Heat 堆栈缩放操作。您应该能够使 HTTP POST 适当地类似于 URL - 将 trust+https://<host>:<port>
部分替换为 public Heat 端点(openstack catalog show orchestration
)并添加有效的 Keystone 令牌请求 header.
或者,对于 Heat 堆栈扩展,您可以使用 openstack stack resource signal
命令(它实际上执行相同的 REST 调用,只是帮助您进行身份验证和端点发现)- 堆栈 ID 和资源名称是可见的在 URL 中,所以在你的情况下它将是 openstack stack resource signal d9915fd3-5086-4d38-971b-2694c41e8099 rdgw_scaleup_policy
我有一个 Openstack Aodh 警报,当内存使用率大于 85% 并持续一分钟时,它会启动操作。现在我想立即触发动作,手动,这意味着即使条件没有达到限制也强制启动警报动作,但是如何?
根据 docs,我尝试将 Aodh 警报的状态设置为 alarm
,但它没有用,它评估了内存使用情况并且什么都不做(因为它小于 85%),然后再次将状态设置回 ok
。
有什么方法可以强制触发 Aodh 警报动作?如果有任何帮助,我将不胜感激。
以下是我的 Aodh 警报的部分内容:
aggregation_method: mean
alarm_actions: [u'trust+http://192.168.0.100:8004/v1/284e047522bd4adfa3aa5109f1c7513b/stacks/corey_test/d9915fd3-5086-4d38-971b-2694c41e8099/resources/rdgw_scaleup_policy/signal']
alarm_id: e6402673-9a8e-4745-a8df-699edd6ab57a
comparison_operator: gt
enabled: True
evaluation_periods: 1
granularity: 60
metric: memory_util
ok_actions: []
repeat_actions: True
resource_type: instance
severity: low
state: ok
state_reason: Transition to ok due to 1 samples inside threshold, most recent: 11.0
threshold: 85.0
type: gnocchi_aggregation_by_resources_threshold
更新 2020/11/04
我唯一想到的是暂时降低阈值和 evalution_periods(例如:threshold:1、periods:1),这将强制警报开始缩放,之后创建新实例,恢复阈值和 evalution_periods 值。它有效,但我认为这不是最好的方法。
警报操作是 AFAIU 只是 HTTP POSTs 到 'alarm_actions' 中列出的 URLs,所以你可以自己做(前提是你有权访问那个 URL).
在您的特定情况下,这显然是 Heat 堆栈缩放操作。您应该能够使 HTTP POST 适当地类似于 URL - 将 trust+https://<host>:<port>
部分替换为 public Heat 端点(openstack catalog show orchestration
)并添加有效的 Keystone 令牌请求 header.
或者,对于 Heat 堆栈扩展,您可以使用 openstack stack resource signal
命令(它实际上执行相同的 REST 调用,只是帮助您进行身份验证和端点发现)- 堆栈 ID 和资源名称是可见的在 URL 中,所以在你的情况下它将是 openstack stack resource signal d9915fd3-5086-4d38-971b-2694c41e8099 rdgw_scaleup_policy