1

This is my test environment: - Hawkular Services 0.30 - Ubuntu Desktop 16.04.1 LTS running over VMWare - Apache Cassandra 3.9

I can send data to the metrics engine without no error, and the data is correctly stored. I checked it against the grafana plugin and with the csql cassandra client.

My problem is when trying the alerting engine, triggers are not fired. I have started from the very first example in the Quick Start Guide from Hawkular Services, the ADD Metrics point.

I can create the trigger, and I can see it in the cassandra store, I can recover it from the rest api, but it is never fired when data meeting the conditions is sended.

I have been trying creating another tenants, kind of triggers, events and alerts, sending loads of data ... but the result is exactly the same, the trigger is not fired.

I know the problem is not in the dumpening configuration, as it is said in the documentation

Note that default dampening for triggers is Strict(1). Which just means that by default a trigger fires every time it’s condition set evaluates to true.

The code of the trigger is this one. But I have tried creating another ones, with same result.

I know the email plugin is default configured to use a localhost:25 smtp server, which it is not installed in my environment. But I should see something in the log. The actions executed, at least, as explained in the docs. Just to clarify, these logs are not from me, but from the documentation. I have also changed the mail configuration in the wildfly standalone.xml file, to use my gmail account and its smtp server, but no mail received again.

11:59:37,361 INFO [org.hawkular.alerts.actions.api] (Thread-251 (ActiveMQ-client-global-threads-1118700939)) HAWKALERT240001: Plugin [email] has received an action message: [BusActionMessage[action=Action[eventId='temperature-trigger-1472551176767-dc41aaf3-bdd7-4a89-a950-44dc92f10c8b', ctime=1472551176769, event=Alert [alertId=temperature-trigger-1472551176767-dc41aaf3-bdd7-4a89-a950-44dc92f10c8b, status=OPEN, ackTime=0, ackBy=null, resolvedTime=0, resolvedBy=null, context={}], result='null']]] 11:59:37,385 INFO [org.hawkular.alerts.actions.api] (Thread-242 (ActiveMQ-client-global-threads-1118700939)) HAWKALERT240001: Plugin [email] has received an action message: [BusActionMessage[action=Action[eventId='temperature-trigger-1472551176770-300fda0d-2c82-46e3-9f09-f4e9ed4ffa3a', ctime=1472551176771, event=Alert [alertId=temperature-trigger-1472551176770-300fda0d-2c82-46e3-9f09-f4e9ed4ffa3a, status=OPEN, ackTime=0, ackBy=null, resolvedTime=0, resolvedBy=null, context={}], result='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"
      }
    }
  ]
}

I think I am missing something really very obvius, but I can't see it.

4

1 回答 1

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) 联系我们。

谢谢。

于 2017-02-03T08:59:47.263 回答