【问题标题】:How to force trigger aodh alarm action immediately?如何立即强制触发 aodh 警报动作?
【发布时间】:2020-11-04 16:26:29
【问题描述】:

我有一个 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 月 4 日更新

我唯一想到的是暂时降低阈值和评估周期(例如:阈值:1,周期:1),这将强制警报开始扩展,在创建新实例后,恢复阈值并evalution_periods 值返回。它有效,但我认为这不是最好的方法。

【问题讨论】:

    标签: openstack autoscaling


    【解决方案1】:

    警报操作是 AFAIU 只是对“alarm_actions”中列出的 URL 的 HTTP POST,因此您可以自己执行(前提是您有权访问该 URL)。

    在您的特定情况下,这显然是一个热堆栈缩放操作。您应该能够将 HTTP POST 发送到适当相似的 URL - 将 trust+https://<host>:<port> 部分替换为公共 Heat 端点 (openstack catalog show orchestration) 并将有效的 Keystone 令牌添加到请求标头。

    或者,对于 Heat 堆栈扩展,您可以使用 openstack stack resource signal 命令(有效地执行相同的 REST 调用,只是帮助您进行身份验证和端点发现) - 堆栈 ID 和资源名称在 URL 中可见,所以在你的情况下,它将是openstack stack resource signal d9915fd3-5086-4d38-971b-2694c41e8099 rdgw_scaleup_policy

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多