Hawkular Alerts 0.6.0.Final has been Released!
* Event Support
This major new feature incorporates Events into Hawkular Alerts. Events:
* Are more lightweight than Alerts
* Record things of interest
* Can be injected via an API call
* Can be generated via a Trigger
* Can have actions performed on them (for Trigger-generated Events)
* Can be used as Trigger conditions
For more on Events there is some general information here (more to come):
And Lucas provides some great examples here:
* WebHooks Action Plugin
Hawkular Alerts 0.6.0.Final introduces a new Action plugin for WebHook
There have been some changes to the REST endpoints as we refine the model.
Of course there are fixes and minor enhancements as well. A Jira
Summary for the release is here:
The next scheduled release is 0.7.0, targeted for December 9, 2015.
Hawkular Alerts Team
Jay Shaughnessy (jshaughn(a)redhat.com)
Lucas Ponce (lponce(a)redhat.com)
Hi *, esp. Lukáš,
Having org.hawkular.inventory.api.model.CanonicalPath in a separate
maven module inside Hawkular Commons git repo would make the life easier
for both Alerts and Command Gateway.
For both Alerts and Command Gateway, CanonicalPath is the only class
they need from Inventory. If CanonicalPath was hosted in Commons, both
Alerts and Command Gateway could stop maintaining any dependency on
Inventory and the overall dependency graph  could thus be made simpler.
Lukáš, I remember I asked about this earlier, but do not precisely
remember what was your reason for the denial?
this was already discussed on several calls. Although I know of no
objections, I am putting it also here to give you all the last chance to
protest or discuss.
The plan is to move the Maven modules from Nest  and Bus  git
repositories to Commons repository .
* Nest and Bus Maven modules will be moved to Hawkular Commons git
* Nest and Bus Maven modules will belong to groupId org.hawkular.commons
* All modules of the org.hawkular.commons incl. Nest and Bus will be
* The new and old subcomponents of Commons (such as Nest, Bus,
Templates, c* driver, ...) will be allowed to depend on each other,
but clearly, they may not introduce circular dependencies.
* To help to keep control on which subcomponent depends on which other
subcomponents, the dependency management will happen on
the subcomponent level rather than in hawkular-commons-parent
* Components consuming Nest, Bus or any of the other subcomponents of
Hawkular Commons will have to declare just one version property
version.org.hawkular.commons to manage all the the artifacts they
need from commons
* As noted by Stefan, only such subcomponents should be allowed to be
hosted in Commons that are generic enough -i.e. that do not contain
any deep and specific domain knowledge. Move of Bus and Nest to
commons satisfies this.
* Decrease the maintenance overhead by decreasing the number of git
repositories and by decreasing the number of Hawkular components
having independent release cycles - e.g. after a new release of
Hawkular Parent there is two component less to upgrade, two componets
less to release and n components less to upgrade that depend on Bus
* Loose some amount of design cleanness - Hawkular Commons hosts Maven
modules with clean logical borders that could be hosted and released
* Esp. the independent release cycle could be seen as an
advantage when fixing bugs and CVEs
* Note that the new home of Nest and Bus does not prescribe any
component that consumed Commons so far to consume also Nest and Bus
from now on. Dependent components can still choose the artifacts to
depend on with an unchanged granularity: Who dependeded on embedded
c* so far can stay with it without depending on Bus or Nest.
I am going to work on this change now.
The Hawkular WildFly Agent can now remove resources from inventory. Today, you can remove datasources and jdbc drivers and (I think) deployments (though I actually haven't tested deployments yet). I just tested the removal of a datasource from the UI and it worked (though, has anyone noticed the websocket connectivity is flaky in the UI? sometimes it works, sometimes it doesn't).
The agent is getting in much better shape now. In prior releases of the agent, if anything changed in inventory (like a resource configuration property changed its value or a new resource was added, or a resource was removed) you had to restart the agent to pick up the change. Now the agent has auto-discovery scans running periodically and can discovery and update inventory on the fly. In addition, I made the inventory management more efficient - each full scan will now only tell Hawkular-Inventory about things that changed since the last time the agent sent up inventory - so if you perform a scan every 10 minutes but nothing changes, nothing will go to hawkular-inventory (before, the agent would always send everything all over again even if nothing changed).
I released the agent with all these enhancements - 0.15.1.Final. Hopefully people will get a chance to beat on it and tell me what I broke :)
OK, *now* I'll start my vacation. :)
I think I finally got the agent working much better than before. In the past:
1) the agent would scan for inventory and once it got that inventory, that was it. It could never detect any new resources unless you restarted it
2) the agent would never detect changes to resource configuration properties even for resources it found on the original scan
I think I fixed both now. The agent will scan periodically for new resources and add them to hawkular-inventory when it finds them. It will also detect if existing resources changed their resource configuration, if so, it will send those changed resources to hawkular-inventory. I also fixed it where it will no longer send the ENTIRE inventory EVERY scan. The agent will only send resources to inventory that are new or changed to the agent.
All of this is in master. I wanted to release the agent with this new stuff, but I need h-inventory to do a release first (agent and command-gateway have srcdep dependencies on it).
I'd like to ask about the policy we want to use for the versioning schema. I've raised a PR  that will check the project version and fails the build if it's wrong. This should catch the releases with malformed versions. It's aligned with the JBoss project versioning , however, it's not clear how to use the "-SNAPSHOT" suffix. Peter has a good point in the PR comment that some use the x.y.z.Final-SNAPSHOT (final can be also AlphaN, BetaN and CRN) and some x.y.z-SNAPSHOT and when releasing, we add the Final/Alpha, etc.
Looking into wildfly repo, they use the former method. Is this what we want? I personally consider the latter method more natural and we use it in the inventory, despite the fact the hawkular/hawkular uses the x.y.z.AlphaN-SNAPSHOT.
came along that tweet:
Suppose this happens and we did record that the update was
end of week 48 we could in an alert not only say "value X too high" 
but also deduct that this is most likely due to the update.
 Currently this depends on having an alert trigger correctly
defined to alert if the value goes above the max of week 45..48.
We may want to have alerts figure this out automatically via the
data analysis from Pavol.
I just released the wildfly agent (0.13.7.Final) and I just realized I may not have moved things up to the latest releases of its dependencies.
It would be really nice now if we had something (even if its just versions in the parent pom) that defines the latest releases that components should be using because right now, how many of our pom.xml files have things like this:
It would be nice if we aren't required to set these (but we could override them, right? if we want to try out a different version than what the parent pom defines).
This would make releasing easier. We just comment out all the <version...> entries in all our pom.xml files (if they are there at all), thus falling back to what the parent-pom has defined. Or maybe we build a bom?? I dunno - all I know is, there is going to come a time when something breaks because "uh-oh, this component built on version x.y.z of metrics, but THIS component built on version a.b.c of metrics".