Change in ovirt-engine[master]: core: Monitor action executions with hystrix

mperina at redhat.com mperina at redhat.com
Wed Jun 29 13:50:52 UTC 2016


Martin Peřina has submitted this change and it was merged.

Change subject: core: Monitor action executions with hystrix
......................................................................


core: Monitor action executions with hystrix

Wrap all action executions into synchronous hystrix commands.
This allows easy live monitoring of all actions.

The hystrix event stream servlet is listening on

  http://<host>/ovirt-engine/services/hystrix.stream

Hystrix monitoring is disabled by default. It first needs to be enabled with

   engine-setup -s HystrixMonitoringEnabled=true

and a restart of the engine is required.

Afterwards it can be controlled with JMX MXBean methods:

  HystrixCommandController#monitor*('true')

Also more fine grained control on which commands should be monitored is
possible in the JMX bean.

To get a nice monitoring dashboard use hystrix-dashboard and point it to
the hystrix stream url. The url is protected with basic auth, like the
rest api. Hystrix dashboard requires the basic auth parameters to be
provided in encoded form. If your credentials are admin at internal:engine
you have to provide 'Basic YWRtaW5AaW50ZXJuYWw6ZW5naW5l'

Benefits are:

 * Easier verification while implementing features, because failing
   commands are immediately visible on the dashboard.
 * Easier verification for QA because of the same reason.
 * Immediate insights in what is going on inside the application for our
   solution architects and support when customers are facing problems.

Bug-Url: https://bugzilla.redhat.com/1347628
Change-Id: Ie2d70707b6f5d72fdcf8457ea74fad30c75d7170
Signed-off-by: Roman Mohr <rmohr at redhat.com>
---
M backend/manager/dependencies/common/pom.xml
A backend/manager/dependencies/common/src/main/modules/com/netflix/config/main/module.xml
A backend/manager/dependencies/common/src/main/modules/com/netflix/hystrix/contrib/main/module.xml
A backend/manager/dependencies/common/src/main/modules/com/netflix/hystrix/main/module.xml
A backend/manager/dependencies/common/src/main/modules/io/reactivex/rxjava/main/module.xml
M backend/manager/modules/bll/pom.xml
M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/BackendActionExecutor.java
A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/BackendActionExecutorFactory.java
A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/BackendQueryExecutor.java
A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/CommandControllerMXBean.java
A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/DefaultBackendActionExecutor.java
A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/DefaultBackendQueryExecutor.java
A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/HystrixBackendActionExecutor.java
A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/HystrixCommandController.java
A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/executor/HystrixSettings.java
M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java
M backend/manager/modules/common/src/main/modules/org/ovirt/engine/core/common/main/module.xml
M backend/manager/modules/services/pom.xml
A backend/manager/modules/services/src/main/java/org/ovirt/engine/core/services/HystrixServlet.java
M backend/manager/modules/services/src/main/webapp/WEB-INF/web.xml
A backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/executor/CommandController.java
M backend/manager/modules/vdsbroker/pom.xml
M ear/src/main/application/META-INF/jboss-deployment-structure.xml
M ovirt-engine.spec.in
M packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql
M packaging/etc/engine-config/engine-config.properties
M pom.xml
28 files changed, 535 insertions(+), 4 deletions(-)

Approvals:
  Roman Mohr: Verified
  Jenkins CI: Passed CI tests
  Roy Golan: Looks good to me, approved



-- 
To view, visit https://gerrit.ovirt.org/46890
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie2d70707b6f5d72fdcf8457ea74fad30c75d7170
Gerrit-PatchSet: 32
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Roman Mohr <rmohr at redhat.com>
Gerrit-Reviewer: Arik Hadas <ahadas at redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Martin Peřina <mperina at redhat.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek at redhat.com>
Gerrit-Reviewer: Moti Asayag <masayag at redhat.com>
Gerrit-Reviewer: Oved Ourfali <oourfali at redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski at gmail.com>
Gerrit-Reviewer: Ravi Nori <rnori at redhat.com>
Gerrit-Reviewer: Roman Mohr <rmohr at redhat.com>
Gerrit-Reviewer: Roy Golan <rgolan at redhat.com>
Gerrit-Reviewer: Sandro Bonazzola <sbonazzo at redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation at ovirt.org>



More information about the Engine-commits mailing list