【问题标题】:hawkular alert triggers do not fire鹰派警报触发器不触发
【发布时间】:2017-02-01 22:04:08
【问题描述】:

这是我的测试环境: - Hawkular 服务 0.30 - 在 VMWare 上运行的 Ubuntu 桌面 16.04.1 LTS - Apache Cassandra 3.9

我可以毫无错误地将数据发送到指标引擎,并且数据已正确存储。我用 grafana 插件和 csql cassandra 客户端检查了它。

我的问题是在尝试警报引擎时,没有触发触发器。我从 Quick Start Guide from Hawkular Services 中的第一个示例开始,即 ADD Metrics 点。

我可以创建触发器,我可以在cassandra store中看到它,我可以从rest api中恢复它,但是在发送满足条件的数据时它永远不会被触发。

我一直在尝试创建另一个租户、触发器类型、事件和警报、发送大量数据……但结果完全一样,触发器没有被触发。

我知道问题不在于转储配置,正如documentation中所说的那样

请注意,触发器的默认阻尼是 Strict(1)。哪个只是 意味着默认情况下,每次设置条件时都会触发触发器 计算结果为真。

触发器的代码就是这个。但我尝试过创建另一个,结果相同。

我知道电子邮件插件默认配置为使用 localhost:25 smtp 服务器,它没有安装在我的环境中。但我应该在日志中看到一些东西。至少按照文档中的说明执行的操作。澄清一下,这些日志不是来自我,而是来自文档。我还更改了 wildfly Standalone.xml 文件中的邮件配置,以使用我的 gmail 帐户及其 smtp 服务器,但没有再次收到邮件。

11:59:37,361 信息 [org.hawkular.alerts.actions.api] (Thread-251 (ActiveMQ-client-global-threads-1118700939)) HAWKALERT240001:插件 [电子邮件] 已收到一条操作消息: [BusActionMessage[action=Action[eventId='temperature-trigger-1472551176767-dc41aaf3-bdd7-4a89-a950-44dc92f10c8b', ctime=1472551176769,事件=警报 [alertId=温度触发器-1472551176767-dc41aaf3-bdd7-4a89-a950-44dc92f10c8b, 状态=打开,ackTime=0,ackBy=null,resolvedTime=0,resolvedBy=null, 上下文={}],结果='null']]] 11:59:37,385 信息 [org.hawkular.alerts.actions.api] (Thread-242 (ActiveMQ-client-global-threads-1118700939)) HAWKALERT240001:插件 [电子邮件] 已收到一条操作消息: [BusActionMessage[action=Action[eventId='temperature-trigger-1472551176770-300fda0d-2c82-46e3-9f09-f4e9ed4ffa3a', ctime=1472551176771,事件=警报 [alertId=温度触发器-1472551176770-300fda0d-2c82-46e3-9f09-f4e9ed4ffa3a, 状态=打开,ackTime=0,ackBy=null,resolvedTime=0,resolvedBy=null, 上下文={}],结果='null']]]

{
  "triggers": [
    {
      "trigger": {
        "id": "temperature-trigger",
        "name": "Trigger for the temperature sensor",
        "severity": "HIGH",
        "enabled": true,
        "actions": [
          {
            "actionPlugin": "email",
            "actionId": "notify-admin"
          }
        ]
      },
      "conditions": [
        {
          "triggerMode": "FIRING",
          "type": "threshold",
          "dataId": "temperature",
          "operator": "LT",
          "threshold": 0
        }
      ]
    }
  ],
  "actions": [
    {
      "actionPlugin": "email",
      "actionId": "notify-admin",
      "properties": {
        "to": "admin@example.org"
      }
    }
  ]
}

我想我错过了一些非常明显的东西,但我看不到它。

【问题讨论】:

  • 你能把你的触发器定义放在这里,让我们看看吗?但你所描述的确实看起来很奇怪。
  • 我刚刚在本地尝试使用 v0.30 并且警报触发器确实触发了,所以它似乎与操作设置有关(我没有这样做)。

标签: hawkular


【解决方案1】:

如果您从指标中提供数据,则条件上的 dataId 应该需要一个前缀来定义类型。

http://www.hawkular.org/blog/2016/10/06/hawkular-metrics-0.20.0.Final-released.html

因此,dataId = "temperature" 应该是 dataId = "hm_g_temperature" (如果温度定义是一个仪表)。

请告诉我们这是否是您问题的根本原因。

如果您需要进一步的帮助,您可以通过 #hawkular (Freenode) 联系我们。

谢谢。

【讨论】:

  • 就是这样!。非常感谢你。快速入门指南中没有提到前缀问题,但在博客条目中已完美解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多